krpctools 0.5.0__zip → 0.5.4__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. {krpctools-0.5.0 → krpctools-0.5.4}/CHANGES.txt +6 -0
  2. {krpctools-0.5.0 → krpctools-0.5.4}/COPYING +4 -4
  3. {krpctools-0.5.0 → krpctools-0.5.4}/LICENSE +1 -1
  4. {krpctools-0.5.0 → krpctools-0.5.4}/PKG-INFO +1 -1
  5. krpctools-0.5.4/VERSION.txt +1 -0
  6. krpctools-0.5.4/krpctools/bin/Google.Protobuf.dll +0 -0
  7. krpctools-0.5.4/krpctools/bin/KRPC.Core.dll +0 -0
  8. krpctools-0.5.0/krpctools/bin/KRPC.xml → krpctools-0.5.4/krpctools/bin/KRPC.Core.xml +1166 -1427
  9. krpctools-0.5.4/krpctools/bin/KRPC.IO.Ports.dll +0 -0
  10. krpctools-0.5.4/krpctools/bin/Newtonsoft.Json.dll +0 -0
  11. krpctools-0.5.4/krpctools/bin/ServiceDefinitions.exe +0 -0
  12. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/bin/System.Core.dll +0 -0
  13. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/bin/System.Xml.dll +0 -0
  14. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/bin/System.dll +0 -0
  15. krpctools-0.5.4/krpctools/bin/TestServer-0.5.4.zip +0 -0
  16. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/bin/mscorlib.dll +0 -0
  17. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/generator.py +3 -0
  18. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/python.py +118 -39
  19. krpctools-0.5.4/krpctools/clientgen/python.tmpl +289 -0
  20. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/cnano.tmpl +2 -8
  21. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/cpp.tmpl +2 -8
  22. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/java.tmpl +2 -8
  23. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/nodes.py +3 -1
  24. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/python.tmpl +2 -8
  25. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/lang/python.py +8 -4
  26. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/servicedefs/__init__.py +15 -2
  27. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/TestService.json +42 -2
  28. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/clientgen-TestService-cnano.txt +34 -0
  29. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/clientgen-TestService-cpp.txt +45 -0
  30. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/clientgen-TestService-csharp.txt +21 -0
  31. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/clientgen-TestService-java.txt +35 -0
  32. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/clientgentest.py +6 -0
  33. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-TestService-cnano.rst +61 -49
  34. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-TestService-cpp.rst +61 -49
  35. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-TestService-csharp.rst +12 -0
  36. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-TestService-java.rst +62 -49
  37. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-TestService-lua.rst +14 -0
  38. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-TestService-python.rst +66 -92
  39. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgentest.py +1 -1
  40. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/utils.py +2 -2
  41. krpctools-0.5.4/krpctools/version.py +1 -0
  42. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools.egg-info/PKG-INFO +1 -1
  43. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools.egg-info/SOURCES.txt +4 -3
  44. krpctools-0.5.0/VERSION.txt +0 -1
  45. krpctools-0.5.0/krpctools/bin/Google.Protobuf.dll +0 -0
  46. krpctools-0.5.0/krpctools/bin/KRPC.dll +0 -0
  47. krpctools-0.5.0/krpctools/bin/Newtonsoft.Json.dll +0 -0
  48. krpctools-0.5.0/krpctools/bin/ServiceDefinitions.exe +0 -0
  49. krpctools-0.5.0/krpctools/bin/TestServer-0.5.0.zip +0 -0
  50. krpctools-0.5.0/krpctools/clientgen/python.tmpl +0 -111
  51. krpctools-0.5.0/krpctools/version.py +0 -1
  52. {krpctools-0.5.0 → krpctools-0.5.4}/MANIFEST.in +0 -0
  53. {krpctools-0.5.0 → krpctools-0.5.4}/README.txt +0 -0
  54. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/__init__.py +0 -0
  55. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/bin/NDesk.Options.dll +0 -0
  56. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/bin/System.IO.dll +0 -0
  57. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/bin/System.Runtime.dll +0 -0
  58. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/__init__.py +0 -0
  59. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/cnano.py +0 -0
  60. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/cnano.tmpl +0 -0
  61. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/cpp.py +0 -0
  62. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/cpp.tmpl +0 -0
  63. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/csharp.py +0 -0
  64. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/csharp.tmpl +0 -0
  65. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/docparser.py +0 -0
  66. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/java.py +0 -0
  67. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/clientgen/java.tmpl +0 -0
  68. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/__init__.py +0 -0
  69. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/cnano.py +0 -0
  70. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/cpp.py +0 -0
  71. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/csharp.py +0 -0
  72. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/csharp.tmpl +0 -0
  73. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/docgen.py +0 -0
  74. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/domain.py +0 -0
  75. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/extensions.py +0 -0
  76. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/java.py +0 -0
  77. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/lua.py +0 -0
  78. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/lua.tmpl +0 -0
  79. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/python.py +0 -0
  80. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/docgen/utils.py +0 -0
  81. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/lang/__init__.py +0 -0
  82. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/lang/cnano.py +0 -0
  83. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/lang/cpp.py +0 -0
  84. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/lang/csharp.py +0 -0
  85. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/lang/java.py +0 -0
  86. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/lang/language.py +0 -0
  87. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/lang/lua.py +0 -0
  88. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/Empty.json +0 -0
  89. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/__init__.py +0 -0
  90. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/clientgen-Empty-cnano.txt +0 -0
  91. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/clientgen-Empty-cpp.txt +0 -0
  92. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/clientgen-Empty-csharp.txt +0 -0
  93. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/clientgen-Empty-java.txt +0 -0
  94. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-Empty-cnano.rst +0 -0
  95. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-Empty-cpp.rst +0 -0
  96. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-Empty-csharp.rst +0 -0
  97. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-Empty-java.rst +0 -0
  98. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-Empty-lua.rst +0 -0
  99. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/docgen-Empty-python.rst +0 -0
  100. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/test_clientgen_cnano.py +0 -0
  101. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/test_clientgen_cpp.py +0 -0
  102. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/test_clientgen_csharp.py +0 -0
  103. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/test_clientgen_java.py +0 -0
  104. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/test_docgen_cnano.py +0 -0
  105. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/test_docgen_cpp.py +0 -0
  106. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/test_docgen_csharp.py +0 -0
  107. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/test_docgen_java.py +0 -0
  108. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/test_docgen_lua.py +0 -0
  109. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools/test/test_docgen_python.py +0 -0
  110. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools.egg-info/dependency_links.txt +0 -0
  111. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools.egg-info/entry_points.txt +0 -0
  112. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools.egg-info/requires.txt +0 -0
  113. {krpctools-0.5.0 → krpctools-0.5.4}/krpctools.egg-info/top_level.txt +0 -0
  114. {krpctools-0.5.0 → krpctools-0.5.4}/setup.cfg +0 -0
  115. {krpctools-0.5.0 → krpctools-0.5.4}/setup.py +0 -0
@@ -1,1301 +1,1250 @@
1
1
  <?xml version="1.0"?>
2
2
  <doc>
3
3
  <assembly>
4
- <name>KRPC</name>
4
+ <name>KRPC.Core</name>
5
5
  </assembly>
6
6
  <members>
7
- <member name="T:KRPC.Addon">
7
+ <member name="T:KRPC.Configuration">
8
8
  <summary>
9
- Main KRPC addon. Contains the kRPC core, config and UI.
9
+ kRPC configuration options
10
10
  </summary>
11
11
  </member>
12
- <member name="P:KRPC.Addon.Instance">
12
+ <member name="P:KRPC.Configuration.Instance">
13
13
  <summary>
14
- The instance of the addon
14
+ Returns the static configuration instance
15
15
  </summary>
16
16
  </member>
17
- <member name="M:KRPC.Addon.Awake">
17
+ <member name="T:KRPC.Configuration.Server">
18
18
  <summary>
19
- Called whenever a scene change occurs. Ensures the server has been initialized,
20
- (re)creates the UI, and shuts down the server in the main menu.
19
+ Per-server configuration options
21
20
  </summary>
22
21
  </member>
23
- <member name="M:KRPC.Addon.OnDestroy">
22
+ <member name="P:KRPC.Configuration.Server.Id">
24
23
  <summary>
25
- Destroy the UI.
24
+ Identifier of the server
26
25
  </summary>
27
26
  </member>
28
- <member name="M:KRPC.Addon.OnApplicationQuit">
27
+ <member name="P:KRPC.Configuration.Server.Name">
29
28
  <summary>
30
- Stop the server if running
29
+ Name of the server
31
30
  </summary>
32
31
  </member>
33
- <member name="M:KRPC.Addon.OnGUI">
32
+ <member name="P:KRPC.Configuration.Server.Protocol">
34
33
  <summary>
35
- GUI update
34
+ Protocol the server uses
36
35
  </summary>
37
36
  </member>
38
- <member name="M:KRPC.Addon.FixedUpdate">
37
+ <member name="P:KRPC.Configuration.Server.Settings">
39
38
  <summary>
40
- Trigger server update
39
+ Additional configration settings, specific to the protocol.
41
40
  </summary>
42
41
  </member>
43
- <member name="P:KRPC.Addon.IsPaused">
42
+ <member name="M:KRPC.Configuration.Server.#ctor">
44
43
  <summary>
45
- Whether the game is paused
44
+ Construct default settings for a server
46
45
  </summary>
47
46
  </member>
48
- <member name="M:KRPC.Addon.Update">
47
+ <member name="M:KRPC.Configuration.Server.Create">
49
48
  <summary>
50
- Trigger server update, when the game is paused
49
+ Create a server instance from this configuration
51
50
  </summary>
52
51
  </member>
53
- <member name="T:KRPC.KRPCCore">
52
+ <member name="P:KRPC.Configuration.Servers">
54
53
  <summary>
55
- Deprecated. See <see cref="T:KRPC.Core" />
54
+ Configuration for all of the servers
56
55
  </summary>
57
56
  </member>
58
- <member name="T:KRPC.KRPCCore.Context">
57
+ <member name="M:KRPC.Configuration.GetServer(System.Guid)">
59
58
  <summary>
60
- Deprecated. See <see cref="T:KRPC.Service.CallContext" />
59
+ Get the server configuration with the given identifier
61
60
  </summary>
62
61
  </member>
63
- <member name="P:KRPC.KRPCCore.Context.RPCClient">
62
+ <member name="M:KRPC.Configuration.ReplaceServer(KRPC.Configuration.Server)">
64
63
  <summary>
65
- The current client
64
+ Replace the server configuration with the given identifier
66
65
  </summary>
67
66
  </member>
68
- <member name="P:KRPC.KRPCCore.Context.GameScene">
67
+ <member name="M:KRPC.Configuration.RemoveServer(System.Guid)">
69
68
  <summary>
70
- The current game scene
69
+ Remove the server configuration with the given identifier
71
70
  </summary>
72
71
  </member>
73
- <member name="M:KRPC.Configuration.Server.Create">
72
+ <member name="P:KRPC.Configuration.MainWindowVisible">
74
73
  <summary>
75
- Create a server instance from this configuration
74
+ Whether the main server window should be shown
76
75
  </summary>
77
76
  </member>
78
- <member name="T:KRPC.Continuations.Continuation`1">
77
+ <member name="P:KRPC.Configuration.MainWindowPosition">
79
78
  <summary>
80
- A continuation that returns a result of type T
79
+ Screen position of the main server window
81
80
  </summary>
82
81
  </member>
83
- <member name="M:KRPC.Continuations.Continuation`1.Run">
82
+ <member name="P:KRPC.Configuration.InfoWindowVisible">
84
83
  <summary>
85
- Run the continuation and return the result.
84
+ Whether the info window should be shown
86
85
  </summary>
87
86
  </member>
88
- <member name="M:KRPC.Continuations.Continuation`1.RunUntyped">
87
+ <member name="P:KRPC.Configuration.InfoWindowPosition">
89
88
  <summary>
90
- Run the continuation and return the result.
89
+ Screen position of the info window
91
90
  </summary>
92
91
  </member>
93
- <member name="T:KRPC.Continuations.Continuation">
92
+ <member name="P:KRPC.Configuration.AutoStartServers">
94
93
  <summary>
95
- A continuation that does not return a value
94
+ Whether servers should be started when the game loads
96
95
  </summary>
97
96
  </member>
98
- <member name="M:KRPC.Continuations.Continuation.Run">
97
+ <member name="P:KRPC.Configuration.AutoAcceptConnections">
99
98
  <summary>
100
- Run the continuation and return the result.
99
+ Whether new client connections should be allowed without user confirmation
101
100
  </summary>
102
101
  </member>
103
- <member name="M:KRPC.Continuations.Continuation.RunUntyped">
102
+ <member name="P:KRPC.Configuration.ConfirmRemoveClient">
104
103
  <summary>
105
- Run the continuation and return the result.
104
+ Whether to confirm with the user before removing client connections
106
105
  </summary>
107
106
  </member>
108
- <member name="T:KRPC.Continuations.IContinuation">
107
+ <member name="P:KRPC.Configuration.PauseServerWithGame">
109
108
  <summary>
110
- A continuation
109
+ Whether the server update loop should be paused along with the game
111
110
  </summary>
112
111
  </member>
113
- <member name="M:KRPC.Continuations.IContinuation.RunUntyped">
112
+ <member name="P:KRPC.Configuration.VerboseErrors">
114
113
  <summary>
115
- Run the continuation and return the result.
114
+ Whether to write verbose error messages to the log
116
115
  </summary>
117
116
  </member>
118
- <member name="T:KRPC.Continuations.ParameterizedContinuation`1">
117
+ <member name="P:KRPC.Configuration.OneRPCPerUpdate">
119
118
  <summary>
120
- A continuation wrapping a function that takes 0 arguments and returns a result.
119
+ Whether to execute a single RPCs per frame, or multiple up to the time limit
121
120
  </summary>
122
121
  </member>
123
- <member name="T:KRPC.Continuations.ParameterizedContinuation`1.Fn">
122
+ <member name="P:KRPC.Configuration.MaxTimePerUpdate">
124
123
  <summary>
125
- Delegate used to invoke the continuation.
124
+ Maximum amount of time to spend executing RPCs per frame
126
125
  </summary>
127
126
  </member>
128
- <member name="M:KRPC.Continuations.ParameterizedContinuation`1.#ctor(KRPC.Continuations.ParameterizedContinuation{`0}.Fn)">
127
+ <member name="P:KRPC.Configuration.AdaptiveRateControl">
129
128
  <summary>
130
- Create a continuation from a delegate and its arguments.
129
+ Whether adaptive rate control is enabled
131
130
  </summary>
132
131
  </member>
133
- <member name="M:KRPC.Continuations.ParameterizedContinuation`1.Run">
132
+ <member name="P:KRPC.Configuration.BlockingRecv">
134
133
  <summary>
135
- Invoke the continuation delegate with the stored arguments, and return the result.
134
+ Whether blocking receives are enabled
136
135
  </summary>
137
136
  </member>
138
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid">
137
+ <member name="P:KRPC.Configuration.RecvTimeout">
139
138
  <summary>
140
- A continuation wrapping a function that takes 0 arguments, but does not return a result.
139
+ Timeout when waiting for data from a client
141
140
  </summary>
142
141
  </member>
143
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid.Fn">
142
+ <member name="P:KRPC.Configuration.DebugLogging">
144
143
  <summary>
145
- Delegate used to invoke the continuation.
144
+ Whether debug logging is enable
146
145
  </summary>
147
146
  </member>
148
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid.#ctor(KRPC.Continuations.ParameterizedContinuationVoid.Fn)">
147
+ <member name="T:KRPC.Core">
149
148
  <summary>
150
- Create a continuation from a delegate and its arguments.
149
+ The kRPC core, which manages the execution of remote procedures,
150
+ bridging the gap between servers and services. Also stores the configuration.
151
+ This class is a singleton. The instance can be obtained via the <see cref="P:KRPC.Core.Instance" /> property.
151
152
  </summary>
152
153
  </member>
153
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid.Run">
154
+ <member name="P:KRPC.Core.Servers">
154
155
  <summary>
155
- Invoke the continuation delegate with the stored arguments.
156
+ The servers.
156
157
  </summary>
157
158
  </member>
158
- <member name="T:KRPC.Continuations.ParameterizedContinuation`2">
159
+ <member name="P:KRPC.Core.Instance">
159
160
  <summary>
160
- A continuation wrapping a function that takes 1 arguments and returns a result.
161
+ Get the core instance
161
162
  </summary>
162
163
  </member>
163
- <member name="T:KRPC.Continuations.ParameterizedContinuation`2.Fn">
164
+ <member name="E:KRPC.Core.OnServerStarted">
164
165
  <summary>
165
- Delegate used to invoke the continuation.
166
+ Event triggered when a server starts
166
167
  </summary>
167
168
  </member>
168
- <member name="M:KRPC.Continuations.ParameterizedContinuation`2.#ctor(KRPC.Continuations.ParameterizedContinuation{`0,`1}.Fn,`1)">
169
+ <member name="E:KRPC.Core.OnServerStopped">
169
170
  <summary>
170
- Create a continuation from a delegate and its arguments.
171
+ Event triggered when a server stops
171
172
  </summary>
172
173
  </member>
173
- <member name="M:KRPC.Continuations.ParameterizedContinuation`2.Run">
174
+ <member name="E:KRPC.Core.OnClientRequestingConnection">
174
175
  <summary>
175
- Invoke the continuation delegate with the stored arguments, and return the result.
176
+ Event triggered when an RPC client is requesting a connection
176
177
  </summary>
177
178
  </member>
178
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`1">
179
+ <member name="E:KRPC.Core.OnClientConnected">
179
180
  <summary>
180
- A continuation wrapping a function that takes 1 arguments, but does not return a result.
181
+ Event triggered when a RPC client has connected
181
182
  </summary>
182
183
  </member>
183
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`1.Fn">
184
+ <member name="E:KRPC.Core.OnClientDisconnected">
184
185
  <summary>
185
- Delegate used to invoke the continuation.
186
+ Event triggered when a RPC client has disconnected
186
187
  </summary>
187
188
  </member>
188
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`1.#ctor(KRPC.Continuations.ParameterizedContinuationVoid{`0}.Fn,`0)">
189
+ <member name="P:KRPC.Core.RPCClients">
189
190
  <summary>
190
- Create a continuation from a delegate and its arguments.
191
+ Get a list of all RPC clients connected to the server.
191
192
  </summary>
192
193
  </member>
193
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`1.Run">
194
+ <member name="P:KRPC.Core.StreamClients">
194
195
  <summary>
195
- Invoke the continuation delegate with the stored arguments.
196
+ Get a list of all Stream clients connected to the server.
196
197
  </summary>
197
198
  </member>
198
- <member name="T:KRPC.Continuations.ParameterizedContinuation`3">
199
+ <member name="E:KRPC.Core.OnClientActivity">
199
200
  <summary>
200
- A continuation wrapping a function that takes 2 arguments and returns a result.
201
+ Event triggered when a client performs some activity
201
202
  </summary>
202
203
  </member>
203
- <member name="T:KRPC.Continuations.ParameterizedContinuation`3.Fn">
204
+ <member name="M:KRPC.Core.Add(KRPC.Server.Server)">
204
205
  <summary>
205
- Delegate used to invoke the continuation.
206
+ Add a server to the core.
206
207
  </summary>
207
208
  </member>
208
- <member name="M:KRPC.Continuations.ParameterizedContinuation`3.#ctor(KRPC.Continuations.ParameterizedContinuation{`0,`1,`2}.Fn,`1,`2)">
209
+ <member name="M:KRPC.Core.Remove(System.Guid)">
209
210
  <summary>
210
- Create a continuation from a delegate and its arguments.
211
+ Remove a server from the core.
211
212
  </summary>
212
213
  </member>
213
- <member name="M:KRPC.Continuations.ParameterizedContinuation`3.Run">
214
+ <member name="M:KRPC.Core.Replace(KRPC.Server.Server)">
214
215
  <summary>
215
- Invoke the continuation delegate with the stored arguments, and return the result.
216
+ Replace a server object. The object is matched using the id of the replacement.
216
217
  </summary>
217
218
  </member>
218
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`2">
219
+ <member name="M:KRPC.Core.StartAll">
219
220
  <summary>
220
- A continuation wrapping a function that takes 2 arguments, but does not return a result.
221
+ Start all servers.
221
222
  </summary>
222
223
  </member>
223
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`2.Fn">
224
+ <member name="M:KRPC.Core.StopAll">
224
225
  <summary>
225
- Delegate used to invoke the continuation.
226
+ Stop all servers.
226
227
  </summary>
227
228
  </member>
228
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`2.#ctor(KRPC.Continuations.ParameterizedContinuationVoid{`0,`1}.Fn,`0,`1)">
229
+ <member name="P:KRPC.Core.AnyRunning">
229
230
  <summary>
230
- Create a continuation from a delegate and its arguments.
231
+ Stop all servers.
231
232
  </summary>
232
233
  </member>
233
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`2.Run">
234
+ <member name="P:KRPC.Core.BytesRead">
234
235
  <summary>
235
- Invoke the continuation delegate with the stored arguments.
236
+ Get the total number of bytes read from the network.
236
237
  </summary>
237
238
  </member>
238
- <member name="T:KRPC.Continuations.ParameterizedContinuation`4">
239
+ <member name="P:KRPC.Core.BytesWritten">
239
240
  <summary>
240
- A continuation wrapping a function that takes 3 arguments and returns a result.
241
+ Get the total number of bytes written to the network.
241
242
  </summary>
242
243
  </member>
243
- <member name="T:KRPC.Continuations.ParameterizedContinuation`4.Fn">
244
+ <member name="P:KRPC.Core.BytesReadRate">
244
245
  <summary>
245
- Delegate used to invoke the continuation.
246
+ Get the total number of bytes read from the network.
246
247
  </summary>
247
248
  </member>
248
- <member name="M:KRPC.Continuations.ParameterizedContinuation`4.#ctor(KRPC.Continuations.ParameterizedContinuation{`0,`1,`2,`3}.Fn,`1,`2,`3)">
249
+ <member name="P:KRPC.Core.BytesWrittenRate">
249
250
  <summary>
250
- Create a continuation from a delegate and its arguments.
251
+ Get the total number of bytes written to the network.
251
252
  </summary>
252
253
  </member>
253
- <member name="M:KRPC.Continuations.ParameterizedContinuation`4.Run">
254
+ <member name="P:KRPC.Core.RPCsExecuted">
254
255
  <summary>
255
- Invoke the continuation delegate with the stored arguments, and return the result.
256
+ Total number of RPCs executed.
256
257
  </summary>
257
258
  </member>
258
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`3">
259
+ <member name="P:KRPC.Core.RPCRate">
259
260
  <summary>
260
- A continuation wrapping a function that takes 3 arguments, but does not return a result.
261
+ Number of RPCs processed per second.
261
262
  </summary>
262
263
  </member>
263
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`3.Fn">
264
+ <member name="P:KRPC.Core.TimePerRPCUpdate">
264
265
  <summary>
265
- Delegate used to invoke the continuation.
266
+ Time taken by the update loop per update, in seconds.
266
267
  </summary>
267
268
  </member>
268
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`3.#ctor(KRPC.Continuations.ParameterizedContinuationVoid{`0,`1,`2}.Fn,`0,`1,`2)">
269
+ <member name="P:KRPC.Core.PollTimePerRPCUpdate">
269
270
  <summary>
270
- Create a continuation from a delegate and its arguments.
271
+ Time taken polling for new RPCs per update, in seconds.
271
272
  </summary>
272
273
  </member>
273
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`3.Run">
274
+ <member name="P:KRPC.Core.ExecTimePerRPCUpdate">
274
275
  <summary>
275
- Invoke the continuation delegate with the stored arguments.
276
+ Time taken polling executing RPCs per update, in seconds.
276
277
  </summary>
277
278
  </member>
278
- <member name="T:KRPC.Continuations.ParameterizedContinuation`5">
279
+ <member name="P:KRPC.Core.StreamRPCs">
279
280
  <summary>
280
- A continuation wrapping a function that takes 4 arguments and returns a result.
281
+ Number of currently active streaming RPCs.
281
282
  </summary>
282
283
  </member>
283
- <member name="T:KRPC.Continuations.ParameterizedContinuation`5.Fn">
284
+ <member name="P:KRPC.Core.StreamRPCsExecuted">
284
285
  <summary>
285
- Delegate used to invoke the continuation.
286
+ Total number of streaming RPCs executed.
286
287
  </summary>
287
288
  </member>
288
- <member name="M:KRPC.Continuations.ParameterizedContinuation`5.#ctor(KRPC.Continuations.ParameterizedContinuation{`0,`1,`2,`3,`4}.Fn,`1,`2,`3,`4)">
289
+ <member name="P:KRPC.Core.StreamRPCRate">
289
290
  <summary>
290
- Create a continuation from a delegate and its arguments.
291
+ Number of streaming RPCs processed per second.
291
292
  </summary>
292
293
  </member>
293
- <member name="M:KRPC.Continuations.ParameterizedContinuation`5.Run">
294
+ <member name="P:KRPC.Core.TimePerStreamUpdate">
294
295
  <summary>
295
- Invoke the continuation delegate with the stored arguments, and return the result.
296
+ Time taken by the stream update loop, in seconds.
296
297
  </summary>
297
298
  </member>
298
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`4">
299
+ <member name="M:KRPC.Core.ClearStats">
299
300
  <summary>
300
- A continuation wrapping a function that takes 4 arguments, but does not return a result.
301
+ Clear the server statistics.
301
302
  </summary>
302
303
  </member>
303
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`4.Fn">
304
+ <member name="M:KRPC.Core.Update">
304
305
  <summary>
305
- Delegate used to invoke the continuation.
306
+ Update the server
306
307
  </summary>
307
308
  </member>
308
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`4.#ctor(KRPC.Continuations.ParameterizedContinuationVoid{`0,`1,`2,`3}.Fn,`0,`1,`2,`3)">
309
+ <member name="M:KRPC.Core.RPCServerUpdate">
309
310
  <summary>
310
- Create a continuation from a delegate and its arguments.
311
+ Update the RPC server, called once every FixedUpdate.
312
+ This method receives and executes RPCs, for up to MaxTimePerUpdate microseconds.
313
+ RPCs are delayed to the next update if this time expires. If AdaptiveRateControl
314
+ is true, MaxTimePerUpdate will be automatically adjusted to achieve a target framerate.
315
+ If NonBlockingUpdate is false, this call will block waiting for new RPCs for up to
316
+ MaxPollTimePerUpdate microseconds. If NonBlockingUpdate is true, a single non-blocking call
317
+ will be made to check for new RPCs.
311
318
  </summary>
312
319
  </member>
313
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`4.Run">
320
+ <member name="M:KRPC.Core.StreamServerUpdate">
314
321
  <summary>
315
- Invoke the continuation delegate with the stored arguments.
322
+ Update the Stream server. Executes all streaming RPCs and sends the results to clients (if they have changed).
316
323
  </summary>
317
324
  </member>
318
- <member name="T:KRPC.Continuations.ParameterizedContinuation`6">
325
+ <member name="M:KRPC.Core.AddStream(KRPC.Server.IClient,KRPC.Service.Stream,System.Boolean)">
319
326
  <summary>
320
- A continuation wrapping a function that takes 5 arguments and returns a result.
327
+ Add a stream to the server.
321
328
  </summary>
322
329
  </member>
323
- <member name="T:KRPC.Continuations.ParameterizedContinuation`6.Fn">
330
+ <member name="M:KRPC.Core.StartStream(KRPC.Server.IClient,System.UInt64)">
324
331
  <summary>
325
- Delegate used to invoke the continuation.
332
+ Start a stream.
326
333
  </summary>
327
334
  </member>
328
- <member name="M:KRPC.Continuations.ParameterizedContinuation`6.#ctor(KRPC.Continuations.ParameterizedContinuation{`0,`1,`2,`3,`4,`5}.Fn,`1,`2,`3,`4,`5)">
335
+ <member name="M:KRPC.Core.SetStreamRate(KRPC.Server.IClient,System.UInt64,System.Single)">
329
336
  <summary>
330
- Create a continuation from a delegate and its arguments.
337
+ Set the update rate for a stream.
331
338
  </summary>
332
339
  </member>
333
- <member name="M:KRPC.Continuations.ParameterizedContinuation`6.Run">
340
+ <member name="M:KRPC.Core.RemoveStream(KRPC.Server.IClient,System.UInt64)">
334
341
  <summary>
335
- Invoke the continuation delegate with the stored arguments, and return the result.
342
+ Remove a stream from the server, for a given client.
336
343
  </summary>
337
344
  </member>
338
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`5">
345
+ <member name="M:KRPC.Core.RemoveStream(System.UInt64)">
339
346
  <summary>
340
- A continuation wrapping a function that takes 5 arguments, but does not return a result.
347
+ Remove a stream from the server, for all clients.
341
348
  </summary>
342
349
  </member>
343
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`5.Fn">
350
+ <member name="M:KRPC.Core.PollRequests(System.Collections.Generic.IList{KRPC.Service.RequestContinuation})">
344
351
  <summary>
345
- Delegate used to invoke the continuation.
352
+ Poll connected clients for new requests.
353
+ Adds a continuation to the queue for any client with a new request,
354
+ if a continuation is not already being processed for the client.
346
355
  </summary>
347
356
  </member>
348
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`5.#ctor(KRPC.Continuations.ParameterizedContinuationVoid{`0,`1,`2,`3,`4}.Fn,`0,`1,`2,`3,`4)">
357
+ <member name="M:KRPC.Core.ExecuteContinuation(KRPC.Service.RequestContinuation)">
349
358
  <summary>
350
- Create a continuation from a delegate and its arguments.
359
+ Execute the continuation and send a response to the client,
360
+ or throw a YieldException if the continuation is not complete.
351
361
  </summary>
352
362
  </member>
353
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`5.Run">
363
+ <member name="T:KRPC.Server.ClientActivityEventArgs">
354
364
  <summary>
355
- Invoke the continuation delegate with the stored arguments.
365
+ Arguments passed to a client activity event
356
366
  </summary>
357
367
  </member>
358
- <member name="T:KRPC.Continuations.ParameterizedContinuation`7">
368
+ <member name="T:KRPC.Server.ClientActivityEventArgs`2">
359
369
  <summary>
360
- A continuation wrapping a function that takes 6 arguments and returns a result.
370
+ Arguments passed to a client activity event
361
371
  </summary>
362
372
  </member>
363
- <member name="T:KRPC.Continuations.ParameterizedContinuation`7.Fn">
373
+ <member name="T:KRPC.Server.ClientConnectedEventArgs">
364
374
  <summary>
365
- Delegate used to invoke the continuation.
375
+ Arguments passed to a client connected event
366
376
  </summary>
367
377
  </member>
368
- <member name="M:KRPC.Continuations.ParameterizedContinuation`7.#ctor(KRPC.Continuations.ParameterizedContinuation{`0,`1,`2,`3,`4,`5,`6}.Fn,`1,`2,`3,`4,`5,`6)">
378
+ <member name="T:KRPC.Server.ClientConnectedEventArgs`2">
369
379
  <summary>
370
- Create a continuation from a delegate and its arguments.
380
+ Arguments passed to a client connected event
371
381
  </summary>
372
382
  </member>
373
- <member name="M:KRPC.Continuations.ParameterizedContinuation`7.Run">
383
+ <member name="T:KRPC.Server.ClientConnectionRequest">
374
384
  <summary>
375
- Invoke the continuation delegate with the stored arguments, and return the result.
385
+ Used by a client requesting connection event to determine
386
+ if the request should be allowed or denied.
376
387
  </summary>
377
388
  </member>
378
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`6">
389
+ <member name="P:KRPC.Server.ClientConnectionRequest.ShouldAllow">
379
390
  <summary>
380
- A continuation wrapping a function that takes 6 arguments, but does not return a result.
391
+ Should the connection be allowed?
381
392
  </summary>
382
393
  </member>
383
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`6.Fn">
394
+ <member name="P:KRPC.Server.ClientConnectionRequest.ShouldDeny">
384
395
  <summary>
385
- Delegate used to invoke the continuation.
396
+ Should the connection be denied?
386
397
  </summary>
387
398
  </member>
388
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`6.#ctor(KRPC.Continuations.ParameterizedContinuationVoid{`0,`1,`2,`3,`4,`5}.Fn,`0,`1,`2,`3,`4,`5)">
399
+ <member name="P:KRPC.Server.ClientConnectionRequest.StillPending">
389
400
  <summary>
390
- Create a continuation from a delegate and its arguments.
401
+ Is a decision still pending?
391
402
  </summary>
392
403
  </member>
393
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`6.Run">
404
+ <member name="M:KRPC.Server.ClientConnectionRequest.Allow">
394
405
  <summary>
395
- Invoke the continuation delegate with the stored arguments.
406
+ Allow the connection
396
407
  </summary>
397
408
  </member>
398
- <member name="T:KRPC.Continuations.ParameterizedContinuation`8">
409
+ <member name="M:KRPC.Server.ClientConnectionRequest.Deny">
399
410
  <summary>
400
- A continuation wrapping a function that takes 7 arguments and returns a result.
411
+ Deny the connection
401
412
  </summary>
402
413
  </member>
403
- <member name="T:KRPC.Continuations.ParameterizedContinuation`8.Fn">
414
+ <member name="T:KRPC.Server.ClientDisconnectedEventArgs">
404
415
  <summary>
405
- Delegate used to invoke the continuation.
416
+ Arguments passed to a client disconnected event
406
417
  </summary>
407
418
  </member>
408
- <member name="M:KRPC.Continuations.ParameterizedContinuation`8.#ctor(KRPC.Continuations.ParameterizedContinuation{`0,`1,`2,`3,`4,`5,`6,`7}.Fn,`1,`2,`3,`4,`5,`6,`7)">
419
+ <member name="T:KRPC.Server.ClientDisconnectedEventArgs`2">
409
420
  <summary>
410
- Create a continuation from a delegate and its arguments.
421
+ Arguments passed to a client disconnected event
411
422
  </summary>
412
423
  </member>
413
- <member name="M:KRPC.Continuations.ParameterizedContinuation`8.Run">
424
+ <member name="T:KRPC.Server.ClientDisconnectedException">
414
425
  <summary>
415
- Invoke the continuation delegate with the stored arguments, and return the result.
426
+ Client disconnected from the server
416
427
  </summary>
417
428
  </member>
418
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`7">
429
+ <member name="T:KRPC.Server.ClientEventArgs">
419
430
  <summary>
420
- A continuation wrapping a function that takes 7 arguments, but does not return a result.
431
+ Abstract base class for a client event.
421
432
  </summary>
422
433
  </member>
423
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`7.Fn">
434
+ <member name="M:KRPC.Server.ClientEventArgs.#ctor(KRPC.Server.IClient)">
424
435
  <summary>
425
- Delegate used to invoke the continuation.
436
+ A client event for the given client.
426
437
  </summary>
427
438
  </member>
428
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`7.#ctor(KRPC.Continuations.ParameterizedContinuationVoid{`0,`1,`2,`3,`4,`5,`6}.Fn,`0,`1,`2,`3,`4,`5,`6)">
439
+ <member name="P:KRPC.Server.ClientEventArgs.Client">
429
440
  <summary>
430
- Create a continuation from a delegate and its arguments.
441
+ The client.
431
442
  </summary>
432
443
  </member>
433
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`7.Run">
444
+ <member name="T:KRPC.Server.ClientEventArgs`2">
434
445
  <summary>
435
- Invoke the continuation delegate with the stored arguments.
446
+ Abstract base class for a client event.
436
447
  </summary>
437
448
  </member>
438
- <member name="T:KRPC.Continuations.ParameterizedContinuation`9">
449
+ <member name="M:KRPC.Server.ClientEventArgs`2.#ctor(KRPC.Server.IClient{`0,`1})">
439
450
  <summary>
440
- A continuation wrapping a function that takes 8 arguments and returns a result.
451
+ A client event for the given client.
441
452
  </summary>
442
453
  </member>
443
- <member name="T:KRPC.Continuations.ParameterizedContinuation`9.Fn">
454
+ <member name="P:KRPC.Server.ClientEventArgs`2.Client">
444
455
  <summary>
445
- Delegate used to invoke the continuation.
456
+ The client.
446
457
  </summary>
447
458
  </member>
448
- <member name="M:KRPC.Continuations.ParameterizedContinuation`9.#ctor(KRPC.Continuations.ParameterizedContinuation{`0,`1,`2,`3,`4,`5,`6,`7,`8}.Fn,`1,`2,`3,`4,`5,`6,`7,`8)">
459
+ <member name="T:KRPC.Server.ClientRequestingConnectionEventArgs">
449
460
  <summary>
450
- Create a continuation from a delegate and its arguments.
461
+ Arguments passed to a client requesting connection event
451
462
  </summary>
452
463
  </member>
453
- <member name="M:KRPC.Continuations.ParameterizedContinuation`9.Run">
464
+ <member name="P:KRPC.Server.ClientRequestingConnectionEventArgs.Request">
454
465
  <summary>
455
- Invoke the continuation delegate with the stored arguments, and return the result.
466
+ The request.
456
467
  </summary>
457
468
  </member>
458
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`8">
469
+ <member name="T:KRPC.Server.ClientRequestingConnectionEventArgs`2">
459
470
  <summary>
460
- A continuation wrapping a function that takes 8 arguments, but does not return a result.
471
+ Arguments passed to a client requesting connection event
461
472
  </summary>
462
473
  </member>
463
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`8.Fn">
474
+ <member name="P:KRPC.Server.ClientRequestingConnectionEventArgs`2.Request">
464
475
  <summary>
465
- Delegate used to invoke the continuation.
476
+ The request.
466
477
  </summary>
467
478
  </member>
468
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`8.#ctor(KRPC.Continuations.ParameterizedContinuationVoid{`0,`1,`2,`3,`4,`5,`6,`7}.Fn,`0,`1,`2,`3,`4,`5,`6,`7)">
479
+ <member name="M:KRPC.Server.ClientRequestingConnectionEventArgs`2.op_Implicit(KRPC.Server.ClientRequestingConnectionEventArgs{`0,`1})~KRPC.Server.ClientRequestingConnectionEventArgs">
469
480
  <summary>
470
- Create a continuation from a delegate and its arguments.
481
+ Convert a generic client requesting connection event to a non-generic one.
471
482
  </summary>
472
483
  </member>
473
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`8.Run">
484
+ <member name="T:KRPC.Server.HTTP.Request">
474
485
  <summary>
475
- Invoke the continuation delegate with the stored arguments.
486
+ An HTTP request
476
487
  </summary>
477
488
  </member>
478
- <member name="T:KRPC.Continuations.ParameterizedContinuation`10">
489
+ <member name="T:KRPC.Server.IClient">
479
490
  <summary>
480
- A continuation wrapping a function that takes 9 arguments and returns a result.
491
+ Non-generic client interface.
481
492
  </summary>
482
493
  </member>
483
- <member name="T:KRPC.Continuations.ParameterizedContinuation`10.Fn">
494
+ <member name="P:KRPC.Server.IClient.Name">
484
495
  <summary>
485
- Delegate used to invoke the continuation.
496
+ A string identifying the client. Should be human readable.
486
497
  </summary>
487
498
  </member>
488
- <member name="M:KRPC.Continuations.ParameterizedContinuation`10.#ctor(KRPC.Continuations.ParameterizedContinuation{`0,`1,`2,`3,`4,`5,`6,`7,`8,`9}.Fn,`1,`2,`3,`4,`5,`6,`7,`8,`9)">
499
+ <member name="P:KRPC.Server.IClient.Guid">
489
500
  <summary>
490
- Create a continuation from a delegate and its arguments.
501
+ A the globally unique identifier for the client.
491
502
  </summary>
492
503
  </member>
493
- <member name="M:KRPC.Continuations.ParameterizedContinuation`10.Run">
504
+ <member name="P:KRPC.Server.IClient.Address">
494
505
  <summary>
495
- Invoke the continuation delegate with the stored arguments, and return the result.
506
+ The address of the client. Depends on the underlying communication method.
496
507
  </summary>
508
+ <remarks>For example, could be an IP address when client
509
+ communication is over a network.</remarks>
497
510
  </member>
498
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`9">
511
+ <member name="P:KRPC.Server.IClient.Connected">
499
512
  <summary>
500
- A continuation wrapping a function that takes 9 arguments, but does not return a result.
513
+ Returns true if the client is actively connected to the server.
501
514
  </summary>
502
515
  </member>
503
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`9.Fn">
516
+ <member name="M:KRPC.Server.IClient.Close">
504
517
  <summary>
505
- Delegate used to invoke the continuation.
518
+ Close the connection to the client and free the connections resources.
506
519
  </summary>
507
520
  </member>
508
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`9.#ctor(KRPC.Continuations.ParameterizedContinuationVoid{`0,`1,`2,`3,`4,`5,`6,`7,`8}.Fn,`0,`1,`2,`3,`4,`5,`6,`7,`8)">
521
+ <member name="T:KRPC.Server.IClient`2">
509
522
  <summary>
510
- Create a continuation from a delegate and its arguments.
523
+ Generic client interface.
511
524
  </summary>
512
525
  </member>
513
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`9.Run">
526
+ <member name="P:KRPC.Server.IClient`2.Stream">
514
527
  <summary>
515
- Invoke the continuation delegate with the stored arguments.
528
+ A stream for communicating with the client.
516
529
  </summary>
517
530
  </member>
518
- <member name="T:KRPC.Continuations.ParameterizedContinuation`11">
531
+ <member name="T:KRPC.Server.IBaseServer">
519
532
  <summary>
520
- A continuation wrapping a function that takes 10 arguments and returns a result.
533
+ A non-generic server.
521
534
  </summary>
522
535
  </member>
523
- <member name="T:KRPC.Continuations.ParameterizedContinuation`11.Fn">
536
+ <member name="M:KRPC.Server.IBaseServer.Start">
524
537
  <summary>
525
- Delegate used to invoke the continuation.
538
+ Start the server.
526
539
  </summary>
527
540
  </member>
528
- <member name="M:KRPC.Continuations.ParameterizedContinuation`11.#ctor(KRPC.Continuations.ParameterizedContinuation{`0,`1,`2,`3,`4,`5,`6,`7,`8,`9,`10}.Fn,`1,`2,`3,`4,`5,`6,`7,`8,`9,`10)">
541
+ <member name="M:KRPC.Server.IBaseServer.Stop">
529
542
  <summary>
530
- Create a continuation from a delegate and its arguments.
543
+ Stop the server.
531
544
  </summary>
532
545
  </member>
533
- <member name="M:KRPC.Continuations.ParameterizedContinuation`11.Run">
546
+ <member name="M:KRPC.Server.IBaseServer.Update">
534
547
  <summary>
535
- Invoke the continuation delegate with the stored arguments, and return the result.
548
+ Update the server. Call this regularly to ensure timely handling
549
+ of new client connections and other functionality.
536
550
  </summary>
537
551
  </member>
538
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`10">
552
+ <member name="P:KRPC.Server.IBaseServer.Address">
539
553
  <summary>
540
- A continuation wrapping a function that takes 10 arguments, but does not return a result.
554
+ The servers address.
541
555
  </summary>
542
556
  </member>
543
- <member name="T:KRPC.Continuations.ParameterizedContinuationVoid`10.Fn">
557
+ <member name="P:KRPC.Server.IBaseServer.Info">
544
558
  <summary>
545
- Delegate used to invoke the continuation.
559
+ Information about the server, displayed in the UI.
546
560
  </summary>
547
561
  </member>
548
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`10.#ctor(KRPC.Continuations.ParameterizedContinuationVoid{`0,`1,`2,`3,`4,`5,`6,`7,`8,`9}.Fn,`0,`1,`2,`3,`4,`5,`6,`7,`8,`9)">
562
+ <member name="P:KRPC.Server.IBaseServer.Running">
549
563
  <summary>
550
- Create a continuation from a delegate and its arguments.
564
+ Returns true if the server is running and accepting client connections.
551
565
  </summary>
552
566
  </member>
553
- <member name="M:KRPC.Continuations.ParameterizedContinuationVoid`10.Run">
567
+ <member name="P:KRPC.Server.IBaseServer.BytesRead">
554
568
  <summary>
555
- Invoke the continuation delegate with the stored arguments.
569
+ The total number of bytes read by the server.
556
570
  </summary>
557
571
  </member>
558
- <member name="T:KRPC.Continuations.YieldException">
572
+ <member name="P:KRPC.Server.IBaseServer.BytesWritten">
559
573
  <summary>
560
- Thrown by a continuation to indicate that there is more work to do later,
561
- represented by the new continuation in the exception.
574
+ The total number of bytes written by the server.
562
575
  </summary>
563
576
  </member>
564
- <member name="P:KRPC.Continuations.YieldException.Continuation">
577
+ <member name="M:KRPC.Server.IBaseServer.ClearStats">
565
578
  <summary>
566
- The continuation to run to continue the work.
579
+ Clear the bytes read and bytes written counts.
567
580
  </summary>
568
581
  </member>
569
- <member name="M:KRPC.Continuations.YieldException.#ctor(KRPC.Continuations.IContinuation)">
582
+ <member name="E:KRPC.Server.IBaseServer.OnStarted">
570
583
  <summary>
571
- Create a yield exception, with a continuation representing the work to do later.
584
+ Handler to trigger when the server starts.
572
585
  </summary>
573
586
  </member>
574
- <member name="M:KRPC.Continuations.YieldException.#ctor">
587
+ <member name="E:KRPC.Server.IBaseServer.OnStopped">
575
588
  <summary>
576
- Construct the exception.
589
+ Handler to trigger when the server stops.
577
590
  </summary>
578
591
  </member>
579
- <member name="M:KRPC.Continuations.YieldException.#ctor(System.String)">
592
+ <member name="T:KRPC.Server.IServer">
580
593
  <summary>
581
- Construct the exception.
594
+ A non-generic server.
582
595
  </summary>
583
596
  </member>
584
- <member name="T:KRPC.Core">
597
+ <member name="P:KRPC.Server.IServer.Clients">
585
598
  <summary>
586
- The kRPC core, which manages the execution of remote procedures,
587
- bridging the gap between servers and services. Also stores the configuration.
588
- This class is a singleton. The instance can be obtained via the <see cref="P:KRPC.Core.Instance" /> property.
599
+ Clients that are connected to the server.
589
600
  </summary>
590
601
  </member>
591
- <member name="P:KRPC.Core.Servers">
602
+ <member name="E:KRPC.Server.IServer.OnClientRequestingConnection">
592
603
  <summary>
593
- The servers.
604
+ Handler to trigger when a new client requests a connection.
594
605
  </summary>
595
606
  </member>
596
- <member name="P:KRPC.Core.Instance">
607
+ <member name="E:KRPC.Server.IServer.OnClientConnected">
597
608
  <summary>
598
- Get the core instance
609
+ Handler to trigger when a client has connected.
599
610
  </summary>
600
611
  </member>
601
- <member name="E:KRPC.Core.OnServerStarted">
612
+ <member name="E:KRPC.Server.IServer.OnClientDisconnected">
602
613
  <summary>
603
- Event triggered when a server starts
614
+ Handler to trigger when a client has disconnected.
604
615
  </summary>
605
616
  </member>
606
- <member name="E:KRPC.Core.OnServerStopped">
617
+ <member name="T:KRPC.Server.IServer`2">
607
618
  <summary>
608
- Event triggered when a server stops
619
+ A generic server, that receives values of type TIn from clients and
620
+ sends values of type TOut to them.
609
621
  </summary>
610
622
  </member>
611
- <member name="E:KRPC.Core.OnClientRequestingConnection">
623
+ <member name="P:KRPC.Server.IServer`2.Clients">
612
624
  <summary>
613
- Event triggered when an RPC client is requesting a connection
625
+ Clients that are connected to the server.
614
626
  </summary>
615
627
  </member>
616
- <member name="E:KRPC.Core.OnClientConnected">
628
+ <member name="E:KRPC.Server.IServer`2.OnClientRequestingConnection">
617
629
  <summary>
618
- Event triggered when a RPC client has connected
630
+ Handler to trigger when a new client requests a connection.
619
631
  </summary>
620
632
  </member>
621
- <member name="E:KRPC.Core.OnClientDisconnected">
633
+ <member name="E:KRPC.Server.IServer`2.OnClientConnected">
622
634
  <summary>
623
- Event triggered when a RPC client has disconnected
635
+ Handler to trigger when a client has connected.
624
636
  </summary>
625
637
  </member>
626
- <member name="P:KRPC.Core.RPCClients">
638
+ <member name="E:KRPC.Server.IServer`2.OnClientDisconnected">
627
639
  <summary>
628
- Get a list of all RPC clients connected to the server.
640
+ Handler to trigger when a client has disconnected.
629
641
  </summary>
630
642
  </member>
631
- <member name="P:KRPC.Core.StreamClients">
643
+ <member name="T:KRPC.Server.IStream">
632
644
  <summary>
633
- Get a list of all Stream clients connected to the server.
645
+ A non-generic stream.
634
646
  </summary>
635
647
  </member>
636
- <member name="E:KRPC.Core.OnClientActivity">
648
+ <member name="P:KRPC.Server.IStream.DataAvailable">
637
649
  <summary>
638
- Event triggered when a client performs some activity
650
+ Returns true if the stream contains data to read.
639
651
  </summary>
640
652
  </member>
641
- <member name="M:KRPC.Core.Add(KRPC.Server.Server)">
653
+ <member name="M:KRPC.Server.IStream.Close">
642
654
  <summary>
643
- Add a server to the core.
655
+ Close the stream and free its resources.
644
656
  </summary>
645
657
  </member>
646
- <member name="M:KRPC.Core.Remove(System.Guid)">
658
+ <member name="P:KRPC.Server.IStream.BytesRead">
647
659
  <summary>
648
- Remove a server from the core.
660
+ Gets the total number of bytes read from the stream.
649
661
  </summary>
650
662
  </member>
651
- <member name="M:KRPC.Core.Replace(KRPC.Server.Server)">
663
+ <member name="P:KRPC.Server.IStream.BytesWritten">
652
664
  <summary>
653
- Replace a server object. The object is matched using the id of the replacement.
665
+ Gets the total number of bytes written to the stream.
654
666
  </summary>
655
667
  </member>
656
- <member name="M:KRPC.Core.StartAll">
668
+ <member name="M:KRPC.Server.IStream.ClearStats">
657
669
  <summary>
658
- Start all servers.
670
+ Clear the bytes read and bytes written counts.
659
671
  </summary>
660
672
  </member>
661
- <member name="M:KRPC.Core.StopAll">
673
+ <member name="T:KRPC.Server.IStream`2">
662
674
  <summary>
663
- Stop all servers.
675
+ A generic stream, from which values of type In can be read and values of type Out can be written.
664
676
  </summary>
665
677
  </member>
666
- <member name="P:KRPC.Core.AnyRunning">
678
+ <member name="M:KRPC.Server.IStream`2.Read">
667
679
  <summary>
668
- Stop all servers.
680
+ Read a single value from the stream.
669
681
  </summary>
670
682
  </member>
671
- <member name="P:KRPC.Core.BytesRead">
683
+ <member name="M:KRPC.Server.IStream`2.Read(`0[],System.Int32)">
672
684
  <summary>
673
- Get the total number of bytes read from the network.
674
- </summary>
685
+ Read multiple values from the stream, into buffer starting at offset
686
+ and up to the end of the buffer.
687
+ </summary>
675
688
  </member>
676
- <member name="P:KRPC.Core.BytesWritten">
689
+ <member name="M:KRPC.Server.IStream`2.Read(`0[],System.Int32,System.Int32)">
677
690
  <summary>
678
- Get the total number of bytes written to the network.
691
+ Read multiple values from the stream, into buffer starting at offset
692
+ and up to the end of the buffer or size items, whichever comes first.
679
693
  </summary>
680
694
  </member>
681
- <member name="P:KRPC.Core.BytesReadRate">
695
+ <member name="M:KRPC.Server.IStream`2.Write(`1)">
682
696
  <summary>
683
- Get the total number of bytes read from the network.
697
+ Write a value to the stream.
684
698
  </summary>
685
699
  </member>
686
- <member name="P:KRPC.Core.BytesWrittenRate">
700
+ <member name="M:KRPC.Server.IStream`2.Write(`1[])">
687
701
  <summary>
688
- Get the total number of bytes written to the network.
702
+ Write multiple values to the stream.
689
703
  </summary>
690
704
  </member>
691
- <member name="P:KRPC.Core.RPCsExecuted">
705
+ <member name="M:KRPC.Server.IStream`2.Write(`1[],System.Int32,System.Int32)">
692
706
  <summary>
693
- Total number of RPCs executed.
707
+ Write size values to the stream, from the buffer starting at offset.
694
708
  </summary>
695
709
  </member>
696
- <member name="P:KRPC.Core.RPCRate">
710
+ <member name="T:KRPC.Server.Message.RPCServer">
697
711
  <summary>
698
- Number of RPCs processed per second.
712
+ Abstract RPC server for receiving requests and sending responses over a byte server.
699
713
  </summary>
700
714
  </member>
701
- <member name="P:KRPC.Core.TimePerRPCUpdate">
715
+ <member name="E:KRPC.Server.Message.RPCServer.OnStarted">
702
716
  <summary>
703
- Time taken by the update loop per update, in seconds.
717
+ Event handler for when the server starts.
704
718
  </summary>
705
719
  </member>
706
- <member name="P:KRPC.Core.PollTimePerRPCUpdate">
720
+ <member name="E:KRPC.Server.Message.RPCServer.OnStopped">
707
721
  <summary>
708
- Time taken polling for new RPCs per update, in seconds.
722
+ Event handler for when the server stops.
709
723
  </summary>
710
724
  </member>
711
- <member name="P:KRPC.Core.ExecTimePerRPCUpdate">
725
+ <member name="E:KRPC.Server.Message.RPCServer.OnClientRequestingConnection">
712
726
  <summary>
713
- Time taken polling executing RPCs per update, in seconds.
727
+ Event handler for when a new client requests a connection.
714
728
  </summary>
715
729
  </member>
716
- <member name="P:KRPC.Core.StreamRPCs">
730
+ <member name="E:KRPC.Server.Message.RPCServer.OnClientConnected">
717
731
  <summary>
718
- Number of currently active streaming RPCs.
732
+ Event handler for when a new client has connected.
719
733
  </summary>
720
734
  </member>
721
- <member name="P:KRPC.Core.StreamRPCsExecuted">
735
+ <member name="E:KRPC.Server.Message.RPCServer.OnClientActivity">
722
736
  <summary>
723
- Total number of streaming RPCs executed.
737
+ Event handler when client activity occurs.
724
738
  </summary>
739
+ <remarks>
740
+ Does not trigger this event, unless the underlying server does.
741
+ </remarks>
725
742
  </member>
726
- <member name="P:KRPC.Core.StreamRPCRate">
743
+ <member name="E:KRPC.Server.Message.RPCServer.OnClientDisconnected">
727
744
  <summary>
728
- Number of streaming RPCs processed per second.
745
+ Event handler when a client disconnects.
729
746
  </summary>
730
747
  </member>
731
- <member name="P:KRPC.Core.TimePerStreamUpdate">
748
+ <member name="M:KRPC.Server.Message.RPCServer.#ctor(KRPC.Server.IServer{System.Byte,System.Byte})">
732
749
  <summary>
733
- Time taken by the stream update loop, in seconds.
750
+ Construct an RPC server from a raw byte server
734
751
  </summary>
735
752
  </member>
736
- <member name="M:KRPC.Core.ClearStats">
753
+ <member name="M:KRPC.Server.Message.RPCServer.Start">
737
754
  <summary>
738
- Clear the server statistics.
755
+ Start the server.
739
756
  </summary>
740
757
  </member>
741
- <member name="M:KRPC.Core.Update">
758
+ <member name="M:KRPC.Server.Message.RPCServer.Stop">
742
759
  <summary>
743
- Update the server
760
+ Stop the server.
744
761
  </summary>
745
762
  </member>
746
- <member name="M:KRPC.Core.RPCServerUpdate">
763
+ <member name="M:KRPC.Server.Message.RPCServer.Update">
747
764
  <summary>
748
- Update the RPC server, called once every FixedUpdate.
749
- This method receives and executes RPCs, for up to MaxTimePerUpdate microseconds.
750
- RPCs are delayed to the next update if this time expires. If AdaptiveRateControl
751
- is true, MaxTimePerUpdate will be automatically adjusted to achieve a target framerate.
752
- If NonBlockingUpdate is false, this call will block waiting for new RPCs for up to
753
- MaxPollTimePerUpdate microseconds. If NonBlockingUpdate is true, a single non-blocking call
754
- will be made to check for new RPCs.
765
+ Update the server.
755
766
  </summary>
756
767
  </member>
757
- <member name="M:KRPC.Core.StreamServerUpdate">
768
+ <member name="P:KRPC.Server.Message.RPCServer.Address">
758
769
  <summary>
759
- Update the Stream server. Executes all streaming RPCs and sends the results to clients (if they have changed).
770
+ Address the server is listening on. Format depends on the server protocol.
760
771
  </summary>
761
772
  </member>
762
- <member name="M:KRPC.Core.AddStream(KRPC.Server.IClient,KRPC.Service.Stream,System.Boolean)">
773
+ <member name="P:KRPC.Server.Message.RPCServer.Info">
763
774
  <summary>
764
- Add a stream to the server.
775
+ Information about the server. Depends on the server protocol.
765
776
  </summary>
766
777
  </member>
767
- <member name="M:KRPC.Core.StartStream(KRPC.Server.IClient,System.UInt64)">
778
+ <member name="P:KRPC.Server.Message.RPCServer.Running">
768
779
  <summary>
769
- Start a stream.
780
+ Whether the server is running.
770
781
  </summary>
771
782
  </member>
772
- <member name="M:KRPC.Core.SetStreamRate(KRPC.Server.IClient,System.UInt64,System.Single)">
783
+ <member name="P:KRPC.Server.Message.RPCServer.Clients">
773
784
  <summary>
774
- Set the update rate for a stream.
785
+ Clients conneted to the server.
775
786
  </summary>
776
787
  </member>
777
- <member name="M:KRPC.Core.RemoveStream(KRPC.Server.IClient,System.UInt64)">
788
+ <member name="P:KRPC.Server.Message.RPCServer.BytesRead">
778
789
  <summary>
779
- Remove a stream from the server, for a given client.
790
+ Number of bytes received from clients.
780
791
  </summary>
781
792
  </member>
782
- <member name="M:KRPC.Core.RemoveStream(System.UInt64)">
793
+ <member name="P:KRPC.Server.Message.RPCServer.BytesWritten">
783
794
  <summary>
784
- Remove a stream from the server, for all clients.
795
+ Number of bytes sent to clients.
785
796
  </summary>
786
797
  </member>
787
- <member name="M:KRPC.Core.PollRequests(System.Collections.Generic.IList{KRPC.Service.RequestContinuation})">
798
+ <member name="M:KRPC.Server.Message.RPCServer.ClearStats">
788
799
  <summary>
789
- Poll connected clients for new requests.
790
- Adds a continuation to the queue for any client with a new request,
791
- if a continuation is not already being processed for the client.
800
+ Clear statistics.
792
801
  </summary>
793
802
  </member>
794
- <member name="M:KRPC.Core.ExecuteContinuation(KRPC.Service.RequestContinuation)">
803
+ <member name="M:KRPC.Server.Message.RPCServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
795
804
  <summary>
796
- Execute the continuation and send a response to the client,
797
- or throw a YieldException if the continuation is not complete.
805
+ Create a client instance from a connection request event.
798
806
  </summary>
799
807
  </member>
800
- <member name="T:KRPC.Server.ClientActivityEventArgs">
808
+ <member name="M:KRPC.Server.Message.RPCServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
801
809
  <summary>
802
- Arguments passed to a client activity event
810
+ When a client requests a connection, check and parse the hello message (which should
811
+ consist of a header and a client name), then trigger RPCServer.OnClientRequestingConnection
812
+ to get response of delegates
803
813
  </summary>
804
814
  </member>
805
- <member name="T:KRPC.Server.ClientActivityEventArgs`2">
815
+ <member name="M:KRPC.Server.Message.RPCStream.Read(KRPC.Service.Messages.Request@,System.Byte[],System.Int32,System.Int32)">
806
816
  <summary>
807
- Arguments passed to a client activity event
817
+ Read a request. Implementors shoulld try to decode <paramref name="length" /> bytes
818
+ from <paramref name="data" /> starting at <paramref name="offset" />.
819
+ If a request is successfully decoded, write it to <paramref name="request" /> and return
820
+ the number of bytes read. If no message, or a partial message, is found, don't set
821
+ <paramref name="request" />. The read will be retried when more data has arrived.
822
+ When <paramref name="request" /> is left unset, a non-zero number of bytes read can be returned.
823
+ This allows non-message bytes to be consumed, for example for control traffic not
824
+ related to the RPC server. Implementors should throw a MalformedRequestException if malformed
825
+ data is received. Implementors should throw a ClientDisconnectedException if they would
826
+ like the client to be disconnected.
808
827
  </summary>
809
828
  </member>
810
- <member name="T:KRPC.Server.ClientConnectedEventArgs">
829
+ <member name="P:KRPC.Server.Message.RPCStream.DataAvailable">
811
830
  <summary>
812
- Arguments passed to a client connected event
831
+ Returns true if there is a request waiting to be read. A Call to Read() will
832
+ not throw NoRequestException if this returns true. Throws MalformedRequestException
833
+ if a malformed request is received.
813
834
  </summary>
814
835
  </member>
815
- <member name="T:KRPC.Server.ClientConnectedEventArgs`2">
836
+ <member name="M:KRPC.Server.Message.RPCStream.Read">
816
837
  <summary>
817
- Arguments passed to a client connected event
838
+ Read a request from the client.
839
+ Throws NoRequestException if there is no available request.
840
+ Throws MalformedRequestException if malformed data is received.
818
841
  </summary>
819
842
  </member>
820
- <member name="T:KRPC.Server.ClientConnectionRequest">
843
+ <member name="M:KRPC.Server.Message.RPCStream.Write(KRPC.Service.Messages.Response)">
821
844
  <summary>
822
- Used by a client requesting connection event to determine
823
- if the request should be allowed or denied.
845
+ Write a response to the client.
824
846
  </summary>
825
847
  </member>
826
- <member name="P:KRPC.Server.ClientConnectionRequest.ShouldAllow">
848
+ <member name="M:KRPC.Server.Message.RPCStream.Close">
827
849
  <summary>
828
- Should the connection be allowed?
850
+ Close the stream.
829
851
  </summary>
830
852
  </member>
831
- <member name="P:KRPC.Server.ClientConnectionRequest.ShouldDeny">
853
+ <member name="M:KRPC.Server.Message.RPCStream.Poll">
854
+ Returns true if there is a buffered message.
855
+ Otherwise attempts to receive a new message.
856
+ Returns false if no message could be received.
857
+ Closes the stream and throws MalformedRequestException if a malformed message is received.
858
+ </member>
859
+ <member name="T:KRPC.Server.Message.StreamServer">
832
860
  <summary>
833
- Should the connection be denied?
861
+ Abstract Stream server for sending stream messages over a byte server.
834
862
  </summary>
835
863
  </member>
836
- <member name="P:KRPC.Server.ClientConnectionRequest.StillPending">
864
+ <member name="E:KRPC.Server.Message.StreamServer.OnStarted">
837
865
  <summary>
838
- Is a decision still pending?
866
+ Event handler for when the server starts.
839
867
  </summary>
840
868
  </member>
841
- <member name="M:KRPC.Server.ClientConnectionRequest.Allow">
869
+ <member name="E:KRPC.Server.Message.StreamServer.OnStopped">
842
870
  <summary>
843
- Allow the connection
871
+ Event handler for when the server stops.
844
872
  </summary>
845
873
  </member>
846
- <member name="M:KRPC.Server.ClientConnectionRequest.Deny">
874
+ <member name="E:KRPC.Server.Message.StreamServer.OnClientRequestingConnection">
847
875
  <summary>
848
- Deny the connection
876
+ Event handler for when a new client requests a connection.
849
877
  </summary>
850
878
  </member>
851
- <member name="T:KRPC.Server.ClientDisconnectedEventArgs">
879
+ <member name="E:KRPC.Server.Message.StreamServer.OnClientConnected">
852
880
  <summary>
853
- Arguments passed to a client disconnected event
881
+ Event handler for when a new client has connected.
854
882
  </summary>
855
883
  </member>
856
- <member name="T:KRPC.Server.ClientDisconnectedEventArgs`2">
884
+ <member name="E:KRPC.Server.Message.StreamServer.OnClientActivity">
857
885
  <summary>
858
- Arguments passed to a client disconnected event
886
+ Event handler when client activity occurs.
859
887
  </summary>
888
+ <remarks>
889
+ Does not trigger this event, unless the underlying server does.
890
+ </remarks>
860
891
  </member>
861
- <member name="T:KRPC.Server.ClientEventArgs">
892
+ <member name="E:KRPC.Server.Message.StreamServer.OnClientDisconnected">
862
893
  <summary>
863
- Abstract base class for a client event.
894
+ Event handler when a client disconnects.
864
895
  </summary>
865
896
  </member>
866
- <member name="M:KRPC.Server.ClientEventArgs.#ctor(KRPC.Server.IClient)">
897
+ <member name="M:KRPC.Server.Message.StreamServer.#ctor(KRPC.Server.IServer{System.Byte,System.Byte})">
867
898
  <summary>
868
- A client event for the given client.
899
+ Construct a stream server from a raw byte server
869
900
  </summary>
870
901
  </member>
871
- <member name="P:KRPC.Server.ClientEventArgs.Client">
902
+ <member name="M:KRPC.Server.Message.StreamServer.Start">
872
903
  <summary>
873
- The client.
904
+ Start the server.
874
905
  </summary>
875
906
  </member>
876
- <member name="T:KRPC.Server.ClientEventArgs`2">
907
+ <member name="M:KRPC.Server.Message.StreamServer.Stop">
877
908
  <summary>
878
- Abstract base class for a client event.
909
+ Stop the server.
879
910
  </summary>
880
911
  </member>
881
- <member name="M:KRPC.Server.ClientEventArgs`2.#ctor(KRPC.Server.IClient{`0,`1})">
912
+ <member name="M:KRPC.Server.Message.StreamServer.Update">
882
913
  <summary>
883
- A client event for the given client.
914
+ Update the server.
884
915
  </summary>
885
916
  </member>
886
- <member name="P:KRPC.Server.ClientEventArgs`2.Client">
917
+ <member name="P:KRPC.Server.Message.StreamServer.Address">
887
918
  <summary>
888
- The client.
919
+ Address the server is listening on. Format depends on the server protocol.
889
920
  </summary>
890
921
  </member>
891
- <member name="T:KRPC.Server.ClientRequestingConnectionEventArgs">
922
+ <member name="P:KRPC.Server.Message.StreamServer.Info">
892
923
  <summary>
893
- Arguments passed to a client requesting connection event
924
+ Information about the server. Depends on the server protocol.
894
925
  </summary>
895
926
  </member>
896
- <member name="P:KRPC.Server.ClientRequestingConnectionEventArgs.Request">
927
+ <member name="P:KRPC.Server.Message.StreamServer.Running">
897
928
  <summary>
898
- The request.
929
+ Whether the server is running.
899
930
  </summary>
900
931
  </member>
901
- <member name="T:KRPC.Server.ClientRequestingConnectionEventArgs`2">
932
+ <member name="P:KRPC.Server.Message.StreamServer.Clients">
902
933
  <summary>
903
- Arguments passed to a client requesting connection event
934
+ Clients conneted to the server.
904
935
  </summary>
905
936
  </member>
906
- <member name="P:KRPC.Server.ClientRequestingConnectionEventArgs`2.Request">
937
+ <member name="P:KRPC.Server.Message.StreamServer.BytesRead">
907
938
  <summary>
908
- The request.
939
+ Number of bytes received from clients.
909
940
  </summary>
910
941
  </member>
911
- <member name="M:KRPC.Server.ClientRequestingConnectionEventArgs`2.op_Implicit(KRPC.Server.ClientRequestingConnectionEventArgs{`0,`1})~KRPC.Server.ClientRequestingConnectionEventArgs">
942
+ <member name="P:KRPC.Server.Message.StreamServer.BytesWritten">
912
943
  <summary>
913
- Convert a generic client requesting connection event to a non-generic one.
944
+ Number of bytes sent to clients.
914
945
  </summary>
915
946
  </member>
916
- <member name="T:KRPC.Server.IClient">
947
+ <member name="M:KRPC.Server.Message.StreamServer.ClearStats">
917
948
  <summary>
918
- Non-generic client interface.
949
+ Clear statistics.
919
950
  </summary>
920
951
  </member>
921
- <member name="P:KRPC.Server.IClient.Name">
952
+ <member name="M:KRPC.Server.Message.StreamServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
922
953
  <summary>
923
- A string identifying the client. Should be human readable.
954
+ Create a client instance from a connection request event.
924
955
  </summary>
925
956
  </member>
926
- <member name="P:KRPC.Server.IClient.Guid">
957
+ <member name="M:KRPC.Server.Message.StreamServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
927
958
  <summary>
928
- A the globally unique identifier for the client.
959
+ When a client requests a connection, check the hello message,
960
+ then trigger RPCServer.OnClientRequestingConnection to get response of delegates
929
961
  </summary>
930
962
  </member>
931
- <member name="P:KRPC.Server.IClient.Address">
963
+ <member name="M:KRPC.Server.Message.StreamStream.Write(KRPC.Service.Messages.StreamUpdate)">
932
964
  <summary>
933
- The address of the client. Depends on the underlying communication method.
965
+ Write a stream message to the client.
934
966
  </summary>
935
- <remarks>For example, could be an IP address when client
936
- communication is over a network.</remarks>
937
967
  </member>
938
- <member name="P:KRPC.Server.IClient.Connected">
968
+ <member name="T:KRPC.Server.NullServer">
939
969
  <summary>
940
- Returns true if the client is actively connected to the server.
970
+ A byte server that never has any clients.
971
+ Used when a server instance is required, but the protocol does not require it.
941
972
  </summary>
942
973
  </member>
943
- <member name="M:KRPC.Server.IClient.Close">
974
+ <member name="T:KRPC.Server.Protocol">
944
975
  <summary>
945
- Close the connection to the client and free the connections resources.
976
+ The protocol of a server.
946
977
  </summary>
947
978
  </member>
948
- <member name="T:KRPC.Server.IClient`2">
979
+ <member name="F:KRPC.Server.Protocol.ProtocolBuffersOverTCP">
949
980
  <summary>
950
- Generic client interface.
981
+ A server using Protocol Buffer messages over a TCP connection.
951
982
  </summary>
952
983
  </member>
953
- <member name="P:KRPC.Server.IClient`2.Stream">
984
+ <member name="F:KRPC.Server.Protocol.ProtocolBuffersOverWebsockets">
954
985
  <summary>
955
- A stream for communicating with the client.
986
+ A server using Protocol Buffer messages over a WebSockets server.
956
987
  </summary>
957
988
  </member>
958
- <member name="T:KRPC.Server.IBaseServer">
989
+ <member name="F:KRPC.Server.Protocol.ProtocolBuffersOverSerialIO">
959
990
  <summary>
960
- A non-generic server.
991
+ A server using Protocol Buffer messages over SerialIO.
961
992
  </summary>
962
993
  </member>
963
- <member name="M:KRPC.Server.IBaseServer.Start">
994
+ <member name="M:KRPC.Server.ProtocolBuffers.Encoder.Encode(System.Object)">
964
995
  <summary>
965
- Start the server.
996
+ Encode an object using the protocol buffer encoding scheme.
966
997
  </summary>
967
998
  </member>
968
- <member name="M:KRPC.Server.IBaseServer.Stop">
999
+ <member name="M:KRPC.Server.ProtocolBuffers.Encoder.Decode(Google.Protobuf.ByteString,System.Type)">
969
1000
  <summary>
970
- Stop the server.
1001
+ Decode a value of the given type.
1002
+ Should not be called directly. This interface is used by service client stubs.
971
1003
  </summary>
972
1004
  </member>
973
- <member name="M:KRPC.Server.IBaseServer.Update">
1005
+ <member name="T:KRPC.Server.ProtocolBuffers.RPCServer">
974
1006
  <summary>
975
- Update the server. Call this regularly to ensure timely handling
976
- of new client connections and other functionality.
1007
+ RPC server.
977
1008
  </summary>
978
1009
  </member>
979
- <member name="P:KRPC.Server.IBaseServer.Address">
1010
+ <member name="M:KRPC.Server.ProtocolBuffers.RPCServer.#ctor(KRPC.Server.IServer{System.Byte,System.Byte})">
980
1011
  <summary>
981
- The servers address.
1012
+ Construct an RPC server from a byte server.
982
1013
  </summary>
983
1014
  </member>
984
- <member name="P:KRPC.Server.IBaseServer.Info">
1015
+ <member name="M:KRPC.Server.ProtocolBuffers.RPCServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
985
1016
  <summary>
986
- Information about the server, displayed in the UI.
1017
+ Handle the initiation of a client connection request
987
1018
  </summary>
988
1019
  </member>
989
- <member name="P:KRPC.Server.IBaseServer.Running">
1020
+ <member name="M:KRPC.Server.ProtocolBuffers.RPCServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
990
1021
  <summary>
991
- Returns true if the server is running and accepting client connections.
1022
+ Handle a client connection request
992
1023
  </summary>
993
1024
  </member>
994
- <member name="P:KRPC.Server.IBaseServer.BytesRead">
1025
+ <member name="T:KRPC.Server.ProtocolBuffers.StreamServer">
995
1026
  <summary>
996
- The total number of bytes read by the server.
1027
+ Stream server.
997
1028
  </summary>
998
1029
  </member>
999
- <member name="P:KRPC.Server.IBaseServer.BytesWritten">
1030
+ <member name="M:KRPC.Server.ProtocolBuffers.StreamServer.#ctor(KRPC.Server.IServer{System.Byte,System.Byte})">
1000
1031
  <summary>
1001
- The total number of bytes written by the server.
1032
+ Construct a stream server from a byte server.
1002
1033
  </summary>
1003
1034
  </member>
1004
- <member name="M:KRPC.Server.IBaseServer.ClearStats">
1035
+ <member name="M:KRPC.Server.ProtocolBuffers.StreamServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1005
1036
  <summary>
1006
- Clear the bytes read and bytes written counts.
1037
+ Handle the initiation of a client connection request
1007
1038
  </summary>
1008
1039
  </member>
1009
- <member name="T:KRPC.Server.IServer">
1040
+ <member name="M:KRPC.Server.ProtocolBuffers.StreamServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1010
1041
  <summary>
1011
- A non-generic server.
1042
+ Handle a client connection request
1012
1043
  </summary>
1013
1044
  </member>
1014
- <member name="P:KRPC.Server.IServer.Clients">
1045
+ <member name="M:KRPC.Server.ProtocolBuffers.Utils.ReadMessage``1(KRPC.Server.IClient{System.Byte,System.Byte},System.Boolean@)">
1015
1046
  <summary>
1016
- Clients that are connected to the server.
1047
+ Read a message from the client. If a partial message is received, its data is saved
1048
+ and will be resumed on the next call. Timeout is set to true if the receipt times out.
1017
1049
  </summary>
1018
1050
  </member>
1019
- <member name="T:KRPC.Server.IServer`2">
1051
+ <member name="M:KRPC.Server.ProtocolBuffers.Utils.ReadMessage``1(KRPC.Server.IStream{System.Byte,System.Byte},KRPC.Utils.DynamicBuffer@)">
1020
1052
  <summary>
1021
- A generic server, that receives values of type TIn from clients and
1022
- sends values of type TOut to them.
1053
+ Read a message from the client. If a partial message is received, its data is saved
1054
+ in the DynamicBuffer so that this method can be called to try again later.
1023
1055
  </summary>
1024
1056
  </member>
1025
- <member name="P:KRPC.Server.IServer`2.Clients">
1057
+ <member name="M:KRPC.Server.ProtocolBuffers.Utils.ReadMessage``1(``0@,Google.Protobuf.MessageParser{``0},System.Byte[],System.Int32,System.Int32)">
1026
1058
  <summary>
1027
- Clients that are connected to the server.
1059
+ Attempt to parse a message from a byte buffer. Returns the number of bytes consumed.
1060
+ If there is not enough data to decode a message, returns zero.
1028
1061
  </summary>
1029
1062
  </member>
1030
- <member name="T:KRPC.Server.IStream">
1063
+ <member name="M:KRPC.Server.ProtocolBuffers.Utils.WriteMessage(KRPC.Server.IStream{System.Byte,System.Byte},Google.Protobuf.IMessage)">
1031
1064
  <summary>
1032
- A non-generic stream.
1065
+ Write a message
1033
1066
  </summary>
1034
1067
  </member>
1035
- <member name="P:KRPC.Server.IStream.DataAvailable">
1036
- <summary>
1037
- Returns true if the stream contains data to read.
1038
- </summary>
1039
- </member>
1040
- <member name="M:KRPC.Server.IStream.Close">
1041
- <summary>
1042
- Close the stream and free its resources.
1043
- </summary>
1044
- </member>
1045
- <member name="P:KRPC.Server.IStream.BytesRead">
1046
- <summary>
1047
- Gets the total number of bytes read from the stream.
1048
- </summary>
1049
- </member>
1050
- <member name="P:KRPC.Server.IStream.BytesWritten">
1051
- <summary>
1052
- Gets the total number of bytes written to the stream.
1053
- </summary>
1054
- </member>
1055
- <member name="M:KRPC.Server.IStream.ClearStats">
1056
- <summary>
1057
- Clear the bytes read and bytes written counts.
1058
- </summary>
1059
- </member>
1060
- <member name="T:KRPC.Server.IStream`2">
1061
- <summary>
1062
- A generic stream, from which values of type In can be read and values of type Out can be written.
1063
- </summary>
1064
- </member>
1065
- <member name="M:KRPC.Server.IStream`2.Read">
1066
- <summary>
1067
- Read a single value from the stream.
1068
- </summary>
1069
- </member>
1070
- <member name="M:KRPC.Server.IStream`2.Read(`0[],System.Int32)">
1071
- <summary>
1072
- Read multiple values from the stream, into buffer starting at offset
1073
- and up to the end of the buffer.
1074
- </summary>
1075
- </member>
1076
- <member name="M:KRPC.Server.IStream`2.Read(`0[],System.Int32,System.Int32)">
1077
- <summary>
1078
- Read multiple values from the stream, into buffer starting at offset
1079
- and up to the end of the buffer or size items, whichever comes first.
1080
- </summary>
1081
- </member>
1082
- <member name="M:KRPC.Server.IStream`2.Write(`1)">
1083
- <summary>
1084
- Write a value to the stream.
1085
- </summary>
1086
- </member>
1087
- <member name="M:KRPC.Server.IStream`2.Write(`1[])">
1088
- <summary>
1089
- Write multiple values to the stream.
1090
- </summary>
1091
- </member>
1092
- <member name="M:KRPC.Server.IStream`2.Write(`1[],System.Int32,System.Int32)">
1068
+ <member name="M:KRPC.Server.ProtocolBuffers.Utils.WriteConnectionResponse(KRPC.Server.IClient{System.Byte,System.Byte})">
1093
1069
  <summary>
1094
- Write size values to the stream, from the buffer starting at offset.
1070
+ Write a connection response message
1095
1071
  </summary>
1096
1072
  </member>
1097
- <member name="T:KRPC.Server.Message.RPCServer">
1073
+ <member name="M:KRPC.Server.ProtocolBuffers.Utils.WriteConnectionResponse(KRPC.Server.IClient{System.Byte,System.Byte},KRPC.Schema.KRPC.ConnectionResponse.Types.Status,System.String)">
1098
1074
  <summary>
1099
- Abstract RPC server for receiving requests and sending responses over a byte server.
1075
+ Write a connection response message
1100
1076
  </summary>
1101
1077
  </member>
1102
- <member name="E:KRPC.Server.Message.RPCServer.OnClientActivity">
1078
+ <member name="T:KRPC.Server.SerialIO.ByteServer">
1103
1079
  <summary>
1104
- Does not trigger this event, unless the underlying server does.
1080
+ Byte server implementation over serial I/O.
1105
1081
  </summary>
1106
1082
  </member>
1107
- <member name="M:KRPC.Server.Message.RPCServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1083
+ <member name="E:KRPC.Server.SerialIO.ByteServer.OnStarted">
1108
1084
  <summary>
1109
- When a client requests a connection, check and parse the hello message (which should
1110
- consist of a header and a client name), then trigger RPCServer.OnClientRequestingConnection
1111
- to get response of delegates
1085
+ Event handler for when the server starts.
1112
1086
  </summary>
1113
1087
  </member>
1114
- <member name="M:KRPC.Server.Message.RPCStream.Read(KRPC.Service.Messages.Request@,System.Byte[],System.Int32,System.Int32)">
1088
+ <member name="E:KRPC.Server.SerialIO.ByteServer.OnStopped">
1115
1089
  <summary>
1116
- Read a request. Implementors shoulld try to decode <paramref name="length" /> bytes
1117
- from <paramref name="data" /> starting at <paramref name="offset" />.
1118
- If a request is successfully decoded, write it to <paramref name="request" /> and return
1119
- the number of bytes read. If no message, or a partial message, is found, don't set
1120
- <paramref name="request" />. The read will be retried when more data has arrived.
1121
- When <paramref name="request" /> is left unset, a non-zero number of bytes read can be returned.
1122
- This allows non-message bytes to be consumed, for example for control traffic not
1123
- related to the RPC server. Implementors should throw a MalformedRequestException if malformed
1124
- data is received. Implementors should throw a ClientDisconnectedException if they would
1125
- like the client to be disconnected.
1090
+ Event handler for when the server stops.
1126
1091
  </summary>
1127
1092
  </member>
1128
- <member name="P:KRPC.Server.Message.RPCStream.DataAvailable">
1093
+ <member name="E:KRPC.Server.SerialIO.ByteServer.OnClientRequestingConnection">
1129
1094
  <summary>
1130
- Returns true if there is a request waiting to be read. A Call to Read() will
1131
- not throw NoRequestException if this returns true. Throws MalformedRequestException
1132
- if a malformed request is received.
1095
+ Event handler for when a new client requests a connection.
1133
1096
  </summary>
1134
1097
  </member>
1135
- <member name="M:KRPC.Server.Message.RPCStream.Read">
1098
+ <member name="E:KRPC.Server.SerialIO.ByteServer.OnClientConnected">
1136
1099
  <summary>
1137
- Read a request from the client.
1138
- Throws NoRequestException if there is no available request.
1139
- Throws MalformedRequestException if malformed data is received.
1100
+ Event handler for when a new client has connected.
1140
1101
  </summary>
1141
1102
  </member>
1142
- <member name="M:KRPC.Server.Message.RPCStream.Write(KRPC.Service.Messages.Response)">
1103
+ <member name="E:KRPC.Server.SerialIO.ByteServer.OnClientActivity">
1143
1104
  <summary>
1144
- Write a response to the client.
1105
+ Event handler when client activity occurs.
1145
1106
  </summary>
1146
1107
  </member>
1147
- <member name="M:KRPC.Server.Message.RPCStream.Close">
1108
+ <member name="E:KRPC.Server.SerialIO.ByteServer.OnClientDisconnected">
1148
1109
  <summary>
1149
- Close the stream.
1110
+ Event handler when a client disconnects.
1150
1111
  </summary>
1151
1112
  </member>
1152
- <member name="M:KRPC.Server.Message.RPCStream.Poll">
1153
- Returns true if there is a buffered message.
1154
- Otherwise attempts to receive a new message.
1155
- Returns false if no message could be received.
1156
- Closes the stream and throws MalformedRequestException if a malformed message is received.
1157
- </member>
1158
- <member name="T:KRPC.Server.Message.StreamServer">
1113
+ <member name="M:KRPC.Server.SerialIO.ByteServer.#ctor(System.String,System.UInt32,System.UInt16,KRPC.IO.Ports.Parity,KRPC.IO.Ports.StopBits)">
1159
1114
  <summary>
1160
- Abstract Stream server for sending stream messages over a byte server.
1115
+ Create a SerialIO server. After Start() is called, the server
1116
+ will listen for connection requests on the port.
1161
1117
  </summary>
1162
1118
  </member>
1163
- <member name="E:KRPC.Server.Message.StreamServer.OnClientActivity">
1119
+ <member name="M:KRPC.Server.SerialIO.ByteServer.Start">
1164
1120
  <summary>
1165
- Does not trigger this event, unless the underlying server does.
1121
+ Start the server.
1166
1122
  </summary>
1167
1123
  </member>
1168
- <member name="M:KRPC.Server.Message.StreamServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1124
+ <member name="M:KRPC.Server.SerialIO.ByteServer.Stop">
1169
1125
  <summary>
1170
- When a client requests a connection, check the hello message,
1171
- then trigger RPCServer.OnClientRequestingConnection to get response of delegates
1126
+ Stop the server.
1172
1127
  </summary>
1173
1128
  </member>
1174
- <member name="M:KRPC.Server.Message.StreamStream.Write(KRPC.Service.Messages.StreamUpdate)">
1129
+ <member name="M:KRPC.Server.SerialIO.ByteServer.ClientConnectionRequest(System.Byte[])">
1175
1130
  <summary>
1176
- Write a stream message to the client.
1131
+ Called by RPCStream.Read when a client sends a connection request message,
1132
+ but another client is already connected.
1177
1133
  </summary>
1178
1134
  </member>
1179
- <member name="T:KRPC.Server.NullServer">
1135
+ <member name="M:KRPC.Server.SerialIO.ByteServer.Update">
1180
1136
  <summary>
1181
- A byte server that never has any clients.
1182
- Used when a server instance is required, but the protocol does not require it.
1137
+ Update the server.
1183
1138
  </summary>
1184
1139
  </member>
1185
- <member name="T:KRPC.Server.Protocol">
1140
+ <member name="P:KRPC.Server.SerialIO.ByteServer.Address">
1186
1141
  <summary>
1187
- The protocol of a server.
1142
+ Address the server is listening on. The path of the serial port device.
1188
1143
  </summary>
1189
1144
  </member>
1190
- <member name="F:KRPC.Server.Protocol.ProtocolBuffersOverTCP">
1145
+ <member name="P:KRPC.Server.SerialIO.ByteServer.BaudRate">
1191
1146
  <summary>
1192
- A server using Protocol Buffer messages over a TCP connection.
1147
+ Baud rate.
1193
1148
  </summary>
1194
1149
  </member>
1195
- <member name="F:KRPC.Server.Protocol.ProtocolBuffersOverWebsockets">
1150
+ <member name="P:KRPC.Server.SerialIO.ByteServer.DataBits">
1196
1151
  <summary>
1197
- A server using Protocol Buffer messages over a WebSockets server.
1152
+ Number of data bits.
1198
1153
  </summary>
1199
1154
  </member>
1200
- <member name="F:KRPC.Server.Protocol.ProtocolBuffersOverSerialIO">
1155
+ <member name="P:KRPC.Server.SerialIO.ByteServer.Parity">
1201
1156
  <summary>
1202
- A server using Protocol Buffer messages over SerialIO.
1157
+ Number of parity bits.
1203
1158
  </summary>
1204
1159
  </member>
1205
- <member name="M:KRPC.Server.ProtocolBuffers.Encoder.Encode(System.Object)">
1160
+ <member name="P:KRPC.Server.SerialIO.ByteServer.StopBits">
1206
1161
  <summary>
1207
- Encode an object using the protocol buffer encoding scheme.
1162
+ Number of stop bits.
1208
1163
  </summary>
1209
1164
  </member>
1210
- <member name="M:KRPC.Server.ProtocolBuffers.Encoder.Decode(Google.Protobuf.ByteString,System.Type)">
1165
+ <member name="P:KRPC.Server.SerialIO.ByteServer.Info">
1211
1166
  <summary>
1212
- Decode a value of the given type.
1213
- Should not be called directly. This interface is used by service client stubs.
1167
+ Information about the server.
1214
1168
  </summary>
1215
1169
  </member>
1216
- <member name="M:KRPC.Server.ProtocolBuffers.RPCServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1170
+ <member name="P:KRPC.Server.SerialIO.ByteServer.Running">
1217
1171
  <summary>
1218
- Handle the initiation of a client connection request
1172
+ Whether the server is running.
1219
1173
  </summary>
1220
1174
  </member>
1221
- <member name="M:KRPC.Server.ProtocolBuffers.RPCServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1175
+ <member name="P:KRPC.Server.SerialIO.ByteServer.Clients">
1222
1176
  <summary>
1223
- Handle a client connection request
1177
+ Clients conneted to the server.
1224
1178
  </summary>
1225
1179
  </member>
1226
- <member name="M:KRPC.Server.ProtocolBuffers.StreamServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1180
+ <member name="P:KRPC.Server.SerialIO.ByteServer.BytesRead">
1227
1181
  <summary>
1228
- Handle the initiation of a client connection request
1182
+ Number of bytes received from clients.
1229
1183
  </summary>
1230
1184
  </member>
1231
- <member name="M:KRPC.Server.ProtocolBuffers.StreamServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1185
+ <member name="P:KRPC.Server.SerialIO.ByteServer.BytesWritten">
1232
1186
  <summary>
1233
- Handle a client connection request
1187
+ Number of bytes sent to clients.
1234
1188
  </summary>
1235
1189
  </member>
1236
- <member name="M:KRPC.Server.ProtocolBuffers.Utils.ReadMessage``1(KRPC.Server.IClient{System.Byte,System.Byte},System.Boolean@)">
1190
+ <member name="M:KRPC.Server.SerialIO.ByteServer.ClearStats">
1237
1191
  <summary>
1238
- Read a message from the client. If a partial message is received, its data is saved
1239
- and will be resumed on the next call. Timeout is set to true if the receipt times out.
1192
+ Clear statistics.
1240
1193
  </summary>
1241
1194
  </member>
1242
- <member name="M:KRPC.Server.ProtocolBuffers.Utils.ReadMessage``1(KRPC.Server.IStream{System.Byte,System.Byte},KRPC.Utils.DynamicBuffer@)">
1195
+ <member name="T:KRPC.Server.SerialIO.RPCServer">
1243
1196
  <summary>
1244
- Read a message from the client. If a partial message is received, its data is saved
1245
- in the DynamicBuffer so that this method can be called to try again later.
1197
+ RPC server for receiving requests and sending responses over an underlying message server.
1246
1198
  </summary>
1247
1199
  </member>
1248
- <member name="M:KRPC.Server.ProtocolBuffers.Utils.ReadMessage``1(``0@,Google.Protobuf.MessageParser{``0},System.Byte[],System.Int32,System.Int32)">
1200
+ <member name="M:KRPC.Server.SerialIO.RPCServer.#ctor(KRPC.Server.IServer{System.Byte,System.Byte})">
1249
1201
  <summary>
1250
- Attempt to parse a message from a byte buffer. Returns the number of bytes consumed.
1251
- If there is not enough data to decode a message, returns zero.
1202
+ Construct an RPC server from a byte server
1252
1203
  </summary>
1253
1204
  </member>
1254
- <member name="M:KRPC.Server.ProtocolBuffers.Utils.WriteMessage(KRPC.Server.IStream{System.Byte,System.Byte},Google.Protobuf.IMessage)">
1205
+ <member name="M:KRPC.Server.SerialIO.RPCServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1255
1206
  <summary>
1256
- Write a message
1207
+ When a client requests a connection, process the connection request
1257
1208
  </summary>
1258
1209
  </member>
1259
- <member name="M:KRPC.Server.ProtocolBuffers.Utils.WriteConnectionResponse(KRPC.Server.IClient{System.Byte,System.Byte})">
1210
+ <member name="M:KRPC.Server.SerialIO.RPCServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1260
1211
  <summary>
1261
- Write a connection response message
1212
+ Send an upgrade response to the client on successful connection.
1262
1213
  </summary>
1263
1214
  </member>
1264
- <member name="M:KRPC.Server.ProtocolBuffers.Utils.WriteConnectionResponse(KRPC.Server.IClient{System.Byte,System.Byte},KRPC.Schema.KRPC.ConnectionResponse.Types.Status,System.String)">
1215
+ <member name="T:KRPC.Server.SerialIO.StreamServer">
1265
1216
  <summary>
1266
- Write a connection response message
1217
+ Stream server for receiving requests and sending responses over an underlying message server.
1267
1218
  </summary>
1268
1219
  </member>
1269
- <member name="M:KRPC.Server.SerialIO.ByteServer.#ctor(System.String,System.UInt32,System.UInt16,KRPC.IO.Ports.Parity,KRPC.IO.Ports.StopBits)">
1220
+ <member name="M:KRPC.Server.SerialIO.StreamServer.#ctor">
1270
1221
  <summary>
1271
- Create a SerialIO server. After Start() is called, the server
1272
- will listen for connection requests on the port.
1222
+ Construct a stream server from a byte server
1273
1223
  </summary>
1274
1224
  </member>
1275
- <member name="M:KRPC.Server.SerialIO.ByteServer.ClientConnectionRequest(System.Byte[])">
1225
+ <member name="M:KRPC.Server.SerialIO.StreamServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1276
1226
  <summary>
1277
- Called by RPCStream.Read when a client sends a connection request message,
1278
- but another client is already connected.
1227
+ Deny requests to create a client as the stream server is not supported over SerialIO
1279
1228
  </summary>
1280
1229
  </member>
1281
- <member name="M:KRPC.Server.SerialIO.RPCServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1230
+ <member name="T:KRPC.Server.Server">
1282
1231
  <summary>
1283
- When a client requests a connection, process the connection request
1232
+ A kRPC server.
1284
1233
  </summary>
1285
1234
  </member>
1286
- <member name="M:KRPC.Server.SerialIO.RPCServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1235
+ <member name="P:KRPC.Server.Server.Id">
1287
1236
  <summary>
1288
- Send an upgrade response to the client on successful connection.
1237
+ Identifier of the server.
1289
1238
  </summary>
1290
1239
  </member>
1291
- <member name="M:KRPC.Server.SerialIO.StreamServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1240
+ <member name="P:KRPC.Server.Server.Protocol">
1292
1241
  <summary>
1293
- Deny requests to create a client as the stream server is not supported over SerialIO
1242
+ Protocol of the server.
1294
1243
  </summary>
1295
1244
  </member>
1296
- <member name="T:KRPC.Server.Server">
1245
+ <member name="P:KRPC.Server.Server.Name">
1297
1246
  <summary>
1298
- A kRPC server.
1247
+ Name of the server.
1299
1248
  </summary>
1300
1249
  </member>
1301
1250
  <member name="E:KRPC.Server.Server.OnStarted">
@@ -1323,6 +1272,11 @@
1323
1272
  Event triggered when a client has disconnected
1324
1273
  </summary>
1325
1274
  </member>
1275
+ <member name="M:KRPC.Server.Server.#ctor(System.Guid,KRPC.Server.Protocol,System.String,KRPC.Server.IServer{KRPC.Service.Messages.Request,KRPC.Service.Messages.Response},KRPC.Server.IServer{KRPC.Service.Messages.NoMessage,KRPC.Service.Messages.StreamUpdate})">
1276
+ <summary>
1277
+ Construct a server, from an RPC server and stream server instance.
1278
+ </summary>
1279
+ </member>
1326
1280
  <member name="M:KRPC.Server.Server.Start">
1327
1281
  <summary>
1328
1282
  Start the server
@@ -1389,6 +1343,11 @@
1389
1343
  The client.
1390
1344
  </summary>
1391
1345
  </member>
1346
+ <member name="T:KRPC.Server.ServerException">
1347
+ <summary>
1348
+ Base class for server exceptions.
1349
+ </summary>
1350
+ </member>
1392
1351
  <member name="T:KRPC.Server.ServerStartedEventArgs">
1393
1352
  <summary>
1394
1353
  Arguments passed to a server started event
@@ -1399,6 +1358,11 @@
1399
1358
  Arguments passed to a server started event
1400
1359
  </summary>
1401
1360
  </member>
1361
+ <member name="T:KRPC.Server.TCP.NetworkInformation">
1362
+ <summary>
1363
+ Utilities for getting information about the TCP/IP network.
1364
+ </summary>
1365
+ </member>
1402
1366
  <member name="P:KRPC.Server.TCP.NetworkInformation.LocalIPAddresses">
1403
1367
  <summary>
1404
1368
  Returns the IPv4 address of all local network interfaces.
@@ -1409,6 +1373,41 @@
1409
1373
  Returns the IPv4 subnet mask of the network interface with the given IPv4 address.
1410
1374
  </summary>
1411
1375
  </member>
1376
+ <member name="T:KRPC.Server.TCP.TCPServer">
1377
+ <summary>
1378
+ A raw TCP server.
1379
+ </summary>
1380
+ </member>
1381
+ <member name="E:KRPC.Server.TCP.TCPServer.OnStarted">
1382
+ <summary>
1383
+ Event handler for when the server starts.
1384
+ </summary>
1385
+ </member>
1386
+ <member name="E:KRPC.Server.TCP.TCPServer.OnStopped">
1387
+ <summary>
1388
+ Event handler for when the server stops.
1389
+ </summary>
1390
+ </member>
1391
+ <member name="E:KRPC.Server.TCP.TCPServer.OnClientRequestingConnection">
1392
+ <summary>
1393
+ Event handler for when a new client requests a connection.
1394
+ </summary>
1395
+ </member>
1396
+ <member name="E:KRPC.Server.TCP.TCPServer.OnClientConnected">
1397
+ <summary>
1398
+ Event handler for when a new client has connected.
1399
+ </summary>
1400
+ </member>
1401
+ <member name="E:KRPC.Server.TCP.TCPServer.OnClientActivity">
1402
+ <summary>
1403
+ Event handler when client activity occurs.
1404
+ </summary>
1405
+ </member>
1406
+ <member name="E:KRPC.Server.TCP.TCPServer.OnClientDisconnected">
1407
+ <summary>
1408
+ Event handler when a client disconnects.
1409
+ </summary>
1410
+ </member>
1412
1411
  <member name="F:KRPC.Server.TCP.TCPServer.actualPort">
1413
1412
  <summary>
1414
1413
  The actual local port number of the server. Will be identical to
@@ -1446,6 +1445,56 @@
1446
1445
  connections to the specified local address and port number.
1447
1446
  </summary>
1448
1447
  </member>
1448
+ <member name="M:KRPC.Server.TCP.TCPServer.Start">
1449
+ <summary>
1450
+ Start the server.
1451
+ </summary>
1452
+ </member>
1453
+ <member name="M:KRPC.Server.TCP.TCPServer.Stop">
1454
+ <summary>
1455
+ Stop the server.
1456
+ </summary>
1457
+ </member>
1458
+ <member name="M:KRPC.Server.TCP.TCPServer.Update">
1459
+ <summary>
1460
+ Update the server.
1461
+ </summary>
1462
+ </member>
1463
+ <member name="P:KRPC.Server.TCP.TCPServer.Address">
1464
+ <summary>
1465
+ Address the server is listening on. Format depends on the server protocol.
1466
+ </summary>
1467
+ </member>
1468
+ <member name="P:KRPC.Server.TCP.TCPServer.Info">
1469
+ <summary>
1470
+ Information about the server.
1471
+ </summary>
1472
+ </member>
1473
+ <member name="P:KRPC.Server.TCP.TCPServer.Running">
1474
+ <summary>
1475
+ Whether the server is running.
1476
+ </summary>
1477
+ </member>
1478
+ <member name="P:KRPC.Server.TCP.TCPServer.Clients">
1479
+ <summary>
1480
+ Clients conneted to the server.
1481
+ </summary>
1482
+ </member>
1483
+ <member name="P:KRPC.Server.TCP.TCPServer.BytesRead">
1484
+ <summary>
1485
+ Number of bytes received from clients.
1486
+ </summary>
1487
+ </member>
1488
+ <member name="P:KRPC.Server.TCP.TCPServer.BytesWritten">
1489
+ <summary>
1490
+ Number of bytes sent to clients.
1491
+ </summary>
1492
+ </member>
1493
+ <member name="M:KRPC.Server.TCP.TCPServer.ClearStats">
1494
+ <summary>
1495
+ Clear statistics.
1496
+ </summary>
1497
+ </member>
1449
1498
  <member name="P:KRPC.Server.TCP.TCPServer.ListenAddress">
1450
1499
  <summary>
1451
1500
  Local address that the server listens on.
@@ -1519,6 +1568,11 @@
1519
1568
  Create a header with the given op code and payload length.
1520
1569
  </summary>
1521
1570
  </member>
1571
+ <member name="T:KRPC.Server.WebSockets.RPCServer">
1572
+ <summary>
1573
+ RPC server for receiving requests and sending responses over an underlying message server.
1574
+ </summary>
1575
+ </member>
1522
1576
  <member name="M:KRPC.Server.WebSockets.RPCServer.#ctor(KRPC.Server.IServer{System.Byte,System.Byte},System.Boolean)">
1523
1577
  <summary>
1524
1578
  Create a websockets RPC server.
@@ -1526,6 +1580,11 @@
1526
1580
  This is used for running the Autobahn test suite.
1527
1581
  </summary>
1528
1582
  </member>
1583
+ <member name="P:KRPC.Server.WebSockets.RPCServer.Address">
1584
+ <summary>
1585
+ Server address.
1586
+ </summary>
1587
+ </member>
1529
1588
  <member name="M:KRPC.Server.WebSockets.RPCServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1530
1589
  <summary>
1531
1590
  When a client requests a connection, process the websockets HTTP request
@@ -1563,20 +1622,35 @@
1563
1622
  Position up to which the fragments payload has been verified as valid UTF8 (for text messages).
1564
1623
  </summary>
1565
1624
  </member>
1566
- <member name="M:KRPC.Server.WebSockets.StreamServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1625
+ <member name="T:KRPC.Server.WebSockets.StreamServer">
1567
1626
  <summary>
1568
- When a client requests a connection, process the websockets HTTP request
1627
+ Stream server for receiving requests and sending responses over an underlying message server.
1569
1628
  </summary>
1570
1629
  </member>
1571
- <member name="M:KRPC.Server.WebSockets.StreamServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1630
+ <member name="M:KRPC.Server.WebSockets.StreamServer.#ctor(KRPC.Server.IServer{System.Byte,System.Byte})">
1572
1631
  <summary>
1573
- Send an upgrade response to the client on successful connection.
1632
+ Construct a stream server from a byte server
1574
1633
  </summary>
1575
1634
  </member>
1576
- <member name="M:KRPC.Server.WebSockets.StreamServer.GetGuid(KRPC.Server.HTTP.Request)">
1635
+ <member name="P:KRPC.Server.WebSockets.StreamServer.Address">
1577
1636
  <summary>
1578
- Get the client guid from a connection request
1579
- Returns an empty guid on failure
1637
+ Address of the server.
1638
+ </summary>
1639
+ </member>
1640
+ <member name="M:KRPC.Server.WebSockets.StreamServer.CreateClient(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1641
+ <summary>
1642
+ When a client requests a connection, process the websockets HTTP request
1643
+ </summary>
1644
+ </member>
1645
+ <member name="M:KRPC.Server.WebSockets.StreamServer.HandleClientRequestingConnection(System.Object,KRPC.Server.ClientRequestingConnectionEventArgs{System.Byte,System.Byte})">
1646
+ <summary>
1647
+ Send an upgrade response to the client on successful connection.
1648
+ </summary>
1649
+ </member>
1650
+ <member name="M:KRPC.Server.WebSockets.StreamServer.GetGuid(KRPC.Server.HTTP.Request)">
1651
+ <summary>
1652
+ Get the client guid from a connection request
1653
+ Returns an empty guid on failure
1580
1654
  </summary>
1581
1655
  </member>
1582
1656
  <member name="T:KRPC.Service.Attributes.KRPCClassAttribute">
@@ -1601,26 +1675,20 @@
1601
1675
  </member>
1602
1676
  <member name="T:KRPC.Service.Attributes.KRPCDefaultValueAttribute">
1603
1677
  <summary>
1604
- A default value for a kRPC procedure parameter.
1678
+ A default value for a kRPC procedure/class method parameter.
1605
1679
  This attribute can be used as a workaround to set the default value to a
1606
1680
  non-compile time constant, which is not ordinarily permitted in C#.
1607
1681
  </summary>
1608
1682
  </member>
1609
- <member name="M:KRPC.Service.Attributes.KRPCDefaultValueAttribute.#ctor(System.String,System.Type)">
1683
+ <member name="M:KRPC.Service.Attributes.KRPCDefaultValueAttribute.#ctor(System.Type)">
1610
1684
  <summary>
1611
- Attach a default parameter to a kRPC procedure parameter.
1685
+ Attach a default parameter to a kRPC procedure/class method parameter.
1612
1686
  </summary>
1613
- <param name="name">Name of the parameter.</param>
1614
1687
  <param name="valueConstructor">
1615
1688
  The type of a static class with a static method
1616
1689
  named Create that returns an instance of the default value.
1617
1690
  </param>
1618
1691
  </member>
1619
- <member name="P:KRPC.Service.Attributes.KRPCDefaultValueAttribute.Name">
1620
- <summary>
1621
- Name of the parameter.
1622
- </summary>
1623
- </member>
1624
1692
  <member name="P:KRPC.Service.Attributes.KRPCDefaultValueAttribute.ValueConstructor">
1625
1693
  <summary>
1626
1694
  Type of the class containing a static Create method that
@@ -1681,6 +1749,12 @@
1681
1749
  A kRPC method.
1682
1750
  </summary>
1683
1751
  </member>
1752
+ <member name="T:KRPC.Service.Attributes.KRPCNullableAttribute">
1753
+ <summary>
1754
+ A nullable parameter in a kRPC procedure, method or property.
1755
+ This attribute can be used to mark a parameter as being nullable.
1756
+ </summary>
1757
+ </member>
1684
1758
  <member name="T:KRPC.Service.Attributes.KRPCProcedureAttribute">
1685
1759
  <summary>
1686
1760
  A kRPC procedure.
@@ -1762,6 +1836,21 @@
1762
1836
  The current game scene
1763
1837
  </summary>
1764
1838
  </member>
1839
+ <member name="P:KRPC.Service.CallContext.IsPaused">
1840
+ <summary>
1841
+ Delegate used to check whether the game is paused
1842
+ </summary>
1843
+ </member>
1844
+ <member name="P:KRPC.Service.CallContext.Pause">
1845
+ <summary>
1846
+ Delegate used to pause the game
1847
+ </summary>
1848
+ </member>
1849
+ <member name="P:KRPC.Service.CallContext.Unpause">
1850
+ <summary>
1851
+ Delegate used to unpause the game
1852
+ </summary>
1853
+ </member>
1765
1854
  <member name="T:KRPC.Service.ClassMethodHandler">
1766
1855
  <summary>
1767
1856
  Used to invoke a class method with the KRPCMethod attribute.
@@ -1802,7 +1891,7 @@
1802
1891
  determine if the event is triggered.
1803
1892
  </summary>
1804
1893
  </member>
1805
- <member name="M:KRPC.Service.Event.#ctor(KRPC.Continuations.Continuation{System.Boolean})">
1894
+ <member name="M:KRPC.Service.Event.#ctor(System.Func{System.Boolean})">
1806
1895
  <summary>
1807
1896
  Create an event stream, that calls a continuation when it updates to
1808
1897
  determine if the event is triggered.
@@ -1880,7 +1969,29 @@
1880
1969
  </member>
1881
1970
  <member name="T:KRPC.Service.IProcedureHandler">
1882
1971
  <summary>
1883
- Use to invoke the method that implement an RPC
1972
+ Use to invoke the method that implements an RPC
1973
+ </summary>
1974
+ </member>
1975
+ <member name="M:KRPC.Service.IProcedureHandler.Invoke(System.Object[])">
1976
+ <summary>
1977
+ Invoke the RPC with the given arguments.
1978
+ If the RPC is a class method, the first argument should
1979
+ be an instance of the class.
1980
+ </summary>
1981
+ </member>
1982
+ <member name="P:KRPC.Service.IProcedureHandler.Parameters">
1983
+ <summary>
1984
+ Information about the parameters of the method
1985
+ </summary>
1986
+ </member>
1987
+ <member name="P:KRPC.Service.IProcedureHandler.ReturnType">
1988
+ <summary>
1989
+ Return type of the method
1990
+ </summary>
1991
+ </member>
1992
+ <member name="P:KRPC.Service.IProcedureHandler.ReturnIsNullable">
1993
+ <summary>
1994
+ Whether the method could return null
1884
1995
  </summary>
1885
1996
  </member>
1886
1997
  <member name="T:KRPC.Service.KRPC.ArgumentException">
@@ -2454,1400 +2565,1025 @@
2454
2565
  </member>
2455
2566
  <member name="M:KRPC.Service.KRPC.Type.Bool">
2456
2567
  <summary>
2457
- Bool type.
2458
- </summary>
2459
- </member>
2460
- <member name="M:KRPC.Service.KRPC.Type.String">
2461
- <summary>
2462
- String type.
2463
- </summary>
2464
- </member>
2465
- <member name="T:KRPC.Service.Messages.NoMessage">
2466
- <summary>
2467
- Used to denote the absense of a message.
2468
- </summary>
2469
- </member>
2470
- <member name="M:KRPC.Service.ObjectStore.AddInstance(System.Object)">
2471
- <summary>
2472
- Register an instance with the object store, associating a unique object
2473
- identifier with the instance that can be passed to clients.
2474
- If the instance has already been added, this just returns it's object identifier.
2475
- </summary>
2476
- </member>
2477
- <member name="M:KRPC.Service.ObjectStore.RemoveInstance(System.Object)">
2478
- <summary>
2479
- Remove an instance from the object store.
2480
- Note: this doesn't destroy the instance, just removes the reference to it.
2481
- </summary>
2482
- </member>
2483
- <member name="M:KRPC.Service.ObjectStore.GetInstance(System.UInt64)">
2484
- <summary>
2485
- Get an instance by it's unique object identifier.
2486
- </summary>
2487
- </member>
2488
- <member name="M:KRPC.Service.ObjectStore.GetObjectId(System.Object)">
2489
- <summary>
2490
- Get the object identifier for a given instance.
2491
- </summary>
2492
- </member>
2493
- <member name="T:KRPC.Service.ProcedureCallContinuation">
2494
- <summary>
2495
- A continuation that runs a procedure call.
2496
- </summary>
2497
- </member>
2498
- <member name="T:KRPC.Service.ProcedureHandler">
2499
- <summary>
2500
- Used to invoke a static method with the KRPCProcedure attribute.
2501
- </summary>
2502
- </member>
2503
- <member name="T:KRPC.Service.RequestContinuation">
2504
- <summary>
2505
- A continuation that runs a client request.
2506
- </summary>
2507
- </member>
2508
- <member name="M:KRPC.Service.RequestContinuation.Run">
2509
- <summary>
2510
- Execute the procedure calls contained in the request.
2511
- Throws a YieldException if any of the procedure calls yield. Calling this method again will
2512
- then re-execute those procedure calls that yielded.
2513
- If all of the procedures complete, with either a return value or an error,
2514
- a response containing all of the return values and errors is returned.
2515
- </summary>
2516
- </member>
2517
- <member name="T:KRPC.Service.Scanner.ClassSignature">
2518
- <summary>
2519
- Signature information for a class, including class name and documentation.
2520
- </summary>
2521
- </member>
2522
- <member name="P:KRPC.Service.Scanner.ClassSignature.Name">
2523
- <summary>
2524
- Name of the class, not including the service it is in.
2525
- </summary>
2526
- </member>
2527
- <member name="P:KRPC.Service.Scanner.ClassSignature.FullyQualifiedName">
2528
- <summary>
2529
- Name of the class including the service it is in.
2530
- I.e. ServiceName.ClassName
2531
- </summary>
2532
- </member>
2533
- <member name="P:KRPC.Service.Scanner.ClassSignature.Documentation">
2534
- <summary>
2535
- Documentation for the class
2536
- </summary>
2537
- </member>
2538
- <member name="T:KRPC.Service.Scanner.EnumerationSignature">
2539
- <summary>
2540
- Signature information for an enumeration type, including name, values and documentation.
2541
- </summary>
2542
- </member>
2543
- <member name="P:KRPC.Service.Scanner.EnumerationSignature.Name">
2544
- <summary>
2545
- Name of the enumeration, not including the service it is in.
2546
- </summary>
2547
- </member>
2548
- <member name="P:KRPC.Service.Scanner.EnumerationSignature.FullyQualifiedName">
2549
- <summary>
2550
- Name of the enumeration including the service it is in.
2551
- </summary>
2552
- </member>
2553
- <member name="P:KRPC.Service.Scanner.EnumerationSignature.Documentation">
2554
- <summary>
2555
- Documentation for the procedure
2556
- </summary>
2557
- </member>
2558
- <member name="T:KRPC.Service.Scanner.EnumerationValueSignature">
2559
- <summary>
2560
- Signature information for an enumeration type, including name, values and documentation.
2561
- </summary>
2562
- </member>
2563
- <member name="P:KRPC.Service.Scanner.EnumerationValueSignature.Name">
2564
- <summary>
2565
- Name of the enumeration value.
2566
- </summary>
2567
- </member>
2568
- <member name="P:KRPC.Service.Scanner.EnumerationValueSignature.FullyQualifiedName">
2569
- <summary>
2570
- Name of the enumeration value including the service and enum it is in.
2571
- </summary>
2572
- </member>
2573
- <member name="P:KRPC.Service.Scanner.EnumerationValueSignature.Value">
2574
- <summary>
2575
- Integer value of the enumeration value.
2576
- </summary>
2577
- </member>
2578
- <member name="P:KRPC.Service.Scanner.EnumerationValueSignature.Documentation">
2579
- <summary>
2580
- Documentation for the enumeration value.
2581
- </summary>
2582
- </member>
2583
- <member name="T:KRPC.Service.Scanner.ExceptionSignature">
2584
- <summary>
2585
- Signature information for an exception, including class name and documentation.
2586
- </summary>
2587
- </member>
2588
- <member name="P:KRPC.Service.Scanner.ExceptionSignature.Name">
2589
- <summary>
2590
- Name of the exception, not including the service it is in.
2591
- </summary>
2592
- </member>
2593
- <member name="P:KRPC.Service.Scanner.ExceptionSignature.FullyQualifiedName">
2594
- <summary>
2595
- Name of the exception including the service it is in.
2596
- I.e. ServiceName.ClassName
2597
- </summary>
2598
- </member>
2599
- <member name="P:KRPC.Service.Scanner.ExceptionSignature.Documentation">
2600
- <summary>
2601
- Documentation for the exception
2602
- </summary>
2603
- </member>
2604
- <member name="T:KRPC.Service.Scanner.ParameterSignature">
2605
- <summary>
2606
- Signature information for a parameter.
2607
- </summary>
2608
- </member>
2609
- <member name="P:KRPC.Service.Scanner.ParameterSignature.Name">
2610
- <summary>
2611
- Name of the parameter.
2612
- </summary>
2613
- </member>
2614
- <member name="P:KRPC.Service.Scanner.ParameterSignature.Type">
2615
- <summary>
2616
- Type of the parameter.
2617
- </summary>
2618
- </member>
2619
- <member name="P:KRPC.Service.Scanner.ParameterSignature.HasDefaultValue">
2620
- <summary>
2621
- True if this parameter is optional and has a default argument.
2622
- </summary>
2623
- </member>
2624
- <member name="P:KRPC.Service.Scanner.ParameterSignature.DefaultValue">
2625
- <summary>
2626
- Default argument, if <see cref="P:KRPC.Service.Scanner.ParameterSignature.HasDefaultValue" /> is true.
2627
- </summary>
2628
- </member>
2629
- <member name="T:KRPC.Service.Scanner.ProcedureSignature">
2630
- <summary>
2631
- Signature information for a procedure, including procedure name,
2632
- parameter types and return types.
2633
- </summary>
2634
- </member>
2635
- <member name="P:KRPC.Service.Scanner.ProcedureSignature.Name">
2636
- <summary>
2637
- Name of the procedure, not including the service it is in.
2638
- </summary>
2639
- </member>
2640
- <member name="P:KRPC.Service.Scanner.ProcedureSignature.FullyQualifiedName">
2641
- <summary>
2642
- Name of the procedure including the service it is in.
2643
- I.e. ServiceName.ProcedureName
2644
- </summary>
2645
- </member>
2646
- <member name="P:KRPC.Service.Scanner.ProcedureSignature.Id">
2647
- <summary>
2648
- Id of the procedure. Uniquely identifies the procedure within the service.
2649
- </summary>
2650
- </member>
2651
- <member name="P:KRPC.Service.Scanner.ProcedureSignature.Documentation">
2652
- <summary>
2653
- Documentation for the procedure
2654
- </summary>
2655
- </member>
2656
- <member name="P:KRPC.Service.Scanner.ProcedureSignature.Handler">
2657
- <summary>
2658
- The method that implements the procedure.
2659
- </summary>
2660
- </member>
2661
- <member name="P:KRPC.Service.Scanner.ProcedureSignature.GameScene">
2662
- <summary>
2663
- Which game scene(s) the service should be available during
2664
- </summary>
2665
- </member>
2666
- <member name="P:KRPC.Service.Scanner.ServiceSignature.Name">
2667
- <summary>
2668
- The name of the service
2669
- </summary>
2670
- </member>
2671
- <member name="P:KRPC.Service.Scanner.ServiceSignature.Id">
2672
- <summary>
2673
- The id of the service
2674
- </summary>
2675
- </member>
2676
- <member name="P:KRPC.Service.Scanner.ServiceSignature.Documentation">
2677
- <summary>
2678
- Documentation for the service
2679
- </summary>
2680
- </member>
2681
- <member name="P:KRPC.Service.Scanner.ServiceSignature.Procedures">
2682
- <summary>
2683
- A mapping from procedure names to signatures for all RPCs in this service
2684
- </summary>
2685
- </member>
2686
- <member name="P:KRPC.Service.Scanner.ServiceSignature.Classes">
2687
- <summary>
2688
- The classes defined in this service
2689
- </summary>
2690
- </member>
2691
- <member name="P:KRPC.Service.Scanner.ServiceSignature.Enumerations">
2692
- <summary>
2693
- The enumerations defined in this service, and their allowed values
2694
- </summary>
2695
- </member>
2696
- <member name="P:KRPC.Service.Scanner.ServiceSignature.Exceptions">
2697
- <summary>
2698
- The exceptions defined in this service
2699
- </summary>
2700
- </member>
2701
- <member name="F:KRPC.Service.Scanner.ServiceSignature.gameScene">
2702
- <summary>
2703
- The game scene of the service, to be inherited by procedures in the service.
2704
- </summary>
2705
- </member>
2706
- <member name="M:KRPC.Service.Scanner.ServiceSignature.#ctor(System.Type,System.UInt32)">
2707
- <summary>
2708
- Create a service signature from a C# type annotated with the KRPCService attribute
2709
- </summary>
2710
- </member>
2711
- <member name="M:KRPC.Service.Scanner.ServiceSignature.#ctor(System.String,System.UInt32)">
2712
- <summary>
2713
- Create a service with the given name.
2714
- </summary>
2715
- </member>
2716
- <member name="M:KRPC.Service.Scanner.ServiceSignature.AddProcedure(KRPC.Service.Scanner.ProcedureSignature)">
2717
- <summary>
2718
- Add a procedure to the service
2719
- </summary>
2720
- </member>
2721
- <member name="M:KRPC.Service.Scanner.ServiceSignature.AddProcedure(System.Reflection.MethodInfo)">
2722
- <summary>
2723
- Add a procedure to the service for the given method annotated with the KRPCProcedure attribute.
2724
- </summary>
2725
- </member>
2726
- <member name="M:KRPC.Service.Scanner.ServiceSignature.AddProperty(System.Reflection.PropertyInfo)">
2727
- <summary>
2728
- Add a property to the service for the given property annotated with the KRPCProperty attribute.
2729
- </summary>
2730
- </member>
2731
- <member name="M:KRPC.Service.Scanner.ServiceSignature.AddClass(System.Type)">
2732
- <summary>
2733
- Add a class to the service for the given class type annotated with the KRPCClass attribute.
2734
- Returns the name of the class.
2735
- </summary>
2736
- </member>
2737
- <member name="M:KRPC.Service.Scanner.ServiceSignature.AddEnum(System.Type)">
2738
- <summary>
2739
- Add an enum to the service for the given enum type annotated with the KRPCEnum attribute.
2740
- Returns the name of the enumeration.
2741
- </summary>
2742
- </member>
2743
- <member name="M:KRPC.Service.Scanner.ServiceSignature.AddException(System.Type)">
2744
- <summary>
2745
- Add an exception to the service for the given exception type annotated with the KRPCException attribute.
2746
- Returns the name of the exception.
2747
- </summary>
2748
- </member>
2749
- <member name="M:KRPC.Service.Scanner.ServiceSignature.AddClassMethod(System.String,System.Type,System.Reflection.MethodInfo)">
2750
- <summary>
2751
- Add a class method to the given class in the given service for the given class type annotated with the KRPCClass attribute.
2752
- </summary>
2753
- </member>
2754
- <member name="M:KRPC.Service.Scanner.ServiceSignature.AddClassProperty(System.String,System.Type,System.Reflection.PropertyInfo)">
2755
- <summary>
2756
- Add a class property to the given class in the given service for the given property annotated with the KRPCProperty attribute.
2757
- </summary>
2758
- </member>
2759
- <member name="M:KRPC.Service.Services.#ctor">
2760
- <summary>
2761
- Create a Services instance. Scans the loaded assemblies for services, procedures etc.
2762
- </summary>
2763
- </member>
2764
- <member name="M:KRPC.Service.Services.ExecuteCall(KRPC.Service.Scanner.ProcedureSignature,KRPC.Service.Messages.ProcedureCall)">
2765
- <summary>
2766
- Executes a procedure call and returns the result.
2767
- Throws YieldException, containing a continuation, if the call yields.
2768
- Throws RPCException if the call fails.
2769
- </summary>
2770
- </member>
2771
- <member name="M:KRPC.Service.Services.ExecuteCall(KRPC.Service.Scanner.ProcedureSignature,System.Object[])">
2772
- <summary>
2773
- Executes a procedure call and returns the result.
2774
- Throws YieldException, containing a continuation, if the call yields.
2775
- Throws RPCException if the call fails.
2776
- </summary>
2777
- </member>
2778
- <member name="M:KRPC.Service.Services.ExecuteCall(KRPC.Service.Scanner.ProcedureSignature,KRPC.Continuations.IContinuation)">
2779
- <summary>
2780
- Executes a procedure call and returns the result.
2781
- Throws YieldException, containing a continuation, if the call yields.
2782
- Throws RPCException if the call fails.
2783
- </summary>
2784
- </member>
2785
- <member name="M:KRPC.Service.Services.GetArguments(KRPC.Service.Scanner.ProcedureSignature,System.Collections.Generic.IList{KRPC.Service.Messages.Argument})">
2786
- <summary>
2787
- Get the arguments for a procedure from a list of argument messages.
2788
- </summary>
2789
- </member>
2790
- <member name="M:KRPC.Service.Services.CheckReturnValue(KRPC.Service.Scanner.ProcedureSignature,System.Object)">
2791
- <summary>
2792
- Check the value returned by a procedure handler.
2793
- </summary>
2794
- </member>
2795
- <member name="M:KRPC.Service.Services.HandleException(System.Exception)">
2796
- <summary>
2797
- Convert an exception thrown by an RPC into an error message.
2798
- </summary>
2799
- </member>
2800
- <member name="T:KRPC.Service.Stream">
2801
- <summary>
2802
- A stream.
2803
- </summary>
2804
- </member>
2805
- <member name="P:KRPC.Service.Stream.Started">
2806
- <summary>
2807
- Whether the stream has been started.
2808
- </summary>
2809
- </member>
2810
- <member name="P:KRPC.Service.Stream.Result">
2811
- <summary>
2812
- The value of the stream.
2813
- </summary>
2814
- </member>
2815
- <member name="M:KRPC.Service.Stream.#ctor">
2816
- <summary>
2817
- Construct a stream.
2818
- </summary>
2819
- </member>
2820
- <member name="M:KRPC.Service.Stream.Start">
2821
- <summary>
2822
- Start the stream.
2823
- </summary>
2824
- </member>
2825
- <member name="P:KRPC.Service.Stream.Rate">
2826
- <summary>
2827
- The update rate of the stream in Hz.
2828
- </summary>
2829
- </member>
2830
- <member name="M:KRPC.Service.Stream.Update">
2831
- <summary>
2832
- Called when the stream value should be updated.
2833
- Rate limiting is applied by this method.
2834
- </summary>
2835
- </member>
2836
- <member name="M:KRPC.Service.Stream.UpdateInternal">
2837
- <summary>
2838
- Implements the actual stream update.
2839
- </summary>
2840
- </member>
2841
- <member name="M:KRPC.Service.Stream.Sent">
2842
- <summary>
2843
- Called when the stream value has been sent to the client.
2844
- </summary>
2845
- </member>
2846
- <member name="P:KRPC.Service.Stream.Changed">
2847
- <summary>
2848
- Returns whether the stream value has changed.
2568
+ Bool type.
2849
2569
  </summary>
2850
2570
  </member>
2851
- <member name="T:KRPC.Service.StreamContinuation">
2571
+ <member name="M:KRPC.Service.KRPC.Type.String">
2852
2572
  <summary>
2853
- A continuation that runs a stream.
2573
+ String type.
2854
2574
  </summary>
2855
2575
  </member>
2856
- <member name="M:KRPC.Service.StreamContinuation.#ctor(KRPC.Service.Messages.ProcedureCall)">
2576
+ <member name="T:KRPC.Service.Messages.NoMessage">
2857
2577
  <summary>
2858
- Create a stream continuation used to execute a stream RPC
2578
+ Used to denote the absense of a message.
2859
2579
  </summary>
2860
2580
  </member>
2861
- <member name="M:KRPC.Service.StreamContinuation.Run">
2581
+ <member name="M:KRPC.Service.ObjectStore.AddInstance(System.Object)">
2862
2582
  <summary>
2863
- Execute the procedure call for the stream request.
2864
- Throws a YieldException if the procedure calls yield.
2865
- Calling this method again will then re-execute the procedure call that yielded.
2866
- If the procedure completes a return value is returned, and the continuation is reset
2867
- such that it can be called again.
2868
- If the procedure throws an exception, the continuation should not be run
2869
- again (the stream should be removed from the server).
2583
+ Register an instance with the object store, associating a unique object
2584
+ identifier with the instance that can be passed to clients.
2585
+ If the instance has already been added, this just returns it's object identifier.
2870
2586
  </summary>
2871
2587
  </member>
2872
- <member name="M:KRPC.Service.TypeUtils.IsAValidIdentifier(System.String)">
2588
+ <member name="M:KRPC.Service.ObjectStore.RemoveInstance(System.Object)">
2873
2589
  <summary>
2874
- Returns true if the given identifier is a valid kRPC identifier.
2875
- A valid identifier is a non-zero length string, containing letters and numbers,
2876
- starting with an uppercase letter.
2590
+ Remove an instance from the object store.
2591
+ Note: this doesn't destroy the instance, just removes the reference to it.
2877
2592
  </summary>
2878
2593
  </member>
2879
- <member name="M:KRPC.Service.TypeUtils.IsAValidType(System.Type)">
2594
+ <member name="M:KRPC.Service.ObjectStore.GetInstance(System.UInt64)">
2880
2595
  <summary>
2881
- Returns true if the given type can be used as a kRPC type.
2596
+ Get an instance by it's unique object identifier.
2882
2597
  </summary>
2883
2598
  </member>
2884
- <member name="M:KRPC.Service.TypeUtils.IsAValidKeyType(System.Type)">
2599
+ <member name="M:KRPC.Service.ObjectStore.GetObjectId(System.Object)">
2885
2600
  <summary>
2886
- Returns true if the given type can be used as a kRPC key type in dictionaries.
2601
+ Get the object identifier for a given instance.
2887
2602
  </summary>
2888
2603
  </member>
2889
- <member name="M:KRPC.Service.TypeUtils.IsAValueType(System.Type)">
2604
+ <member name="T:KRPC.Service.ProcedureCallContinuation">
2890
2605
  <summary>
2891
- Returns true if the given type is a kRPC value type.
2606
+ A continuation that runs a procedure call.
2892
2607
  </summary>
2893
2608
  </member>
2894
- <member name="M:KRPC.Service.TypeUtils.IsAMessageType(System.Type)">
2609
+ <member name="T:KRPC.Service.ProcedureHandler">
2895
2610
  <summary>
2896
- Returns true if the given type is a kRPC message type.
2611
+ Used to invoke a static method with the KRPCProcedure attribute.
2897
2612
  </summary>
2898
2613
  </member>
2899
- <member name="M:KRPC.Service.TypeUtils.IsAClassType(System.Reflection.ICustomAttributeProvider)">
2614
+ <member name="T:KRPC.Service.ProcedureParameter">
2900
2615
  <summary>
2901
- Returns true if the given type can be used as a kRPC class type.
2616
+ Information about a procedure parameter.
2902
2617
  </summary>
2903
2618
  </member>
2904
- <member name="M:KRPC.Service.TypeUtils.IsAnEnumType(System.Type)">
2619
+ <member name="P:KRPC.Service.ProcedureParameter.Type">
2905
2620
  <summary>
2906
- Returns true if the given type can be used as a kRPC enum type.
2621
+ Type of the parameter.
2907
2622
  </summary>
2908
2623
  </member>
2909
- <member name="M:KRPC.Service.TypeUtils.IsACollectionType(System.Type)">
2624
+ <member name="P:KRPC.Service.ProcedureParameter.Name">
2910
2625
  <summary>
2911
- Returns true if the given type can be used as a kRPC collection type.
2626
+ Name of the parameter.
2912
2627
  </summary>
2913
2628
  </member>
2914
- <member name="M:KRPC.Service.TypeUtils.IsATupleCollectionType(System.Type)">
2629
+ <member name="P:KRPC.Service.ProcedureParameter.DefaultValue">
2915
2630
  <summary>
2916
- Returns true if the given type can be used as a kRPC tuple collection type.
2631
+ Default value of the parameter.
2917
2632
  </summary>
2918
2633
  </member>
2919
- <member name="M:KRPC.Service.TypeUtils.IsAListCollectionType(System.Type)">
2634
+ <member name="P:KRPC.Service.ProcedureParameter.HasDefaultValue">
2920
2635
  <summary>
2921
- Returns true if the given type can be used as a kRPC list collection type.
2636
+ Whether the parameter has a Default value.
2922
2637
  </summary>
2923
2638
  </member>
2924
- <member name="M:KRPC.Service.TypeUtils.IsASetCollectionType(System.Type)">
2639
+ <member name="P:KRPC.Service.ProcedureParameter.Nullable">
2925
2640
  <summary>
2926
- Returns true if the given type can be used as a kRPC list collection type.
2641
+ Whether the parameters value could be null.
2927
2642
  </summary>
2928
2643
  </member>
2929
- <member name="M:KRPC.Service.TypeUtils.IsADictionaryCollectionType(System.Type)">
2644
+ <member name="M:KRPC.Service.ProcedureParameter.#ctor(System.Reflection.ParameterInfo)">
2930
2645
  <summary>
2931
- Returns true if the given type can be used as a kRPC dictionary collection type.
2646
+ Create parameter information from a reflected parameter.
2932
2647
  </summary>
2933
2648
  </member>
2934
- <member name="M:KRPC.Service.TypeUtils.GetServiceName(System.Type)">
2649
+ <member name="M:KRPC.Service.ProcedureParameter.#ctor(System.Type,System.String)">
2935
2650
  <summary>
2936
- Get the name of the service for the given KRPCService annotated type
2651
+ Create parameter information from its type and name.
2937
2652
  </summary>
2938
2653
  </member>
2939
- <member name="M:KRPC.Service.TypeUtils.GetServiceId(System.Type)">
2654
+ <member name="T:KRPC.Service.RequestContinuation">
2940
2655
  <summary>
2941
- Get the id of the service for the given KRPCService annotated type
2656
+ A continuation that runs a client request.
2942
2657
  </summary>
2943
2658
  </member>
2944
- <member name="M:KRPC.Service.TypeUtils.GetServiceGameScene(System.Type)">
2659
+ <member name="M:KRPC.Service.RequestContinuation.Run">
2945
2660
  <summary>
2946
- Get the game scene(s) that the service should be available during
2661
+ Execute the procedure calls contained in the request.
2662
+ Throws a YieldException if any of the procedure calls yield. Calling this method again will
2663
+ then re-execute those procedure calls that yielded.
2664
+ If all of the procedures complete, with either a return value or an error,
2665
+ a response containing all of the return values and errors is returned.
2947
2666
  </summary>
2948
2667
  </member>
2949
- <member name="M:KRPC.Service.TypeUtils.GetProcedureGameScene(System.Reflection.MethodBase,KRPC.Service.GameScene)">
2668
+ <member name="T:KRPC.Service.Scanner.ClassSignature">
2950
2669
  <summary>
2951
- Get the game scene(s) that the procedure should be available during
2670
+ Signature information for a class, including class name and documentation.
2952
2671
  </summary>
2953
2672
  </member>
2954
- <member name="M:KRPC.Service.TypeUtils.GetPropertyGameScene(System.Reflection.PropertyInfo,KRPC.Service.GameScene)">
2673
+ <member name="P:KRPC.Service.Scanner.ClassSignature.Name">
2955
2674
  <summary>
2956
- Get the game scene(s) that the property should be available during
2675
+ Name of the class, not including the service it is in.
2957
2676
  </summary>
2958
2677
  </member>
2959
- <member name="M:KRPC.Service.TypeUtils.GetClassServiceName(System.Type)">
2678
+ <member name="P:KRPC.Service.Scanner.ClassSignature.FullyQualifiedName">
2960
2679
  <summary>
2961
- Get the name of the service for the given KRPCClass annotated type
2680
+ Name of the class including the service it is in.
2681
+ I.e. ServiceName.ClassName
2962
2682
  </summary>
2963
2683
  </member>
2964
- <member name="M:KRPC.Service.TypeUtils.GetClassGameScene(System.Type,KRPC.Service.GameScene)">
2684
+ <member name="P:KRPC.Service.Scanner.ClassSignature.Documentation">
2965
2685
  <summary>
2966
- Get the game scene(s) that the class should be available during
2686
+ Documentation for the class
2967
2687
  </summary>
2968
2688
  </member>
2969
- <member name="M:KRPC.Service.TypeUtils.GetMethodGameScene(System.Type,System.Reflection.MethodBase,KRPC.Service.GameScene)">
2689
+ <member name="M:KRPC.Service.Scanner.ClassSignature.#ctor(System.String,System.String,System.String)">
2970
2690
  <summary>
2971
- Get the game scene(s) that the class method should be available during
2691
+ Create a class signature
2972
2692
  </summary>
2973
2693
  </member>
2974
- <member name="M:KRPC.Service.TypeUtils.GetClassPropertyGameScene(System.Type,System.Reflection.PropertyInfo,KRPC.Service.GameScene)">
2694
+ <member name="M:KRPC.Service.Scanner.ClassSignature.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
2975
2695
  <summary>
2976
- Get the game scene(s) that the class property should be available during
2696
+ Serialize the signature.
2977
2697
  </summary>
2978
2698
  </member>
2979
- <member name="M:KRPC.Service.TypeUtils.GetEnumServiceName(System.Type)">
2699
+ <member name="T:KRPC.Service.Scanner.EnumerationSignature">
2980
2700
  <summary>
2981
- Get the name of the service for the given KRPCEnum annotated type
2701
+ Signature information for an enumeration type, including name, values and documentation.
2982
2702
  </summary>
2983
2703
  </member>
2984
- <member name="M:KRPC.Service.TypeUtils.GetExceptionServiceName(System.Type)">
2704
+ <member name="P:KRPC.Service.Scanner.EnumerationSignature.Name">
2985
2705
  <summary>
2986
- Get the name of the service for the given KRPCException annotated type
2706
+ Name of the enumeration, not including the service it is in.
2987
2707
  </summary>
2988
2708
  </member>
2989
- <member name="M:KRPC.Service.TypeUtils.ValidateIdentifier(System.String)">
2709
+ <member name="P:KRPC.Service.Scanner.EnumerationSignature.FullyQualifiedName">
2990
2710
  <summary>
2991
- Check if the string is a valid identifier for a kRPC service, procedure, property, class or method.
2711
+ Name of the enumeration including the service it is in.
2992
2712
  </summary>
2993
2713
  </member>
2994
- <member name="M:KRPC.Service.TypeUtils.ValidateKRPCService(System.Type)">
2714
+ <member name="P:KRPC.Service.Scanner.EnumerationSignature.Values">
2995
2715
  <summary>
2996
- Check the given type is a valid kRPC service
2997
- 1. Must have KRPCService attribute
2998
- 2. Must have a valid identifier
2999
- 3. Must be a public static class
3000
- 4. Must not be declared inside another kRPC service
2716
+ Signatures of the values in the enumeration.
3001
2717
  </summary>
3002
2718
  </member>
3003
- <member name="M:KRPC.Service.TypeUtils.ValidateKRPCProcedure(System.Reflection.MethodBase)">
2719
+ <member name="P:KRPC.Service.Scanner.EnumerationSignature.Documentation">
3004
2720
  <summary>
3005
- Check the given method is a valid kRPC procedure
3006
- 1. Must have KRPCProcedure attribute
3007
- 2. Must have a valid identifier
3008
- 3. Must be a public static method
3009
- 4. Must be declared inside a kRPC service
2721
+ Documentation for the procedure
3010
2722
  </summary>
3011
2723
  </member>
3012
- <member name="M:KRPC.Service.TypeUtils.ValidateKRPCProperty(System.Reflection.PropertyInfo)">
2724
+ <member name="M:KRPC.Service.Scanner.EnumerationSignature.#ctor(System.String,System.String,System.Collections.Generic.IList{KRPC.Service.Scanner.EnumerationValueSignature},System.String)">
3013
2725
  <summary>
3014
- Check the given type is a valid kRPC property
3015
- 1. Must have KRPCProperty attribute
3016
- 2. Must have a valid identifier
3017
- 3. Must be a public static property
3018
- 4. Must be declared inside a kRPC service
2726
+ Create an enumeration signature
3019
2727
  </summary>
3020
2728
  </member>
3021
- <member name="M:KRPC.Service.TypeUtils.ValidateKRPCClass(System.Type)">
2729
+ <member name="M:KRPC.Service.Scanner.EnumerationSignature.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
3022
2730
  <summary>
3023
- Check the given type is a valid kRPC class
3024
- 1. Must have KRPCClass attribute
3025
- 2. Must have a valid identifier
3026
- 3. Must be a public non-static class
3027
- 4. Must be declared inside a kRPC service if it doesn't have the service explicity set
3028
- 5. Must not be declared inside a kRPC service if it does have the service explicity set
2731
+ Serialize the signature.
3029
2732
  </summary>
3030
2733
  </member>
3031
- <member name="M:KRPC.Service.TypeUtils.ValidateKRPCEnum(System.Type)">
2734
+ <member name="T:KRPC.Service.Scanner.EnumerationValueSignature">
3032
2735
  <summary>
3033
- Check the given type is a valid kRPC enumeration
3034
- 1. Must have KRPCEnum attribute
3035
- 2. Must have a valid identifier
3036
- 3. Must be a public enum
3037
- 4. Underlying type must be a 32-bit signed integer (int)
3038
- 5. Must be declared inside a kRPC service if it doesn't have the service explicity set
3039
- 6. Must not be declared inside a kRPC service if it does have the service explicity set
2736
+ Signature information for an enumeration type, including name, values and documentation.
3040
2737
  </summary>
3041
2738
  </member>
3042
- <member name="M:KRPC.Service.TypeUtils.ValidateKRPCMethod(System.Type,System.Reflection.MethodBase)">
2739
+ <member name="P:KRPC.Service.Scanner.EnumerationValueSignature.Name">
3043
2740
  <summary>
3044
- Check the given method is a valid kRPC class method
3045
- 1. Must have KRPCMethod attribute
3046
- 2. Must have a valid identifier
3047
- 3. Must be a public method
3048
- 4. Must be declared inside a class that is assignable from the given kRPC class
2741
+ Name of the enumeration value.
3049
2742
  </summary>
3050
2743
  </member>
3051
- <member name="M:KRPC.Service.TypeUtils.ValidateKRPCClassProperty(System.Type,System.Reflection.PropertyInfo)">
2744
+ <member name="P:KRPC.Service.Scanner.EnumerationValueSignature.FullyQualifiedName">
3052
2745
  <summary>
3053
- Check the given type is a valid kRPC class property
3054
- 1. Must have KRPCProperty attribute
3055
- 2. Must have a valid identifier
3056
- 3. Must be a public non-static property
3057
- 4. Must be declared inside a class that is assignable from the given kRPC class
2746
+ Name of the enumeration value including the service and enum it is in.
3058
2747
  </summary>
3059
2748
  </member>
3060
- <member name="M:KRPC.Service.TypeUtils.ValidateKRPCException(System.Type)">
2749
+ <member name="P:KRPC.Service.Scanner.EnumerationValueSignature.Value">
3061
2750
  <summary>
3062
- Check the given type is a valid kRPC exception class
3063
- 1. Must have KRPCException attribute
3064
- 2. Must have a valid identifier
3065
- 3. Must be a public non-static class
3066
- 4. Must be declared inside a kRPC service if it doesn't have the service explicity set
3067
- 5. Must not be declared inside a kRPC service if it does have the service explicity set
2751
+ Integer value of the enumeration value.
3068
2752
  </summary>
3069
2753
  </member>
3070
- <member name="M:KRPC.Service.TypeUtils.GetNullable(System.Reflection.ICustomAttributeProvider)">
2754
+ <member name="P:KRPC.Service.Scanner.EnumerationValueSignature.Documentation">
3071
2755
  <summary>
3072
- Returns whether the procedure/method can return null.
2756
+ Documentation for the enumeration value.
3073
2757
  </summary>
3074
2758
  </member>
3075
- <member name="M:KRPC.Service.TypeUtils.SerializeType(System.Type)">
2759
+ <member name="M:KRPC.Service.Scanner.EnumerationValueSignature.#ctor(System.String,System.String,System.String,System.Int32,System.String)">
3076
2760
  <summary>
3077
- Serialize a type into a dictionary for use in a service definition.
2761
+ Create a signature for an enumeration value.
3078
2762
  </summary>
3079
2763
  </member>
3080
- <member name="T:KRPC.ServicesChecker">
2764
+ <member name="M:KRPC.Service.Scanner.EnumerationValueSignature.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
3081
2765
  <summary>
3082
- Check kRPC services.
2766
+ Serialize the signature.
3083
2767
  </summary>
3084
2768
  </member>
3085
- <member name="M:KRPC.ServicesChecker.Start">
2769
+ <member name="T:KRPC.Service.Scanner.ExceptionSignature">
3086
2770
  <summary>
3087
- Start the services checker addon
2771
+ Signature information for an exception, including class name and documentation.
3088
2772
  </summary>
3089
2773
  </member>
3090
- <member name="F:KRPC.UI.Icons.iconsPath">
2774
+ <member name="P:KRPC.Service.Scanner.ExceptionSignature.Name">
3091
2775
  <summary>
3092
- Path to directory in GameData when icons are stored
2776
+ Name of the exception, not including the service it is in.
3093
2777
  </summary>
3094
2778
  </member>
3095
- <member name="M:KRPC.UI.Icons.LoadTexture(System.String)">
2779
+ <member name="P:KRPC.Service.Scanner.ExceptionSignature.FullyQualifiedName">
3096
2780
  <summary>
3097
- Load a file as a 2D texture.
2781
+ Name of the exception including the service it is in.
2782
+ I.e. ServiceName.ClassName
3098
2783
  </summary>
3099
2784
  </member>
3100
- <member name="T:KRPC.Utils.APILoader">
2785
+ <member name="P:KRPC.Service.Scanner.ExceptionSignature.Documentation">
3101
2786
  <summary>
3102
- Utilities to load APIs from an assembly without needing to depend on it.
2787
+ Documentation for the exception
3103
2788
  </summary>
3104
2789
  </member>
3105
- <member name="M:KRPC.Utils.APILoader.Load(System.Type,System.String,System.String,System.Version)">
2790
+ <member name="M:KRPC.Service.Scanner.ExceptionSignature.#ctor(System.String,System.String,System.String)">
3106
2791
  <summary>
3107
- Load an API
2792
+ Create an exception signature
3108
2793
  </summary>
3109
- <returns>A type object set to the type of the API if it was successfully loaded, <c>null</c> otherwise.</returns>
3110
- <param name="api">A type specifying the interface.</param>
3111
- <param name="assemblyName">Name of the assembly to load.</param>
3112
- <param name="apiName">Name of the API to load.</param>
3113
- <param name="requiredVersion">Required API version.</param>
3114
2794
  </member>
3115
- <member name="T:KRPC.Utils.Compatibility">
2795
+ <member name="M:KRPC.Service.Scanner.ExceptionSignature.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
3116
2796
  <summary>
3117
- Utilities to aid in compatibility between different versions of KSP
2797
+ Serialize the signature.
3118
2798
  </summary>
3119
2799
  </member>
3120
- <member name="M:KRPC.Utils.Compatibility.SpawnPopupDialog(UnityEngine.Vector2,UnityEngine.Vector2,System.String,System.String,System.String,System.String,System.Boolean,UISkinDef,System.Boolean,System.String)">
2800
+ <member name="T:KRPC.Service.Scanner.ParameterSignature">
3121
2801
  <summary>
3122
- Calls PopupDialog.SpawnPopupDialog
2802
+ Signature information for a parameter.
3123
2803
  </summary>
3124
2804
  </member>
3125
- <member name="M:KRPC.Utils.Compatibility.NewMultiOptionDialog(System.String,System.String,System.String,UISkinDef,DialogGUIBase[])">
2805
+ <member name="P:KRPC.Service.Scanner.ParameterSignature.Name">
3126
2806
  <summary>
3127
- Constructs a MultiOptionDialog
2807
+ Name of the parameter.
3128
2808
  </summary>
3129
2809
  </member>
3130
- <member name="M:KRPC.Utils.Compatibility.NewLaunchSiteClear(System.String,Game)">
2810
+ <member name="P:KRPC.Service.Scanner.ParameterSignature.Type">
3131
2811
  <summary>
3132
- Create a LaunchSiteClear object
2812
+ Type of the parameter.
3133
2813
  </summary>
3134
2814
  </member>
3135
- <member name="M:KRPC.Utils.Compatibility.GameModeIsMission(Game.Modes)">
2815
+ <member name="P:KRPC.Service.Scanner.ParameterSignature.HasDefaultValue">
3136
2816
  <summary>
3137
- Returns true if the given game mode is Game.Modes.Mission
2817
+ True if this parameter is optional and has a default argument.
3138
2818
  </summary>
3139
2819
  </member>
3140
- <member name="M:KRPC.Utils.Compatibility.GameModeIsMissionBuilder(Game.Modes)">
2820
+ <member name="P:KRPC.Service.Scanner.ParameterSignature.DefaultValue">
3141
2821
  <summary>
3142
- Returns true if the given game mode is Game.Modes.MissionBuilder
2822
+ Default argument, if <see cref="P:KRPC.Service.Scanner.ParameterSignature.HasDefaultValue" /> is true.
3143
2823
  </summary>
3144
2824
  </member>
3145
- <member name="M:KRPC.Utils.Compatibility.GameSceneIsMissionBuilder(GameScenes)">
2825
+ <member name="P:KRPC.Service.Scanner.ParameterSignature.Nullable">
3146
2826
  <summary>
3147
- Returns true if the given game scene is GameScenes.MissionBuilder
2827
+ True if this parameter is nullable.
3148
2828
  </summary>
3149
2829
  </member>
3150
- <member name="T:KRPC.Utils.Compatibility.ModuleDecoupler">
2830
+ <member name="M:KRPC.Service.Scanner.ParameterSignature.#ctor(System.String,KRPC.Service.ProcedureParameter)">
3151
2831
  <summary>
3152
- Methods mimicking ModuleDecouplerBase that can be used in KSP 1.6.1 and below
3153
- Uses reflection to call these methods, as the name of the base class changed in KSP 1.7
2832
+ Create a parameter signature for a reflected parameter.
3154
2833
  </summary>
3155
2834
  </member>
3156
- <member name="M:KRPC.Utils.Compatibility.ModuleDecoupler.#ctor(Part)">
2835
+ <member name="M:KRPC.Service.Scanner.ParameterSignature.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
3157
2836
  <summary>
3158
- Create a decoupler part module wrapper for the given part. Part must have a decoupler part module.
2837
+ Serialize the signature.
3159
2838
  </summary>
3160
2839
  </member>
3161
- <member name="P:KRPC.Utils.Compatibility.ModuleDecoupler.Instance">
2840
+ <member name="T:KRPC.Service.Scanner.ProcedureSignature">
3162
2841
  <summary>
3163
- Get the intance of the part module that this object is wrapping.
2842
+ Signature information for a procedure, including procedure name,
2843
+ parameter types and return types.
3164
2844
  </summary>
3165
2845
  </member>
3166
- <member name="P:KRPC.Utils.Compatibility.ModuleDecoupler.IsEnabled">
2846
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.Name">
3167
2847
  <summary>
3168
- Returns true if the decoupler is enabled
2848
+ Name of the procedure, not including the service it is in.
3169
2849
  </summary>
3170
2850
  </member>
3171
- <member name="P:KRPC.Utils.Compatibility.ModuleDecoupler.IsDecoupled">
2851
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.FullyQualifiedName">
3172
2852
  <summary>
3173
- Returns true if the decoupler is decoupled
2853
+ Name of the procedure including the service it is in.
2854
+ I.e. ServiceName.ProcedureName
3174
2855
  </summary>
3175
2856
  </member>
3176
- <member name="M:KRPC.Utils.Compatibility.ModuleDecoupler.Decouple">
2857
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.Id">
3177
2858
  <summary>
3178
- Decouples the decoupler
2859
+ Id of the procedure. Uniquely identifies the procedure within the service.
3179
2860
  </summary>
3180
2861
  </member>
3181
- <member name="P:KRPC.Utils.Compatibility.ModuleDecoupler.StagingEnabled">
2862
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.Documentation">
3182
2863
  <summary>
3183
- Returns true if staging is enabled for the decoupler
2864
+ Documentation for the procedure
3184
2865
  </summary>
3185
2866
  </member>
3186
- <member name="P:KRPC.Utils.Compatibility.ModuleDecoupler.EjectionForce">
2867
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.Handler">
3187
2868
  <summary>
3188
- Returns the ejection force of the decoupler in kN
2869
+ The method that implements the procedure.
3189
2870
  </summary>
3190
2871
  </member>
3191
- <member name="P:KRPC.Utils.Compatibility.ModuleDecoupler.ExplosiveNode">
2872
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.GameScene">
3192
2873
  <summary>
3193
- Returns the attachment node for the decoupler explosive
2874
+ Which game scene(s) the service should be available during
3194
2875
  </summary>
3195
2876
  </member>
3196
- <member name="P:KRPC.Utils.Compatibility.ModuleDecoupler.IsOmniDecoupler">
2877
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.Parameters">
3197
2878
  <summary>
3198
- Returns true if the decoupler is an omni decoupler.
3199
- Always returns false for anchored decouplers.
2879
+ The procedure's parameters.
3200
2880
  </summary>
3201
2881
  </member>
3202
- <member name="M:KRPC.Utils.ConfigurationStorage.#ctor(System.String,System.String)">
2882
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.HasReturnType">
3203
2883
  <summary>
3204
- Create a configuration object with default values. Call Load() to load from the file.
3205
- The file path is relative to the directory containing this assembly.
2884
+ Whether the procedure returns a value.
3206
2885
  </summary>
3207
2886
  </member>
3208
- <member name="M:KRPC.Utils.ConfigurationStorage.Load">
2887
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.ReturnType">
3209
2888
  <summary>
3210
- Load settings from the underlying storage
2889
+ Return type of the procedure.
3211
2890
  </summary>
3212
2891
  </member>
3213
- <member name="M:KRPC.Utils.ConfigurationStorage.Save">
2892
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.ReturnIsNullable">
3214
2893
  <summary>
3215
- Save settings to the underlying storage
2894
+ Whether the return type of the procedure could be null.
3216
2895
  </summary>
3217
2896
  </member>
3218
- <member name="M:KRPC.Utils.ConfigurationStorageNode.BeforeSave">
2897
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.IsStatic">
3219
2898
  <summary>
3220
- Override to provide custom behaviour before saving.
2899
+ Whether the procedure is a static method.
3221
2900
  </summary>
3222
2901
  </member>
3223
- <member name="M:KRPC.Utils.ConfigurationStorageNode.AfterLoad">
2902
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.IsClassMember">
3224
2903
  <summary>
3225
- Override to provide custom behaviour after loading.
2904
+ Whether the procedure is a class method/property.
3226
2905
  </summary>
3227
2906
  </member>
3228
- <member name="T:KRPC.Utils.DictionaryExtensions">
2907
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.ClassName">
3229
2908
  <summary>
3230
- Extension methods for dictionaries
2909
+ If the procedure is a class method/property, the name of the class it is a member of.
3231
2910
  </summary>
3232
2911
  </member>
3233
- <member name="M:KRPC.Utils.DictionaryExtensions.GetValueOrDefault``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1)">
2912
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.IsPropertyGetter">
3234
2913
  <summary>
3235
- Gets the value for the given key from a dictionary, or a default value if the key does not exist.
2914
+ Whether the procedure is a property getter.
3236
2915
  </summary>
3237
2916
  </member>
3238
- <member name="M:KRPC.Utils.DocumentationExtensions.Dedent(System.String)">
2917
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.IsPropertySetter">
3239
2918
  <summary>
3240
- Remove indentiation from a multi-line string, where the first line
3241
- is not indented, and following lines are indented.
2919
+ Whether the procedure is a property setter.
3242
2920
  </summary>
3243
2921
  </member>
3244
- <member name="T:KRPC.Utils.DynamicBuffer">
2922
+ <member name="P:KRPC.Service.Scanner.ProcedureSignature.PropertyName">
3245
2923
  <summary>
3246
- Provides a dynamically resizable array.
3247
- Similar to a MemoryStream, but does not implement IDisposable.
2924
+ If the procedure is a property getter/setter, the name of the property.
3248
2925
  </summary>
3249
2926
  </member>
3250
- <member name="T:KRPC.Utils.Equatable`1">
2927
+ <member name="M:KRPC.Service.Scanner.ProcedureSignature.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
3251
2928
  <summary>
3252
- Abstract base class for equatable objects.
3253
- Provides implementations of comparison operators.
2929
+ Serialize the signature.
3254
2930
  </summary>
3255
2931
  </member>
3256
- <member name="M:KRPC.Utils.Equatable`1.Equals(`0)">
2932
+ <member name="T:KRPC.Service.Scanner.Scanner">
3257
2933
  <summary>
3258
- Returns true if the objects are equal.
2934
+ Scanner that finds service signatures from all loaded assemblies.
3259
2935
  </summary>
3260
2936
  </member>
3261
- <member name="M:KRPC.Utils.Equatable`1.GetHashCode">
2937
+ <member name="P:KRPC.Service.Scanner.Scanner.CurrentAssembly">
3262
2938
  <summary>
3263
- Hash the object.
2939
+ The current assembly being scanned, when GetServices being run.
3264
2940
  </summary>
3265
2941
  </member>
3266
- <member name="M:KRPC.Utils.Equatable`1.Equals(System.Object)">
2942
+ <member name="M:KRPC.Service.Scanner.Scanner.GetServices(System.Collections.Generic.IList{System.String})">
3267
2943
  <summary>
3268
- Returns true if the objects are equal.
2944
+ Find all service signatures from all loaded assemblies.
2945
+ Errors are added to the given error list.
3269
2946
  </summary>
3270
2947
  </member>
3271
- <member name="M:KRPC.Utils.Equatable`1.op_Equality(KRPC.Utils.Equatable{`0},KRPC.Utils.Equatable{`0})">
2948
+ <member name="M:KRPC.Service.Scanner.Scanner.GetMappedExceptionTypes">
3272
2949
  <summary>
3273
- Returns true if the objects are equal.
2950
+ Get mapping from exception types to kRPC exception types.
3274
2951
  </summary>
3275
2952
  </member>
3276
- <member name="M:KRPC.Utils.Equatable`1.op_Inequality(KRPC.Utils.Equatable{`0},KRPC.Utils.Equatable{`0})">
2953
+ <member name="T:KRPC.Service.Scanner.ServiceSignature">
3277
2954
  <summary>
3278
- Returns true if the objects are not equal.
2955
+ Signature of a kRPC service
3279
2956
  </summary>
3280
2957
  </member>
3281
- <member name="M:KRPC.Utils.Reflection.GetType(System.String)">
2958
+ <member name="P:KRPC.Service.Scanner.ServiceSignature.Name">
3282
2959
  <summary>
3283
- Returns the type with the specified full name, from all assemblies, or null if no such type exists.
2960
+ The name of the service
3284
2961
  </summary>
3285
2962
  </member>
3286
- <member name="M:KRPC.Utils.Reflection.GetTypesWith``1(System.Boolean)">
2963
+ <member name="P:KRPC.Service.Scanner.ServiceSignature.Id">
3287
2964
  <summary>
3288
- Returns all types with the specified attribute, from all assemblies.
2965
+ The id of the service
3289
2966
  </summary>
3290
2967
  </member>
3291
- <member name="M:KRPC.Utils.Reflection.GetMethodsWith``1(System.Type,System.Boolean)">
2968
+ <member name="P:KRPC.Service.Scanner.ServiceSignature.Documentation">
3292
2969
  <summary>
3293
- Returns all methods within a given type that have the specified attribute.
2970
+ Documentation for the service
3294
2971
  </summary>
3295
2972
  </member>
3296
- <member name="M:KRPC.Utils.Reflection.GetPropertiesWith``1(System.Type,System.Boolean)">
2973
+ <member name="P:KRPC.Service.Scanner.ServiceSignature.Procedures">
3297
2974
  <summary>
3298
- Returns all properties within a given type that have the specified attribute.
2975
+ A mapping from procedure names to signatures for all RPCs in this service
3299
2976
  </summary>
3300
2977
  </member>
3301
- <member name="M:KRPC.Utils.Reflection.GetAttribute``1(System.Reflection.ICustomAttributeProvider)">
2978
+ <member name="P:KRPC.Service.Scanner.ServiceSignature.Classes">
3302
2979
  <summary>
3303
- Return attribute of type T for the given member. Does not follow inheritance.
3304
- Throws ArgumentException if there is no attribute, or more than one attribute.
2980
+ The classes defined in this service
3305
2981
  </summary>
3306
2982
  </member>
3307
- <member name="M:KRPC.Utils.Reflection.GetAttributes``1(System.Reflection.ICustomAttributeProvider)">
2983
+ <member name="P:KRPC.Service.Scanner.ServiceSignature.Enumerations">
3308
2984
  <summary>
3309
- Return attributes of type T for the given member. Does not follow inheritance.
2985
+ The enumerations defined in this service, and their allowed values
3310
2986
  </summary>
3311
2987
  </member>
3312
- <member name="M:KRPC.Utils.Reflection.HasAttribute``1(System.Reflection.ICustomAttributeProvider)">
2988
+ <member name="P:KRPC.Service.Scanner.ServiceSignature.Exceptions">
3313
2989
  <summary>
3314
- Return true if member has the attribute of type T. Does not follow inheritance.
2990
+ The exceptions defined in this service
3315
2991
  </summary>
3316
2992
  </member>
3317
- <member name="M:KRPC.Utils.Reflection.IsStatic(System.Type)">
2993
+ <member name="F:KRPC.Service.Scanner.ServiceSignature.gameScene">
3318
2994
  <summary>
3319
- Extension method to check if a type is static.
2995
+ The game scene of the service, to be inherited by procedures in the service.
3320
2996
  </summary>
3321
2997
  </member>
3322
- <member name="M:KRPC.Utils.Reflection.IsStatic(System.Reflection.PropertyInfo)">
2998
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.#ctor(System.Type,System.UInt32)">
3323
2999
  <summary>
3324
- Extension method to check if a property is static.
3000
+ Create a service signature from a C# type annotated with the KRPCService attribute
3325
3001
  </summary>
3326
3002
  </member>
3327
- <member name="M:KRPC.Utils.Reflection.IsPublic(System.Reflection.PropertyInfo)">
3003
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.#ctor(System.String,System.UInt32)">
3328
3004
  <summary>
3329
- Extension method to check if a property is public.
3005
+ Create a service with the given name.
3330
3006
  </summary>
3331
3007
  </member>
3332
- <member name="M:KRPC.Utils.Reflection.IsGenericType(System.Type,System.Type)">
3008
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.AddProcedure(KRPC.Service.Scanner.ProcedureSignature)">
3333
3009
  <summary>
3334
- Returns true if the given type is an instance of the given generic type.
3010
+ Add a procedure to the service
3335
3011
  </summary>
3336
3012
  </member>
3337
- <member name="M:KRPC.Utils.Text.IsValidUTF8(System.Byte[],System.Int32,System.Int32)">
3013
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.AddProcedure(System.Reflection.MethodInfo)">
3338
3014
  <summary>
3339
- Returns true if the given data is a valid UTF8 string.
3015
+ Add a procedure to the service for the given method annotated with the KRPCProcedure attribute.
3340
3016
  </summary>
3341
3017
  </member>
3342
- <member name="M:KRPC.Utils.Text.IsValidTruncatedUTF8(System.Byte[],System.Int32,System.Int32,System.Int32@)">
3018
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.AddProperty(System.Reflection.PropertyInfo)">
3343
3019
  <summary>
3344
- Returns true if the given data is valid, but possible truncated, UTF8 string.
3345
- If true, sets <paramref name="length" /> to the number of bytes at the end of the array that are a valid, but truncated UTF8 character/
3020
+ Add a property to the service for the given property annotated with the KRPCProperty attribute.
3346
3021
  </summary>
3347
3022
  </member>
3348
- <member name="T:KRPC.Utils.ITuple">
3023
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.AddClass(System.Type)">
3349
3024
  <summary>
3350
- Interface for tuples.
3025
+ Add a class to the service for the given class type annotated with the KRPCClass attribute.
3026
+ Returns the name of the class.
3351
3027
  </summary>
3352
3028
  </member>
3353
- <member name="T:KRPC.Utils.Tuple`1">
3029
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.AddEnum(System.Type)">
3354
3030
  <summary>
3355
- A tuple with 1 elements
3031
+ Add an enum to the service for the given enum type annotated with the KRPCEnum attribute.
3032
+ Returns the name of the enumeration.
3356
3033
  </summary>
3357
3034
  </member>
3358
- <member name="P:KRPC.Utils.Tuple`1.Item1">
3035
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.AddException(System.Type)">
3359
3036
  <summary>
3360
- Get/set the value of element 1
3037
+ Add an exception to the service for the given exception type annotated with the KRPCException attribute.
3038
+ Returns the name of the exception.
3361
3039
  </summary>
3362
3040
  </member>
3363
- <member name="M:KRPC.Utils.Tuple`1.#ctor(`0)">
3041
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.AddClassMethod(System.String,System.Type,System.Reflection.MethodInfo)">
3364
3042
  <summary>
3365
- Create a tuple with the given values as its elements
3043
+ Add a class method to the given class in the given service for the given class type annotated with the KRPCClass attribute.
3366
3044
  </summary>
3367
3045
  </member>
3368
- <member name="M:KRPC.Utils.Tuple`1.Equals(System.Object)">
3046
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.AddClassProperty(System.String,System.Type,System.Reflection.PropertyInfo)">
3369
3047
  <summary>
3370
- Compare two tuples for equality
3048
+ Add a class property to the given class in the given service for the given property annotated with the KRPCProperty attribute.
3371
3049
  </summary>
3372
3050
  </member>
3373
- <member name="M:KRPC.Utils.Tuple`1.Equals(KRPC.Utils.Tuple{`0})">
3051
+ <member name="M:KRPC.Service.Scanner.ServiceSignature.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
3374
3052
  <summary>
3375
- Compare two tuples for equality
3053
+ Serialize the signature.
3376
3054
  </summary>
3377
3055
  </member>
3378
- <member name="M:KRPC.Utils.Tuple`1.GetHashCode">
3056
+ <member name="M:KRPC.Service.Services.#ctor">
3379
3057
  <summary>
3380
- Hash the tuple
3058
+ Create a Services instance. Scans the loaded assemblies for services, procedures etc.
3381
3059
  </summary>
3382
3060
  </member>
3383
- <member name="T:KRPC.Utils.Tuple`2">
3061
+ <member name="M:KRPC.Service.Services.ExecuteCall(KRPC.Service.Scanner.ProcedureSignature,KRPC.Service.Messages.ProcedureCall)">
3384
3062
  <summary>
3385
- A tuple with 2 elements
3063
+ Executes a procedure call and returns the result.
3064
+ Throws YieldException, containing a continuation, if the call yields.
3065
+ Throws RPCException if the call fails.
3386
3066
  </summary>
3387
3067
  </member>
3388
- <member name="P:KRPC.Utils.Tuple`2.Item1">
3068
+ <member name="M:KRPC.Service.Services.ExecuteCall(KRPC.Service.Scanner.ProcedureSignature,System.Object[])">
3389
3069
  <summary>
3390
- Get/set the value of element 1
3070
+ Executes a procedure call and returns the result.
3071
+ Throws YieldException, containing a continuation, if the call yields.
3072
+ Throws RPCException if the call fails.
3391
3073
  </summary>
3392
3074
  </member>
3393
- <member name="P:KRPC.Utils.Tuple`2.Item2">
3075
+ <member name="M:KRPC.Service.Services.ExecuteCall(KRPC.Service.Scanner.ProcedureSignature,System.Func{System.Object})">
3394
3076
  <summary>
3395
- Get/set the value of element 2
3077
+ Executes a procedure call and returns the result.
3078
+ Throws YieldException, containing a continuation, if the call yields.
3079
+ Throws RPCException if the call fails.
3396
3080
  </summary>
3397
3081
  </member>
3398
- <member name="M:KRPC.Utils.Tuple`2.#ctor(`0,`1)">
3082
+ <member name="M:KRPC.Service.Services.GetArguments(KRPC.Service.Scanner.ProcedureSignature,System.Collections.Generic.IList{KRPC.Service.Messages.Argument})">
3399
3083
  <summary>
3400
- Create a tuple with the given values as its elements
3084
+ Get the arguments for a procedure from a list of argument messages.
3401
3085
  </summary>
3402
3086
  </member>
3403
- <member name="M:KRPC.Utils.Tuple`2.Equals(System.Object)">
3087
+ <member name="M:KRPC.Service.Services.CheckReturnValue(KRPC.Service.Scanner.ProcedureSignature,System.Object)">
3404
3088
  <summary>
3405
- Compare two tuples for equality
3089
+ Check the value returned by a procedure handler.
3406
3090
  </summary>
3407
3091
  </member>
3408
- <member name="M:KRPC.Utils.Tuple`2.Equals(KRPC.Utils.Tuple{`0,`1})">
3092
+ <member name="M:KRPC.Service.Services.HandleException(System.Exception)">
3409
3093
  <summary>
3410
- Compare two tuples for equality
3094
+ Convert an exception thrown by an RPC into an error message.
3411
3095
  </summary>
3412
3096
  </member>
3413
- <member name="M:KRPC.Utils.Tuple`2.GetHashCode">
3097
+ <member name="T:KRPC.Service.Stream">
3414
3098
  <summary>
3415
- Hash the tuple
3099
+ A stream.
3416
3100
  </summary>
3417
3101
  </member>
3418
- <member name="T:KRPC.Utils.Tuple`3">
3102
+ <member name="P:KRPC.Service.Stream.Started">
3419
3103
  <summary>
3420
- A tuple with 3 elements
3104
+ Whether the stream has been started.
3421
3105
  </summary>
3422
3106
  </member>
3423
- <member name="P:KRPC.Utils.Tuple`3.Item1">
3107
+ <member name="P:KRPC.Service.Stream.Result">
3424
3108
  <summary>
3425
- Get/set the value of element 1
3109
+ The value of the stream.
3426
3110
  </summary>
3427
3111
  </member>
3428
- <member name="P:KRPC.Utils.Tuple`3.Item2">
3112
+ <member name="M:KRPC.Service.Stream.#ctor">
3429
3113
  <summary>
3430
- Get/set the value of element 2
3114
+ Construct a stream.
3431
3115
  </summary>
3432
3116
  </member>
3433
- <member name="P:KRPC.Utils.Tuple`3.Item3">
3117
+ <member name="M:KRPC.Service.Stream.Start">
3434
3118
  <summary>
3435
- Get/set the value of element 3
3119
+ Start the stream.
3436
3120
  </summary>
3437
3121
  </member>
3438
- <member name="M:KRPC.Utils.Tuple`3.#ctor(`0,`1,`2)">
3122
+ <member name="P:KRPC.Service.Stream.Rate">
3439
3123
  <summary>
3440
- Create a tuple with the given values as its elements
3124
+ The update rate of the stream in Hz.
3441
3125
  </summary>
3442
3126
  </member>
3443
- <member name="M:KRPC.Utils.Tuple`3.Equals(System.Object)">
3127
+ <member name="M:KRPC.Service.Stream.Update">
3444
3128
  <summary>
3445
- Compare two tuples for equality
3129
+ Called when the stream value should be updated.
3130
+ Rate limiting is applied by this method.
3446
3131
  </summary>
3447
3132
  </member>
3448
- <member name="M:KRPC.Utils.Tuple`3.Equals(KRPC.Utils.Tuple{`0,`1,`2})">
3133
+ <member name="M:KRPC.Service.Stream.UpdateInternal">
3449
3134
  <summary>
3450
- Compare two tuples for equality
3135
+ Implements the actual stream update.
3451
3136
  </summary>
3452
3137
  </member>
3453
- <member name="M:KRPC.Utils.Tuple`3.GetHashCode">
3138
+ <member name="M:KRPC.Service.Stream.Sent">
3454
3139
  <summary>
3455
- Hash the tuple
3140
+ Called when the stream value has been sent to the client.
3456
3141
  </summary>
3457
3142
  </member>
3458
- <member name="T:KRPC.Utils.Tuple`4">
3143
+ <member name="P:KRPC.Service.Stream.Changed">
3459
3144
  <summary>
3460
- A tuple with 4 elements
3145
+ Returns whether the stream value has changed.
3461
3146
  </summary>
3462
3147
  </member>
3463
- <member name="P:KRPC.Utils.Tuple`4.Item1">
3148
+ <member name="T:KRPC.Service.StreamContinuation">
3464
3149
  <summary>
3465
- Get/set the value of element 1
3150
+ A continuation that runs a stream.
3466
3151
  </summary>
3467
3152
  </member>
3468
- <member name="P:KRPC.Utils.Tuple`4.Item2">
3153
+ <member name="M:KRPC.Service.StreamContinuation.#ctor(KRPC.Service.Messages.ProcedureCall)">
3469
3154
  <summary>
3470
- Get/set the value of element 2
3155
+ Create a stream continuation used to execute a stream RPC
3471
3156
  </summary>
3472
3157
  </member>
3473
- <member name="P:KRPC.Utils.Tuple`4.Item3">
3158
+ <member name="M:KRPC.Service.StreamContinuation.Run">
3474
3159
  <summary>
3475
- Get/set the value of element 3
3160
+ Execute the procedure call for the stream request.
3161
+ Throws a YieldException if the procedure calls yield.
3162
+ Calling this method again will then re-execute the procedure call that yielded.
3163
+ If the procedure completes a return value is returned, and the continuation is reset
3164
+ such that it can be called again.
3165
+ If the procedure throws an exception, the continuation should not be run
3166
+ again (the stream should be removed from the server).
3476
3167
  </summary>
3477
3168
  </member>
3478
- <member name="P:KRPC.Utils.Tuple`4.Item4">
3169
+ <member name="M:KRPC.Service.TypeUtils.IsAValidIdentifier(System.String)">
3479
3170
  <summary>
3480
- Get/set the value of element 4
3171
+ Returns true if the given identifier is a valid kRPC identifier.
3172
+ A valid identifier is a non-zero length string, containing letters and numbers,
3173
+ starting with an uppercase letter.
3481
3174
  </summary>
3482
3175
  </member>
3483
- <member name="M:KRPC.Utils.Tuple`4.#ctor(`0,`1,`2,`3)">
3176
+ <member name="M:KRPC.Service.TypeUtils.IsAValidType(System.Type)">
3484
3177
  <summary>
3485
- Create a tuple with the given values as its elements
3178
+ Returns true if the given type can be used as a kRPC type.
3486
3179
  </summary>
3487
3180
  </member>
3488
- <member name="M:KRPC.Utils.Tuple`4.Equals(System.Object)">
3181
+ <member name="M:KRPC.Service.TypeUtils.IsAValidKeyType(System.Type)">
3489
3182
  <summary>
3490
- Compare two tuples for equality
3183
+ Returns true if the given type can be used as a kRPC key type in dictionaries.
3491
3184
  </summary>
3492
3185
  </member>
3493
- <member name="M:KRPC.Utils.Tuple`4.Equals(KRPC.Utils.Tuple{`0,`1,`2,`3})">
3186
+ <member name="M:KRPC.Service.TypeUtils.IsAValueType(System.Type)">
3494
3187
  <summary>
3495
- Compare two tuples for equality
3188
+ Returns true if the given type is a kRPC value type.
3496
3189
  </summary>
3497
3190
  </member>
3498
- <member name="M:KRPC.Utils.Tuple`4.GetHashCode">
3191
+ <member name="M:KRPC.Service.TypeUtils.IsAMessageType(System.Type)">
3499
3192
  <summary>
3500
- Hash the tuple
3193
+ Returns true if the given type is a kRPC message type.
3501
3194
  </summary>
3502
3195
  </member>
3503
- <member name="T:KRPC.Utils.Tuple`5">
3196
+ <member name="M:KRPC.Service.TypeUtils.IsAClassType(System.Reflection.ICustomAttributeProvider)">
3504
3197
  <summary>
3505
- A tuple with 5 elements
3198
+ Returns true if the given type can be used as a kRPC class type.
3506
3199
  </summary>
3507
3200
  </member>
3508
- <member name="P:KRPC.Utils.Tuple`5.Item1">
3201
+ <member name="M:KRPC.Service.TypeUtils.IsAnEnumType(System.Type)">
3509
3202
  <summary>
3510
- Get/set the value of element 1
3203
+ Returns true if the given type can be used as a kRPC enum type.
3511
3204
  </summary>
3512
3205
  </member>
3513
- <member name="P:KRPC.Utils.Tuple`5.Item2">
3206
+ <member name="M:KRPC.Service.TypeUtils.IsACollectionType(System.Type)">
3514
3207
  <summary>
3515
- Get/set the value of element 2
3208
+ Returns true if the given type can be used as a kRPC collection type.
3516
3209
  </summary>
3517
3210
  </member>
3518
- <member name="P:KRPC.Utils.Tuple`5.Item3">
3211
+ <member name="M:KRPC.Service.TypeUtils.IsATupleCollectionType(System.Type)">
3519
3212
  <summary>
3520
- Get/set the value of element 3
3213
+ Returns true if the given type can be used as a kRPC tuple collection type.
3521
3214
  </summary>
3522
3215
  </member>
3523
- <member name="P:KRPC.Utils.Tuple`5.Item4">
3216
+ <member name="M:KRPC.Service.TypeUtils.IsAListCollectionType(System.Type)">
3524
3217
  <summary>
3525
- Get/set the value of element 4
3218
+ Returns true if the given type can be used as a kRPC list collection type.
3526
3219
  </summary>
3527
3220
  </member>
3528
- <member name="P:KRPC.Utils.Tuple`5.Item5">
3221
+ <member name="M:KRPC.Service.TypeUtils.IsASetCollectionType(System.Type)">
3529
3222
  <summary>
3530
- Get/set the value of element 5
3223
+ Returns true if the given type can be used as a kRPC list collection type.
3531
3224
  </summary>
3532
3225
  </member>
3533
- <member name="M:KRPC.Utils.Tuple`5.#ctor(`0,`1,`2,`3,`4)">
3226
+ <member name="M:KRPC.Service.TypeUtils.IsADictionaryCollectionType(System.Type)">
3534
3227
  <summary>
3535
- Create a tuple with the given values as its elements
3228
+ Returns true if the given type can be used as a kRPC dictionary collection type.
3536
3229
  </summary>
3537
3230
  </member>
3538
- <member name="M:KRPC.Utils.Tuple`5.Equals(System.Object)">
3231
+ <member name="M:KRPC.Service.TypeUtils.GetServiceName(System.Type)">
3539
3232
  <summary>
3540
- Compare two tuples for equality
3233
+ Get the name of the service for the given KRPCService annotated type
3541
3234
  </summary>
3542
3235
  </member>
3543
- <member name="M:KRPC.Utils.Tuple`5.Equals(KRPC.Utils.Tuple{`0,`1,`2,`3,`4})">
3236
+ <member name="M:KRPC.Service.TypeUtils.GetServiceId(System.Type)">
3544
3237
  <summary>
3545
- Compare two tuples for equality
3238
+ Get the id of the service for the given KRPCService annotated type
3546
3239
  </summary>
3547
3240
  </member>
3548
- <member name="M:KRPC.Utils.Tuple`5.GetHashCode">
3241
+ <member name="M:KRPC.Service.TypeUtils.GetServiceGameScene(System.Type)">
3549
3242
  <summary>
3550
- Hash the tuple
3243
+ Get the game scene(s) that the service should be available during
3551
3244
  </summary>
3552
3245
  </member>
3553
- <member name="T:KRPC.Utils.Tuple`6">
3246
+ <member name="M:KRPC.Service.TypeUtils.GetProcedureGameScene(System.Reflection.MethodBase,KRPC.Service.GameScene)">
3554
3247
  <summary>
3555
- A tuple with 6 elements
3248
+ Get the game scene(s) that the procedure should be available during
3556
3249
  </summary>
3557
3250
  </member>
3558
- <member name="P:KRPC.Utils.Tuple`6.Item1">
3251
+ <member name="M:KRPC.Service.TypeUtils.GetPropertyGameScene(System.Reflection.PropertyInfo,KRPC.Service.GameScene)">
3559
3252
  <summary>
3560
- Get/set the value of element 1
3253
+ Get the game scene(s) that the property should be available during
3561
3254
  </summary>
3562
3255
  </member>
3563
- <member name="P:KRPC.Utils.Tuple`6.Item2">
3256
+ <member name="M:KRPC.Service.TypeUtils.GetClassServiceName(System.Type)">
3564
3257
  <summary>
3565
- Get/set the value of element 2
3258
+ Get the name of the service for the given KRPCClass annotated type
3566
3259
  </summary>
3567
3260
  </member>
3568
- <member name="P:KRPC.Utils.Tuple`6.Item3">
3261
+ <member name="M:KRPC.Service.TypeUtils.GetClassGameScene(System.Type,KRPC.Service.GameScene)">
3569
3262
  <summary>
3570
- Get/set the value of element 3
3263
+ Get the game scene(s) that the class should be available during
3571
3264
  </summary>
3572
3265
  </member>
3573
- <member name="P:KRPC.Utils.Tuple`6.Item4">
3266
+ <member name="M:KRPC.Service.TypeUtils.GetMethodGameScene(System.Type,System.Reflection.MethodBase,KRPC.Service.GameScene)">
3574
3267
  <summary>
3575
- Get/set the value of element 4
3268
+ Get the game scene(s) that the class method should be available during
3576
3269
  </summary>
3577
3270
  </member>
3578
- <member name="P:KRPC.Utils.Tuple`6.Item5">
3271
+ <member name="M:KRPC.Service.TypeUtils.GetClassPropertyGameScene(System.Type,System.Reflection.PropertyInfo,KRPC.Service.GameScene)">
3579
3272
  <summary>
3580
- Get/set the value of element 5
3273
+ Get the game scene(s) that the class property should be available during
3581
3274
  </summary>
3582
3275
  </member>
3583
- <member name="P:KRPC.Utils.Tuple`6.Item6">
3276
+ <member name="M:KRPC.Service.TypeUtils.GetEnumServiceName(System.Type)">
3584
3277
  <summary>
3585
- Get/set the value of element 6
3278
+ Get the name of the service for the given KRPCEnum annotated type
3586
3279
  </summary>
3587
3280
  </member>
3588
- <member name="M:KRPC.Utils.Tuple`6.#ctor(`0,`1,`2,`3,`4,`5)">
3281
+ <member name="M:KRPC.Service.TypeUtils.GetExceptionServiceName(System.Type)">
3589
3282
  <summary>
3590
- Create a tuple with the given values as its elements
3283
+ Get the name of the service for the given KRPCException annotated type
3591
3284
  </summary>
3592
3285
  </member>
3593
- <member name="M:KRPC.Utils.Tuple`6.Equals(System.Object)">
3286
+ <member name="M:KRPC.Service.TypeUtils.ValidateIdentifier(System.String)">
3594
3287
  <summary>
3595
- Compare two tuples for equality
3288
+ Check if the string is a valid identifier for a kRPC service, procedure, property, class or method.
3596
3289
  </summary>
3597
3290
  </member>
3598
- <member name="M:KRPC.Utils.Tuple`6.Equals(KRPC.Utils.Tuple{`0,`1,`2,`3,`4,`5})">
3291
+ <member name="M:KRPC.Service.TypeUtils.ValidateKRPCService(System.Type)">
3599
3292
  <summary>
3600
- Compare two tuples for equality
3293
+ Check the given type is a valid kRPC service
3294
+ 1. Must have KRPCService attribute
3295
+ 2. Must have a valid identifier
3296
+ 3. Must be a public static class
3297
+ 4. Must not be declared inside another kRPC service
3601
3298
  </summary>
3602
3299
  </member>
3603
- <member name="M:KRPC.Utils.Tuple`6.GetHashCode">
3300
+ <member name="M:KRPC.Service.TypeUtils.ValidateKRPCProcedure(System.Reflection.MethodBase)">
3604
3301
  <summary>
3605
- Hash the tuple
3302
+ Check the given method is a valid kRPC procedure
3303
+ 1. Must have KRPCProcedure attribute
3304
+ 2. Must have a valid identifier
3305
+ 3. Must be a public static method
3306
+ 4. Must be declared inside a kRPC service
3606
3307
  </summary>
3607
3308
  </member>
3608
- <member name="T:KRPC.Utils.Tuple`7">
3309
+ <member name="M:KRPC.Service.TypeUtils.ValidateKRPCProperty(System.Reflection.PropertyInfo)">
3609
3310
  <summary>
3610
- A tuple with 7 elements
3311
+ Check the given type is a valid kRPC property
3312
+ 1. Must have KRPCProperty attribute
3313
+ 2. Must have a valid identifier
3314
+ 3. Must be a public static property
3315
+ 4. Must be declared inside a kRPC service
3611
3316
  </summary>
3612
3317
  </member>
3613
- <member name="P:KRPC.Utils.Tuple`7.Item1">
3318
+ <member name="M:KRPC.Service.TypeUtils.ValidateKRPCClass(System.Type)">
3614
3319
  <summary>
3615
- Get/set the value of element 1
3320
+ Check the given type is a valid kRPC class
3321
+ 1. Must have KRPCClass attribute
3322
+ 2. Must have a valid identifier
3323
+ 3. Must be a public non-static class
3324
+ 4. Must be declared inside a kRPC service if it doesn't have the service explicity set
3325
+ 5. Must not be declared inside a kRPC service if it does have the service explicity set
3616
3326
  </summary>
3617
3327
  </member>
3618
- <member name="P:KRPC.Utils.Tuple`7.Item2">
3328
+ <member name="M:KRPC.Service.TypeUtils.ValidateKRPCEnum(System.Type)">
3619
3329
  <summary>
3620
- Get/set the value of element 2
3330
+ Check the given type is a valid kRPC enumeration
3331
+ 1. Must have KRPCEnum attribute
3332
+ 2. Must have a valid identifier
3333
+ 3. Must be a public enum
3334
+ 4. Underlying type must be a 32-bit signed integer (int)
3335
+ 5. Must be declared inside a kRPC service if it doesn't have the service explicity set
3336
+ 6. Must not be declared inside a kRPC service if it does have the service explicity set
3621
3337
  </summary>
3622
3338
  </member>
3623
- <member name="P:KRPC.Utils.Tuple`7.Item3">
3339
+ <member name="M:KRPC.Service.TypeUtils.ValidateKRPCMethod(System.Type,System.Reflection.MethodBase)">
3624
3340
  <summary>
3625
- Get/set the value of element 3
3341
+ Check the given method is a valid kRPC class method
3342
+ 1. Must have KRPCMethod attribute
3343
+ 2. Must have a valid identifier
3344
+ 3. Must be a public method
3345
+ 4. Must be declared inside a class that is assignable from the given kRPC class
3626
3346
  </summary>
3627
3347
  </member>
3628
- <member name="P:KRPC.Utils.Tuple`7.Item4">
3348
+ <member name="M:KRPC.Service.TypeUtils.ValidateKRPCClassProperty(System.Type,System.Reflection.PropertyInfo)">
3629
3349
  <summary>
3630
- Get/set the value of element 4
3350
+ Check the given type is a valid kRPC class property
3351
+ 1. Must have KRPCProperty attribute
3352
+ 2. Must have a valid identifier
3353
+ 3. Must be a public non-static property
3354
+ 4. Must be declared inside a class that is assignable from the given kRPC class
3631
3355
  </summary>
3632
3356
  </member>
3633
- <member name="P:KRPC.Utils.Tuple`7.Item5">
3357
+ <member name="M:KRPC.Service.TypeUtils.ValidateKRPCException(System.Type)">
3634
3358
  <summary>
3635
- Get/set the value of element 5
3359
+ Check the given type is a valid kRPC exception class
3360
+ 1. Must have KRPCException attribute
3361
+ 2. Must have a valid identifier
3362
+ 3. Must be a public non-static class
3363
+ 4. Must be declared inside a kRPC service if it doesn't have the service explicity set
3364
+ 5. Must not be declared inside a kRPC service if it does have the service explicity set
3636
3365
  </summary>
3637
3366
  </member>
3638
- <member name="P:KRPC.Utils.Tuple`7.Item6">
3367
+ <member name="M:KRPC.Service.TypeUtils.GetNullable(System.Reflection.ICustomAttributeProvider)">
3639
3368
  <summary>
3640
- Get/set the value of element 6
3369
+ Returns whether the procedure/method can return null.
3641
3370
  </summary>
3642
3371
  </member>
3643
- <member name="P:KRPC.Utils.Tuple`7.Item7">
3372
+ <member name="M:KRPC.Service.TypeUtils.SerializeType(System.Type)">
3644
3373
  <summary>
3645
- Get/set the value of element 7
3374
+ Serialize a type into a dictionary for use in a service definition.
3646
3375
  </summary>
3647
3376
  </member>
3648
- <member name="M:KRPC.Utils.Tuple`7.#ctor(`0,`1,`2,`3,`4,`5,`6)">
3377
+ <member name="T:KRPC.Service.YieldException">
3649
3378
  <summary>
3650
- Create a tuple with the given values as its elements
3379
+ Base class for YieldException.
3651
3380
  </summary>
3652
3381
  </member>
3653
- <member name="M:KRPC.Utils.Tuple`7.Equals(System.Object)">
3382
+ <member name="P:KRPC.Service.YieldException.UntypedValue">
3654
3383
  <summary>
3655
- Compare two tuples for equality
3384
+ The continuation to run to continue the work.
3656
3385
  </summary>
3657
3386
  </member>
3658
- <member name="M:KRPC.Utils.Tuple`7.Equals(KRPC.Utils.Tuple{`0,`1,`2,`3,`4,`5,`6})">
3387
+ <member name="M:KRPC.Service.YieldException.CallUntyped">
3659
3388
  <summary>
3660
- Compare two tuples for equality
3389
+ Call the continuation value as a zero-arg delegate, returning its return
3390
+ value as an object (or null if no return value).
3661
3391
  </summary>
3662
3392
  </member>
3663
- <member name="M:KRPC.Utils.Tuple`7.GetHashCode">
3393
+ <member name="T:KRPC.Service.YieldException`1">
3664
3394
  <summary>
3665
- Hash the tuple
3395
+ Thrown by a continuation to indicate that there is more work to do later,
3396
+ represented by the new continuation in the exception.
3666
3397
  </summary>
3667
3398
  </member>
3668
- <member name="T:KRPC.Utils.Tuple`8">
3399
+ <member name="M:KRPC.Service.YieldException`1.#ctor(`0)">
3669
3400
  <summary>
3670
- A tuple with 8 elements
3401
+ Create a yield exception, with a continuation representing the work to do later.
3671
3402
  </summary>
3672
3403
  </member>
3673
- <member name="P:KRPC.Utils.Tuple`8.Item1">
3404
+ <member name="P:KRPC.Service.YieldException`1.Value">
3674
3405
  <summary>
3675
- Get/set the value of element 1
3406
+ The continuation to run to continue the work.
3676
3407
  </summary>
3677
3408
  </member>
3678
- <member name="P:KRPC.Utils.Tuple`8.Item2">
3409
+ <member name="T:KRPC.Utils.DictionaryExtensions">
3679
3410
  <summary>
3680
- Get/set the value of element 2
3411
+ Extension methods for dictionaries
3681
3412
  </summary>
3682
3413
  </member>
3683
- <member name="P:KRPC.Utils.Tuple`8.Item3">
3414
+ <member name="M:KRPC.Utils.DictionaryExtensions.GetValueOrDefault``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1)">
3684
3415
  <summary>
3685
- Get/set the value of element 3
3416
+ Gets the value for the given key from a dictionary, or a default value if the key does not exist.
3686
3417
  </summary>
3687
3418
  </member>
3688
- <member name="P:KRPC.Utils.Tuple`8.Item4">
3419
+ <member name="M:KRPC.Utils.DocumentationExtensions.Dedent(System.String)">
3689
3420
  <summary>
3690
- Get/set the value of element 4
3421
+ Remove indentiation from a multi-line string, where the first line
3422
+ is not indented, and following lines are indented.
3691
3423
  </summary>
3692
3424
  </member>
3693
- <member name="P:KRPC.Utils.Tuple`8.Item5">
3425
+ <member name="T:KRPC.Utils.DynamicBuffer">
3694
3426
  <summary>
3695
- Get/set the value of element 5
3427
+ Provides a dynamically resizable array.
3428
+ Similar to a MemoryStream, but does not implement IDisposable.
3696
3429
  </summary>
3697
3430
  </member>
3698
- <member name="P:KRPC.Utils.Tuple`8.Item6">
3431
+ <member name="T:KRPC.Utils.Equatable`1">
3699
3432
  <summary>
3700
- Get/set the value of element 6
3433
+ Abstract base class for equatable objects.
3434
+ Provides implementations of comparison operators.
3701
3435
  </summary>
3702
3436
  </member>
3703
- <member name="P:KRPC.Utils.Tuple`8.Item7">
3437
+ <member name="M:KRPC.Utils.Equatable`1.Equals(`0)">
3704
3438
  <summary>
3705
- Get/set the value of element 7
3439
+ Returns true if the objects are equal.
3706
3440
  </summary>
3707
3441
  </member>
3708
- <member name="P:KRPC.Utils.Tuple`8.Item8">
3442
+ <member name="M:KRPC.Utils.Equatable`1.GetHashCode">
3709
3443
  <summary>
3710
- Get/set the value of element 8
3444
+ Hash the object.
3711
3445
  </summary>
3712
3446
  </member>
3713
- <member name="M:KRPC.Utils.Tuple`8.#ctor(`0,`1,`2,`3,`4,`5,`6,`7)">
3447
+ <member name="M:KRPC.Utils.Equatable`1.Equals(System.Object)">
3714
3448
  <summary>
3715
- Create a tuple with the given values as its elements
3449
+ Returns true if the objects are equal.
3716
3450
  </summary>
3717
3451
  </member>
3718
- <member name="M:KRPC.Utils.Tuple`8.Equals(System.Object)">
3452
+ <member name="M:KRPC.Utils.Equatable`1.op_Equality(KRPC.Utils.Equatable{`0},KRPC.Utils.Equatable{`0})">
3719
3453
  <summary>
3720
- Compare two tuples for equality
3454
+ Returns true if the objects are equal.
3721
3455
  </summary>
3722
3456
  </member>
3723
- <member name="M:KRPC.Utils.Tuple`8.Equals(KRPC.Utils.Tuple{`0,`1,`2,`3,`4,`5,`6,`7})">
3457
+ <member name="M:KRPC.Utils.Equatable`1.op_Inequality(KRPC.Utils.Equatable{`0},KRPC.Utils.Equatable{`0})">
3724
3458
  <summary>
3725
- Compare two tuples for equality
3459
+ Returns true if the objects are not equal.
3726
3460
  </summary>
3727
3461
  </member>
3728
- <member name="M:KRPC.Utils.Tuple`8.GetHashCode">
3462
+ <member name="T:KRPC.Utils.EventHandlerExtensions">
3729
3463
  <summary>
3730
- Hash the tuple
3464
+ Extension methods for event handlers.
3731
3465
  </summary>
3732
3466
  </member>
3733
- <member name="T:KRPC.Utils.Tuple`9">
3467
+ <member name="M:KRPC.Utils.EventHandlerExtensions.Invoke(System.EventHandler,System.Object)">
3734
3468
  <summary>
3735
- A tuple with 9 elements
3469
+ Invoke an event handler, if it is non-null, otherwise do nothing.
3736
3470
  </summary>
3737
3471
  </member>
3738
- <member name="P:KRPC.Utils.Tuple`9.Item1">
3472
+ <member name="M:KRPC.Utils.EventHandlerExtensions.Invoke``1(System.EventHandler{``0},System.Object,``0)">
3739
3473
  <summary>
3740
- Get/set the value of element 1
3474
+ Invoke an event handler, if it is non-null, otherwise do nothing.
3741
3475
  </summary>
3742
3476
  </member>
3743
- <member name="P:KRPC.Utils.Tuple`9.Item2">
3477
+ <member name="T:KRPC.Utils.Logger">
3744
3478
  <summary>
3745
- Get/set the value of element 2
3479
+ Logger that writes to the game logs.
3746
3480
  </summary>
3747
3481
  </member>
3748
- <member name="P:KRPC.Utils.Tuple`9.Item3">
3482
+ <member name="P:KRPC.Utils.Logger.Format">
3749
3483
  <summary>
3750
- Get/set the value of element 3
3484
+ Format string for log messages.
3751
3485
  </summary>
3752
3486
  </member>
3753
- <member name="P:KRPC.Utils.Tuple`9.Item4">
3487
+ <member name="P:KRPC.Utils.Logger.Enabled">
3754
3488
  <summary>
3755
- Get/set the value of element 4
3489
+ Whether logging is enabled.
3756
3490
  </summary>
3757
3491
  </member>
3758
- <member name="P:KRPC.Utils.Tuple`9.Item5">
3492
+ <member name="P:KRPC.Utils.Logger.Level">
3759
3493
  <summary>
3760
- Get/set the value of element 5
3494
+ Severity of messages to output.
3761
3495
  </summary>
3762
3496
  </member>
3763
- <member name="P:KRPC.Utils.Tuple`9.Item6">
3497
+ <member name="T:KRPC.Utils.Logger.Severity">
3764
3498
  <summary>
3765
- Get/set the value of element 6
3499
+ Log message severity.
3766
3500
  </summary>
3767
3501
  </member>
3768
- <member name="P:KRPC.Utils.Tuple`9.Item7">
3502
+ <member name="F:KRPC.Utils.Logger.Severity.Debug">
3769
3503
  <summary>
3770
- Get/set the value of element 7
3504
+ Debug messages, for identifying bugs.
3771
3505
  </summary>
3772
3506
  </member>
3773
- <member name="P:KRPC.Utils.Tuple`9.Item8">
3507
+ <member name="F:KRPC.Utils.Logger.Severity.Info">
3774
3508
  <summary>
3775
- Get/set the value of element 8
3509
+ Informational messages, describing normal operation.
3776
3510
  </summary>
3777
3511
  </member>
3778
- <member name="P:KRPC.Utils.Tuple`9.Item9">
3512
+ <member name="F:KRPC.Utils.Logger.Severity.Warning">
3779
3513
  <summary>
3780
- Get/set the value of element 9
3514
+ Warning messages, describing non-critical issues.
3781
3515
  </summary>
3782
3516
  </member>
3783
- <member name="M:KRPC.Utils.Tuple`9.#ctor(`0,`1,`2,`3,`4,`5,`6,`7,`8)">
3517
+ <member name="F:KRPC.Utils.Logger.Severity.Error">
3784
3518
  <summary>
3785
- Create a tuple with the given values as its elements
3519
+ Error messages, describing critical issues.
3786
3520
  </summary>
3787
3521
  </member>
3788
- <member name="M:KRPC.Utils.Tuple`9.Equals(System.Object)">
3522
+ <member name="M:KRPC.Utils.Logger.WriteLine(System.String,KRPC.Utils.Logger.Severity)">
3789
3523
  <summary>
3790
- Compare two tuples for equality
3524
+ Write a message to the log.
3791
3525
  </summary>
3792
3526
  </member>
3793
- <member name="M:KRPC.Utils.Tuple`9.Equals(KRPC.Utils.Tuple{`0,`1,`2,`3,`4,`5,`6,`7,`8})">
3527
+ <member name="M:KRPC.Utils.Reflection.GetType(System.String)">
3794
3528
  <summary>
3795
- Compare two tuples for equality
3529
+ Returns the type with the specified full name, from all assemblies, or null if no such type exists.
3796
3530
  </summary>
3797
3531
  </member>
3798
- <member name="M:KRPC.Utils.Tuple`9.GetHashCode">
3532
+ <member name="M:KRPC.Utils.Reflection.GetTypesWith``1(System.Boolean)">
3799
3533
  <summary>
3800
- Hash the tuple
3534
+ Returns all types with the specified attribute, from all assemblies.
3801
3535
  </summary>
3802
3536
  </member>
3803
- <member name="T:KRPC.Utils.Tuple">
3537
+ <member name="M:KRPC.Utils.Reflection.GetMethodsWith``1(System.Type,System.Boolean)">
3804
3538
  <summary>
3805
- Static functions for constructing tuples
3539
+ Returns all methods within a given type that have the specified attribute.
3806
3540
  </summary>
3807
3541
  </member>
3808
- <member name="M:KRPC.Utils.Tuple.Create``1(``0)">
3542
+ <member name="M:KRPC.Utils.Reflection.GetPropertiesWith``1(System.Type,System.Boolean)">
3809
3543
  <summary>
3810
- Construct a tuple with 1 elements
3544
+ Returns all properties within a given type that have the specified attribute.
3811
3545
  </summary>
3812
3546
  </member>
3813
- <member name="M:KRPC.Utils.Tuple.Create``2(``0,``1)">
3547
+ <member name="M:KRPC.Utils.Reflection.GetAttribute``1(System.Reflection.ICustomAttributeProvider)">
3814
3548
  <summary>
3815
- Construct a tuple with 2 elements
3549
+ Return attribute of type T for the given member. Does not follow inheritance.
3550
+ Throws ArgumentException if there is no attribute, or more than one attribute.
3816
3551
  </summary>
3817
3552
  </member>
3818
- <member name="M:KRPC.Utils.Tuple.Create``3(``0,``1,``2)">
3553
+ <member name="M:KRPC.Utils.Reflection.HasAttribute``1(System.Reflection.ICustomAttributeProvider)">
3819
3554
  <summary>
3820
- Construct a tuple with 3 elements
3555
+ Return true if member has the attribute of type T. Does not follow inheritance.
3821
3556
  </summary>
3822
3557
  </member>
3823
- <member name="M:KRPC.Utils.Tuple.Create``4(``0,``1,``2,``3)">
3558
+ <member name="M:KRPC.Utils.Reflection.IsStatic(System.Type)">
3824
3559
  <summary>
3825
- Construct a tuple with 4 elements
3560
+ Extension method to check if a type is static.
3826
3561
  </summary>
3827
3562
  </member>
3828
- <member name="M:KRPC.Utils.Tuple.Create``5(``0,``1,``2,``3,``4)">
3563
+ <member name="M:KRPC.Utils.Reflection.IsStatic(System.Reflection.PropertyInfo)">
3829
3564
  <summary>
3830
- Construct a tuple with 5 elements
3565
+ Extension method to check if a property is static.
3831
3566
  </summary>
3832
3567
  </member>
3833
- <member name="M:KRPC.Utils.Tuple.Create``6(``0,``1,``2,``3,``4,``5)">
3568
+ <member name="M:KRPC.Utils.Reflection.IsPublic(System.Reflection.PropertyInfo)">
3834
3569
  <summary>
3835
- Construct a tuple with 6 elements
3570
+ Extension method to check if a property is public.
3836
3571
  </summary>
3837
3572
  </member>
3838
- <member name="M:KRPC.Utils.Tuple.Create``7(``0,``1,``2,``3,``4,``5,``6)">
3573
+ <member name="M:KRPC.Utils.Reflection.IsGenericType(System.Type,System.Type)">
3839
3574
  <summary>
3840
- Construct a tuple with 7 elements
3575
+ Returns true if the given type is an instance of the given generic type.
3841
3576
  </summary>
3842
3577
  </member>
3843
- <member name="M:KRPC.Utils.Tuple.Create``8(``0,``1,``2,``3,``4,``5,``6,``7)">
3578
+ <member name="M:KRPC.Utils.Text.IsValidUTF8(System.Byte[],System.Int32,System.Int32)">
3844
3579
  <summary>
3845
- Construct a tuple with 8 elements
3580
+ Returns true if the given data is a valid UTF8 string.
3846
3581
  </summary>
3847
3582
  </member>
3848
- <member name="M:KRPC.Utils.Tuple.Create``9(``0,``1,``2,``3,``4,``5,``6,``7,``8)">
3583
+ <member name="M:KRPC.Utils.Text.IsValidTruncatedUTF8(System.Byte[],System.Int32,System.Int32,System.Int32@)">
3849
3584
  <summary>
3850
- Construct a tuple with 9 elements
3585
+ Returns true if the given data is valid, but possible truncated, UTF8 string.
3586
+ If true, sets <paramref name="length" /> to the number of bytes at the end of the array that are a valid, but truncated UTF8 character/
3851
3587
  </summary>
3852
3588
  </member>
3853
3589
  <member name="T:KRPC.Schema.KRPC.KrpcReflection">
@@ -3988,6 +3724,9 @@
3988
3724
  <member name="F:KRPC.Schema.KRPC.Parameter.DefaultValueFieldNumber">
3989
3725
  <summary>Field number for the "default_value" field.</summary>
3990
3726
  </member>
3727
+ <member name="F:KRPC.Schema.KRPC.Parameter.NullableFieldNumber">
3728
+ <summary>Field number for the "nullable" field.</summary>
3729
+ </member>
3991
3730
  <member name="F:KRPC.Schema.KRPC.Class.NameFieldNumber">
3992
3731
  <summary>Field number for the "name" field.</summary>
3993
3732
  </member>