@opensumi/ide-connection 2.27.3-rc-1708399099.0 → 2.27.3-rc-1710386185.0

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 (201) hide show
  1. package/README.md +1 -1
  2. package/lib/browser/ws-channel-handler.d.ts +1 -1
  3. package/lib/browser/ws-channel-handler.d.ts.map +1 -1
  4. package/lib/browser/ws-channel-handler.js +23 -33
  5. package/lib/browser/ws-channel-handler.js.map +1 -1
  6. package/lib/common/buffers/buffers.d.ts +1 -0
  7. package/lib/common/buffers/buffers.d.ts.map +1 -1
  8. package/lib/common/buffers/buffers.js +3 -3
  9. package/lib/common/buffers/buffers.js.map +1 -1
  10. package/lib/common/{utils.d.ts → capturer.d.ts} +1 -19
  11. package/lib/common/capturer.d.ts.map +1 -0
  12. package/lib/common/capturer.js +26 -0
  13. package/lib/common/capturer.js.map +1 -0
  14. package/lib/common/connection/drivers/frame-decoder.d.ts +40 -1
  15. package/lib/common/connection/drivers/frame-decoder.d.ts.map +1 -1
  16. package/lib/common/connection/drivers/frame-decoder.js +9 -10
  17. package/lib/common/connection/drivers/frame-decoder.js.map +1 -1
  18. package/lib/common/connection/drivers/index.d.ts +0 -1
  19. package/lib/common/connection/drivers/index.d.ts.map +1 -1
  20. package/lib/common/connection/drivers/index.js +0 -1
  21. package/lib/common/connection/drivers/index.js.map +1 -1
  22. package/lib/common/connection/drivers/message-port.d.ts.map +1 -1
  23. package/lib/common/connection/drivers/message-port.js +1 -4
  24. package/lib/common/connection/drivers/message-port.js.map +1 -1
  25. package/lib/common/connection/drivers/node-message-port.d.ts +1 -1
  26. package/lib/common/connection/drivers/node-message-port.d.ts.map +1 -1
  27. package/lib/common/connection/drivers/node-message-port.js.map +1 -1
  28. package/lib/common/connection/drivers/reconnecting-websocket.d.ts.map +1 -1
  29. package/lib/common/connection/drivers/reconnecting-websocket.js +1 -1
  30. package/lib/common/connection/drivers/reconnecting-websocket.js.map +1 -1
  31. package/lib/common/connection/drivers/socket.d.ts +3 -10
  32. package/lib/common/connection/drivers/socket.d.ts.map +1 -1
  33. package/lib/common/connection/drivers/socket.js +3 -36
  34. package/lib/common/connection/drivers/socket.js.map +1 -1
  35. package/lib/common/connection/drivers/stream.d.ts +17 -0
  36. package/lib/common/connection/drivers/stream.d.ts.map +1 -0
  37. package/lib/common/connection/drivers/stream.js +70 -0
  38. package/lib/common/connection/drivers/stream.js.map +1 -0
  39. package/lib/common/connection/drivers/ws-websocket.d.ts +1 -1
  40. package/lib/common/connection/drivers/ws-websocket.d.ts.map +1 -1
  41. package/lib/common/connection/drivers/ws-websocket.js.map +1 -1
  42. package/lib/common/fury-extends/any.d.ts +10 -7
  43. package/lib/common/fury-extends/any.d.ts.map +1 -1
  44. package/lib/common/fury-extends/any.js +126 -105
  45. package/lib/common/fury-extends/any.js.map +1 -1
  46. package/lib/common/fury-extends/one-of.d.ts +10 -5
  47. package/lib/common/fury-extends/one-of.d.ts.map +1 -1
  48. package/lib/common/fury-extends/one-of.js +65 -30
  49. package/lib/common/fury-extends/one-of.js.map +1 -1
  50. package/lib/common/fury-extends/shared.d.ts +2 -0
  51. package/lib/common/fury-extends/shared.d.ts.map +1 -1
  52. package/lib/common/fury-extends/shared.js.map +1 -1
  53. package/lib/common/index.d.ts +2 -2
  54. package/lib/common/index.d.ts.map +1 -1
  55. package/lib/common/index.js +2 -2
  56. package/lib/common/index.js.map +1 -1
  57. package/lib/common/message.d.ts +1 -1
  58. package/lib/common/message.d.ts.map +1 -1
  59. package/lib/common/rpc/connection.d.ts +31 -15
  60. package/lib/common/rpc/connection.d.ts.map +1 -1
  61. package/lib/common/rpc/connection.js +206 -138
  62. package/lib/common/rpc/connection.js.map +1 -1
  63. package/lib/common/rpc/index.d.ts +1 -1
  64. package/lib/common/rpc/index.d.ts.map +1 -1
  65. package/lib/common/rpc/index.js +1 -1
  66. package/lib/common/rpc/index.js.map +1 -1
  67. package/lib/common/rpc/message-io.d.ts +61 -0
  68. package/lib/common/rpc/message-io.d.ts.map +1 -0
  69. package/lib/common/rpc/message-io.js +159 -0
  70. package/lib/common/rpc/message-io.js.map +1 -0
  71. package/lib/common/rpc/multiplexer.d.ts +3 -0
  72. package/lib/common/rpc/multiplexer.d.ts.map +1 -1
  73. package/lib/common/rpc/multiplexer.js +3 -0
  74. package/lib/common/rpc/multiplexer.js.map +1 -1
  75. package/lib/common/rpc/types.d.ts +26 -5
  76. package/lib/common/rpc/types.d.ts.map +1 -1
  77. package/lib/common/rpc-service/center.d.ts +6 -3
  78. package/lib/common/rpc-service/center.d.ts.map +1 -1
  79. package/lib/common/rpc-service/center.js +39 -31
  80. package/lib/common/rpc-service/center.js.map +1 -1
  81. package/lib/common/rpc-service/proxy/base.d.ts +5 -3
  82. package/lib/common/rpc-service/proxy/base.d.ts.map +1 -1
  83. package/lib/common/rpc-service/proxy/base.js +56 -17
  84. package/lib/common/rpc-service/proxy/base.js.map +1 -1
  85. package/lib/common/rpc-service/proxy/index.d.ts +1 -3
  86. package/lib/common/rpc-service/proxy/index.d.ts.map +1 -1
  87. package/lib/common/rpc-service/proxy/index.js +1 -3
  88. package/lib/common/rpc-service/proxy/index.js.map +1 -1
  89. package/lib/common/rpc-service/proxy/{legacy.d.ts → json.d.ts} +5 -5
  90. package/lib/common/rpc-service/proxy/json.d.ts.map +1 -0
  91. package/lib/common/rpc-service/proxy/{legacy.js → json.js} +46 -56
  92. package/lib/common/rpc-service/proxy/json.js.map +1 -0
  93. package/lib/common/rpc-service/proxy/sumi.d.ts +1 -1
  94. package/lib/common/rpc-service/proxy/sumi.d.ts.map +1 -1
  95. package/lib/common/rpc-service/proxy/sumi.js +25 -37
  96. package/lib/common/rpc-service/proxy/sumi.js.map +1 -1
  97. package/lib/common/rpc-service/{proxy/registry.d.ts → registry.d.ts} +12 -1
  98. package/lib/common/rpc-service/registry.d.ts.map +1 -0
  99. package/lib/common/rpc-service/registry.js +99 -0
  100. package/lib/common/rpc-service/registry.js.map +1 -0
  101. package/lib/common/rpc-service/stub.js +4 -6
  102. package/lib/common/rpc-service/stub.js.map +1 -1
  103. package/lib/common/{ext-rpc-protocol.d.ts → rpcProtocol.d.ts} +2 -2
  104. package/lib/common/rpcProtocol.d.ts.map +1 -0
  105. package/lib/common/{ext-rpc-protocol.js → rpcProtocol.js} +5 -6
  106. package/lib/common/rpcProtocol.js.map +1 -0
  107. package/lib/common/server-handler.d.ts +35 -0
  108. package/lib/common/server-handler.d.ts.map +1 -0
  109. package/lib/common/server-handler.js +165 -0
  110. package/lib/common/server-handler.js.map +1 -0
  111. package/lib/common/types.d.ts +14 -0
  112. package/lib/common/types.d.ts.map +1 -1
  113. package/lib/common/ws-channel.d.ts +6 -10
  114. package/lib/common/ws-channel.d.ts.map +1 -1
  115. package/lib/common/ws-channel.js +16 -15
  116. package/lib/common/ws-channel.js.map +1 -1
  117. package/lib/electron/channel-handler.d.ts +14 -0
  118. package/lib/electron/channel-handler.d.ts.map +1 -0
  119. package/lib/electron/channel-handler.js +26 -0
  120. package/lib/electron/channel-handler.js.map +1 -0
  121. package/lib/electron/index.d.ts +2 -0
  122. package/lib/electron/index.d.ts.map +1 -0
  123. package/lib/electron/index.js +5 -0
  124. package/lib/electron/index.js.map +1 -0
  125. package/lib/node/common-channel-handler.d.ts +6 -25
  126. package/lib/node/common-channel-handler.d.ts.map +1 -1
  127. package/lib/node/common-channel-handler.js +9 -151
  128. package/lib/node/common-channel-handler.js.map +1 -1
  129. package/package.json +5 -5
  130. package/src/browser/ws-channel-handler.ts +26 -40
  131. package/src/common/buffers/buffers.ts +1 -1
  132. package/src/common/capturer.ts +36 -0
  133. package/src/common/connection/drivers/frame-decoder.ts +11 -11
  134. package/src/common/connection/drivers/index.ts +0 -1
  135. package/src/common/connection/drivers/message-port.ts +1 -4
  136. package/src/common/connection/drivers/node-message-port.ts +2 -2
  137. package/src/common/connection/drivers/reconnecting-websocket.ts +3 -2
  138. package/src/common/connection/drivers/socket.ts +4 -42
  139. package/src/common/connection/drivers/stream.ts +76 -0
  140. package/src/common/connection/drivers/ws-websocket.ts +2 -2
  141. package/src/common/fury-extends/any.ts +122 -102
  142. package/src/common/fury-extends/one-of.ts +79 -31
  143. package/src/common/fury-extends/shared.ts +3 -0
  144. package/src/common/index.ts +2 -2
  145. package/src/common/message.ts +1 -1
  146. package/src/common/rpc/connection.ts +228 -166
  147. package/src/common/rpc/index.ts +1 -1
  148. package/src/common/rpc/message-io.ts +223 -0
  149. package/src/common/rpc/multiplexer.ts +3 -0
  150. package/src/common/rpc/types.ts +30 -5
  151. package/src/common/rpc-service/center.ts +37 -31
  152. package/src/common/rpc-service/proxy/base.ts +59 -12
  153. package/src/common/rpc-service/proxy/index.ts +1 -3
  154. package/src/common/rpc-service/proxy/{legacy.ts → json.ts} +47 -57
  155. package/src/common/rpc-service/proxy/sumi.ts +23 -35
  156. package/src/common/rpc-service/registry.ts +125 -0
  157. package/src/common/rpc-service/stub.ts +6 -6
  158. package/src/common/{ext-rpc-protocol.ts → rpcProtocol.ts} +2 -2
  159. package/src/common/server-handler.ts +183 -0
  160. package/src/common/types.ts +13 -0
  161. package/src/common/ws-channel.ts +21 -23
  162. package/src/electron/channel-handler.ts +26 -0
  163. package/src/electron/index.ts +1 -0
  164. package/src/node/common-channel-handler.ts +10 -165
  165. package/lib/common/connection/drivers/utils.d.ts +0 -12
  166. package/lib/common/connection/drivers/utils.d.ts.map +0 -1
  167. package/lib/common/connection/drivers/utils.js +0 -49
  168. package/lib/common/connection/drivers/utils.js.map +0 -1
  169. package/lib/common/ext-rpc-protocol.d.ts.map +0 -1
  170. package/lib/common/ext-rpc-protocol.js.map +0 -1
  171. package/lib/common/rpc/packet.d.ts +0 -65
  172. package/lib/common/rpc/packet.d.ts.map +0 -1
  173. package/lib/common/rpc/packet.js +0 -82
  174. package/lib/common/rpc/packet.js.map +0 -1
  175. package/lib/common/rpc/protocol-repository.d.ts +0 -32
  176. package/lib/common/rpc/protocol-repository.d.ts.map +0 -1
  177. package/lib/common/rpc/protocol-repository.js +0 -118
  178. package/lib/common/rpc/protocol-repository.js.map +0 -1
  179. package/lib/common/rpc/utils.d.ts +0 -2
  180. package/lib/common/rpc/utils.d.ts.map +0 -1
  181. package/lib/common/rpc/utils.js +0 -10
  182. package/lib/common/rpc/utils.js.map +0 -1
  183. package/lib/common/rpc-service/proxy/invoker.d.ts +0 -14
  184. package/lib/common/rpc-service/proxy/invoker.d.ts.map +0 -1
  185. package/lib/common/rpc-service/proxy/invoker.js +0 -34
  186. package/lib/common/rpc-service/proxy/invoker.js.map +0 -1
  187. package/lib/common/rpc-service/proxy/legacy.d.ts.map +0 -1
  188. package/lib/common/rpc-service/proxy/legacy.js.map +0 -1
  189. package/lib/common/rpc-service/proxy/registry.d.ts.map +0 -1
  190. package/lib/common/rpc-service/proxy/registry.js +0 -46
  191. package/lib/common/rpc-service/proxy/registry.js.map +0 -1
  192. package/lib/common/utils.d.ts.map +0 -1
  193. package/lib/common/utils.js +0 -57
  194. package/lib/common/utils.js.map +0 -1
  195. package/src/common/connection/drivers/utils.ts +0 -52
  196. package/src/common/rpc/packet.ts +0 -104
  197. package/src/common/rpc/protocol-repository.ts +0 -180
  198. package/src/common/rpc/utils.ts +0 -5
  199. package/src/common/rpc-service/proxy/invoker.ts +0 -45
  200. package/src/common/rpc-service/proxy/registry.ts +0 -56
  201. package/src/common/utils.ts +0 -80
@@ -1,53 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SumiConnection = void 0;
4
- const events_1 = require("@opensumi/events");
4
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
5
5
  const ide_utils_1 = require("@opensumi/ide-utils");
6
+ const stream_1 = require("@opensumi/ide-utils/lib/stream");
6
7
  const connection_1 = require("../connection");
7
8
  const constants_1 = require("../constants");
8
9
  const errors_1 = require("./errors");
9
- const packet_1 = require("./packet");
10
- const protocol_repository_1 = require("./protocol-repository");
11
- const utils_1 = require("./utils");
10
+ const message_io_1 = require("./message-io");
12
11
  const nullHeaders = {};
13
- const star = '*';
14
12
  class SumiConnection {
15
13
  constructor(socket, options = {}) {
16
14
  this.socket = socket;
17
15
  this.options = options;
18
16
  this.disposable = new ide_utils_1.DisposableCollection();
19
- this._requestEmitter = new events_1.EventEmitter();
20
- this._notificationEmitter = new events_1.EventEmitter();
17
+ this._requestHandlers = new Map();
18
+ this._notificationHandlers = new Map();
21
19
  this._requestId = 0;
22
20
  this._callbacks = new Map();
23
21
  this._timeoutHandles = new Map();
24
22
  this._cancellationTokenSources = new Map();
25
23
  this._knownCanceledRequests = new Set();
26
- this.protocolRepository = new protocol_repository_1.ProtocolRepository();
27
- this.logger = console;
24
+ this.activeRequestPool = new Map();
25
+ this.io = new message_io_1.MessageIO();
28
26
  if (options.logger) {
29
27
  this.logger = options.logger;
30
28
  }
29
+ else {
30
+ this.logger = (0, ide_core_common_1.getDebugLogger)();
31
+ }
31
32
  }
32
33
  sendNotification(method, ...args) {
33
- const processor = this.protocolRepository.getProcessor(method);
34
- const payload = processor.serializeRequest(args);
35
- this.socket.send(packet_1.MessageIO.Request(this._requestId++, packet_1.OperationType.Notification, method, nullHeaders, payload));
34
+ this.socket.send(this.io.Notification(this._requestId++, method, nullHeaders, args));
36
35
  }
37
36
  sendRequest(method, ...args) {
38
37
  return new Promise((resolve, reject) => {
39
38
  const requestId = this._requestId++;
40
- const processor = this.protocolRepository.getProcessor(method);
41
- this._callbacks.set(requestId, (headers, error, buffer) => {
39
+ this._callbacks.set(requestId, (headers, error, result) => {
42
40
  if (error) {
43
41
  if (error === constants_1.METHOD_NOT_REGISTERED) {
42
+ // we should not treat `METHOD_NOT_REGISTERED` as an error.
43
+ // it is a special case, it means the method is not registered on the other side.
44
44
  resolve(error);
45
45
  return;
46
46
  }
47
+ this.traceRequestError(method, args, error);
47
48
  reject(error);
48
49
  return;
49
50
  }
50
- const result = processor.deserializeResult(buffer);
51
51
  resolve(result);
52
52
  });
53
53
  // Set timeout callback, -1 means no timeout configuration is set.
@@ -64,26 +64,13 @@ class SumiConnection {
64
64
  if (cancellationToken) {
65
65
  cancellationToken.onCancellationRequested(() => this.cancelRequest(requestId));
66
66
  }
67
- const payload = processor.serializeRequest(args);
68
- this.socket.send(packet_1.MessageIO.Request(requestId, packet_1.OperationType.Request, method, {
69
- cancelable: cancellationToken ? true : false,
70
- }, payload));
67
+ this.socket.send(this.io.Request(requestId, method, {
68
+ cancelable: Boolean(cancellationToken) || undefined,
69
+ }, args));
71
70
  });
72
71
  }
73
- onNotification(method, handler) {
74
- const handlerWrapper = (requestId, method, headers, args) => {
75
- handler(...args);
76
- };
77
- return this._notificationEmitter.on(method, handlerWrapper);
78
- }
79
- onNotificationNotFound(handler) {
80
- const handlerWrapper = (requestId, method, headers, args) => {
81
- handler(method, args);
82
- };
83
- return this._notificationEmitter.on(star, handlerWrapper);
84
- }
85
72
  cancelRequest(requestId) {
86
- this.socket.send(packet_1.MessageIO.Cancel(requestId));
73
+ this.socket.send(this.io.Cancel(requestId));
87
74
  }
88
75
  _handleTimeout(method, requestId) {
89
76
  if (!this._callbacks.has(requestId) || !this._timeoutHandles.has(requestId)) {
@@ -94,61 +81,46 @@ class SumiConnection {
94
81
  this._timeoutHandles.delete(requestId);
95
82
  callback(nullHeaders, new errors_1.MethodTimeoutError(method));
96
83
  }
97
- runRequestHandler(requestId, method, args, handler) {
98
- let result;
99
- let error;
100
- const processor = this.protocolRepository.getProcessor(method);
101
- try {
102
- result = handler(...args);
103
- }
104
- catch (err) {
105
- error = err;
106
- }
107
- if (error) {
108
- this.socket.send(packet_1.MessageIO.Error(requestId, packet_1.ErrorCode.Err, nullHeaders, error));
109
- this._cancellationTokenSources.delete(requestId);
110
- }
111
- else if ((0, ide_utils_1.isPromise)(result)) {
112
- result
113
- .then((result) => {
114
- const payload = processor.serializeResult(result);
115
- this.socket.send(packet_1.MessageIO.Response(requestId, nullHeaders, payload));
116
- this._cancellationTokenSources.delete(requestId);
117
- })
118
- .catch((err) => {
119
- this.socket.send(packet_1.MessageIO.Error(requestId, packet_1.ErrorCode.Err, nullHeaders, err));
120
- this._cancellationTokenSources.delete(requestId);
121
- });
122
- }
123
- else {
124
- const payload = processor.serializeResult(result);
125
- this.socket.send(packet_1.MessageIO.Response(requestId, nullHeaders, payload));
126
- this._cancellationTokenSources.delete(requestId);
127
- }
128
- }
129
84
  onRequest(method, handler) {
130
- const handlerWrapper = (requestId, method, headers, args) => {
131
- this.runRequestHandler(requestId, method, args, handler);
85
+ this._requestHandlers.set(method, handler);
86
+ return {
87
+ dispose: () => {
88
+ this._requestHandlers.delete(method);
89
+ },
132
90
  };
133
- return this._requestEmitter.on(method, handlerWrapper);
134
91
  }
135
92
  onRequestNotFound(handler) {
136
- const handlerWrapper = (requestId, method, headers, args) => {
137
- this.runRequestHandler(requestId, method, [method, args], handler);
93
+ this._starRequestHandler = handler;
94
+ return {
95
+ dispose: () => {
96
+ this._starRequestHandler = undefined;
97
+ },
98
+ };
99
+ }
100
+ onNotification(method, handler) {
101
+ this._notificationHandlers.set(method, handler);
102
+ return {
103
+ dispose: () => {
104
+ this._notificationHandlers.delete(method);
105
+ },
138
106
  };
139
- return this._requestEmitter.on(star, handlerWrapper);
140
107
  }
141
- setProtocolRepository(protocolRepository) {
142
- this.protocolRepository = protocolRepository;
108
+ onNotificationNotFound(handler) {
109
+ this._starNotificationHandler = handler;
110
+ return {
111
+ dispose: () => {
112
+ this._starNotificationHandler = undefined;
113
+ },
114
+ };
143
115
  }
144
116
  listen() {
117
+ const { reader } = this.io;
145
118
  const toDispose = this.socket.onMessage((data) => {
146
- packet_1.reader.reset(data);
119
+ reader.reset(data);
147
120
  // skip version, currently only have version 1
148
- packet_1.reader.skip(1);
149
- const rpcType = packet_1.reader.uint8();
150
- const requestId = packet_1.reader.uint32();
151
- const codec = packet_1.reader.uint8();
121
+ reader.skip(1);
122
+ const opType = reader.uint8();
123
+ const requestId = reader.uint32();
152
124
  if (this._timeoutHandles.has(requestId)) {
153
125
  // Ignore some jest test scenarios where clearTimeout is not defined.
154
126
  if (typeof clearTimeout === 'function') {
@@ -157,53 +129,129 @@ class SumiConnection {
157
129
  }
158
130
  this._timeoutHandles.delete(requestId);
159
131
  }
160
- switch (rpcType) {
161
- case packet_1.OperationType.Response: {
162
- const callback = this._callbacks.get(requestId);
163
- if (!callback) {
164
- this.logger.error(`Cannot find callback for request ${requestId}`);
165
- return;
166
- }
167
- this._callbacks.delete(requestId);
168
- const status = packet_1.reader.uint16();
169
- // const headers = headerSerializer.read();
170
- // if error code is not 0, it's an error
171
- if (status === packet_1.ErrorCode.Err) {
172
- // TODO: use binary codec
173
- (0, utils_1.assert)(codec === packet_1.BodyCodec.JSON, 'Error response should be JSON encoded');
174
- const content = packet_1.reader.stringOfVarUInt32();
175
- const error = (0, ide_utils_1.parseError)(content);
176
- callback(nullHeaders, error);
177
- return;
178
- }
179
- if (codec === packet_1.BodyCodec.Binary) {
180
- const contentLen = packet_1.reader.varUInt32();
181
- const buffer = packet_1.reader.buffer(contentLen);
182
- callback(nullHeaders, undefined, buffer);
183
- return;
184
- }
185
- const content = packet_1.reader.stringOfVarUInt32();
186
- if (codec === packet_1.BodyCodec.JSON) {
187
- callback(nullHeaders, undefined, JSON.parse(content));
188
- }
189
- else {
190
- callback(nullHeaders, undefined, content);
132
+ switch (opType) {
133
+ case message_io_1.OperationType.Response: {
134
+ const method = reader.stringOfVarUInt32();
135
+ const status = reader.uint16();
136
+ const runCallback = (headers, error, result) => {
137
+ const callback = this._callbacks.get(requestId);
138
+ if (!callback) {
139
+ this.logger.error(`Cannot find callback for request ${requestId}`);
140
+ return;
141
+ }
142
+ this._callbacks.delete(requestId);
143
+ callback(headers, error, result);
144
+ };
145
+ const headers = this.io.responseHeadersSerializer.read();
146
+ switch (status) {
147
+ case message_io_1.Status.Err: {
148
+ // TODO: use binary codec
149
+ const content = reader.stringOfVarUInt32();
150
+ const error = (0, ide_utils_1.parseError)(content);
151
+ runCallback(nullHeaders, error);
152
+ break;
153
+ }
154
+ default: {
155
+ if (headers && headers.chunked) {
156
+ let activeReq;
157
+ if (this.activeRequestPool.has(requestId)) {
158
+ activeReq = this.activeRequestPool.get(requestId);
159
+ }
160
+ else {
161
+ activeReq = new ActiveRequest(requestId, headers);
162
+ this.activeRequestPool.set(requestId, activeReq);
163
+ runCallback(headers, undefined, activeReq);
164
+ }
165
+ const result = this.io.getProcessor(method).readResponse();
166
+ // when result is null, it means the stream is ended.
167
+ if (result) {
168
+ activeReq.emit(result);
169
+ break;
170
+ }
171
+ activeReq.end();
172
+ this.activeRequestPool.delete(requestId);
173
+ }
174
+ else {
175
+ const result = this.io.getProcessor(method).readResponse();
176
+ runCallback(headers, undefined, result);
177
+ }
178
+ }
191
179
  }
192
180
  break;
193
181
  }
194
- case packet_1.OperationType.Notification:
182
+ case message_io_1.OperationType.Notification:
195
183
  // fall through
196
- case packet_1.OperationType.Request: {
197
- const method = packet_1.reader.stringOfVarUInt32();
198
- const headers = packet_1.requestHeadersSerializer.read();
199
- const contentLen = packet_1.reader.varUInt32();
200
- const content = packet_1.reader.buffer(contentLen);
201
- const processor = this.protocolRepository.getProcessor(method);
202
- const args = processor.deserializeRequest(content);
203
- this._receiveRequest(rpcType, requestId, method, headers, args);
184
+ case message_io_1.OperationType.Request: {
185
+ const method = reader.stringOfVarUInt32();
186
+ const headers = this.io.requestHeadersSerializer.read();
187
+ const args = this.io.getProcessor(method).readRequest();
188
+ if (headers.cancelable) {
189
+ const tokenSource = new ide_utils_1.CancellationTokenSource();
190
+ this._cancellationTokenSources.set(requestId, tokenSource);
191
+ args.push(tokenSource.token);
192
+ if (this._knownCanceledRequests.has(requestId)) {
193
+ tokenSource.cancel();
194
+ this._knownCanceledRequests.delete(requestId);
195
+ }
196
+ }
197
+ switch (opType) {
198
+ case message_io_1.OperationType.Request: {
199
+ let promise;
200
+ try {
201
+ let result;
202
+ const handler = this._requestHandlers.get(method);
203
+ if (handler) {
204
+ result = handler(...args);
205
+ }
206
+ else if (this._starRequestHandler) {
207
+ result = this._starRequestHandler(method, args);
208
+ }
209
+ promise = Promise.resolve(result);
210
+ }
211
+ catch (err) {
212
+ promise = Promise.reject(err);
213
+ }
214
+ const onSuccess = (result) => {
215
+ if ((0, stream_1.isReadableStream)(result)) {
216
+ const responseHeaders = {
217
+ chunked: true,
218
+ };
219
+ (0, stream_1.listenReadable)(result, {
220
+ onData: (data) => {
221
+ this.socket.send(this.io.Response(requestId, method, responseHeaders, data));
222
+ },
223
+ onEnd: () => {
224
+ this.socket.send(this.io.Response(requestId, method, responseHeaders, null));
225
+ },
226
+ });
227
+ }
228
+ else {
229
+ this.socket.send(this.io.Response(requestId, method, nullHeaders, result));
230
+ }
231
+ this._cancellationTokenSources.delete(requestId);
232
+ };
233
+ const onError = (err) => {
234
+ this.traceRequestError(method, args, err);
235
+ this.socket.send(this.io.Error(requestId, method, nullHeaders, err));
236
+ this._cancellationTokenSources.delete(requestId);
237
+ };
238
+ promise.then(onSuccess).catch(onError);
239
+ break;
240
+ }
241
+ case message_io_1.OperationType.Notification: {
242
+ const handler = this._notificationHandlers.get(method);
243
+ if (handler) {
244
+ handler(...args);
245
+ }
246
+ else if (this._starNotificationHandler) {
247
+ this._starNotificationHandler(method, args);
248
+ }
249
+ break;
250
+ }
251
+ }
204
252
  break;
205
253
  }
206
- case packet_1.OperationType.Cancel: {
254
+ case message_io_1.OperationType.Cancel: {
207
255
  const cancellationTokenSource = this._cancellationTokenSources.get(requestId);
208
256
  if (cancellationTokenSource) {
209
257
  cancellationTokenSource.cancel();
@@ -225,32 +273,52 @@ class SumiConnection {
225
273
  dispose() {
226
274
  this.disposable.dispose();
227
275
  }
228
- _receiveRequest(rpcType, requestId, method, headers, args) {
229
- const cancelable = headers.cancelable;
230
- if (cancelable) {
231
- const tokenSource = new ide_utils_1.CancellationTokenSource();
232
- this._cancellationTokenSources.set(requestId, tokenSource);
233
- args.push(tokenSource.token);
234
- if (this._knownCanceledRequests.has(requestId)) {
235
- tokenSource.cancel();
236
- this._knownCanceledRequests.delete(requestId);
237
- }
238
- }
239
- if (rpcType === packet_1.OperationType.Request) {
240
- const eventName = this._requestEmitter.hasListener(method) ? method : star;
241
- this._requestEmitter.emit(eventName, requestId, method, headers, args);
242
- }
243
- else {
244
- const eventName = this._notificationEmitter.hasListener(method) ? method : star;
245
- this._notificationEmitter.emit(eventName, requestId, method, headers, args);
246
- }
247
- }
248
276
  static forWSWebSocket(socket, options = {}) {
249
277
  return new SumiConnection(new connection_1.WSWebSocketConnection(socket), options);
250
278
  }
251
279
  static forNetSocket(socket, options = {}) {
252
280
  return new SumiConnection(new connection_1.NetSocketConnection(socket), options);
253
281
  }
282
+ traceRequestError(method, args, error) {
283
+ this.logger.error(`Error handling request ${method} with args `, args, error);
284
+ }
254
285
  }
255
286
  exports.SumiConnection = SumiConnection;
287
+ class ActiveRequest {
288
+ on(event, listener) {
289
+ if (typeof event === 'string') {
290
+ switch (event) {
291
+ case 'data':
292
+ this.onData(listener);
293
+ break;
294
+ case 'end':
295
+ this.onEnd(listener);
296
+ break;
297
+ default:
298
+ break;
299
+ }
300
+ }
301
+ return this;
302
+ }
303
+ onData(cb) {
304
+ return this.dataQ.on(cb);
305
+ }
306
+ onEnd(cb) {
307
+ return this.endQ.on(cb);
308
+ }
309
+ constructor(requestId, responseHeaders) {
310
+ this.requestId = requestId;
311
+ this.responseHeaders = responseHeaders;
312
+ this.dataQ = new ide_utils_1.EventQueue();
313
+ this.endQ = new ide_utils_1.EventQueue();
314
+ }
315
+ emit(buffer) {
316
+ this.dataQ.push(buffer);
317
+ }
318
+ end() {
319
+ this.dataQ.dispose();
320
+ this.endQ.push(undefined);
321
+ this.endQ.dispose();
322
+ }
323
+ }
256
324
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/common/rpc/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/common/rpc/connection.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export * from './types';
2
- export * from './protocol-repository';
2
+ export * from './message-io';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./types"), exports);
5
- tslib_1.__exportStar(require("./protocol-repository"), exports);
5
+ tslib_1.__exportStar(require("./message-io"), exports);
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/rpc/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,gEAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/rpc/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,uDAA6B"}
@@ -0,0 +1,61 @@
1
+ import Fury, { Serializer } from '@furyjs/fury';
2
+ import { BinaryReader, BinaryWriter } from '@furyjs/fury/dist/lib/type';
3
+ import { IProtocolSerializer, IRequestHeaders, IResponseHeaders, TSumiProtocol, TSumiProtocolMethod } from './types';
4
+ export declare enum OperationType {
5
+ Request = 0,
6
+ Notification = 1,
7
+ Response = 2,
8
+ Cancel = 3
9
+ }
10
+ export declare enum Status {
11
+ OK = 0,
12
+ Err = 1
13
+ }
14
+ export declare const HeadersProto: {
15
+ readonly Request: {
16
+ type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
17
+ options: {
18
+ tag: string;
19
+ props: {
20
+ cancelable: {
21
+ type: import("@furyjs/fury").InternalSerializerType.BOOL;
22
+ };
23
+ } | undefined;
24
+ };
25
+ };
26
+ readonly Response: {
27
+ type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
28
+ options: {
29
+ tag: string;
30
+ props: {
31
+ chunked: {
32
+ type: import("@furyjs/fury").InternalSerializerType.BOOL;
33
+ };
34
+ } | undefined;
35
+ };
36
+ };
37
+ };
38
+ export declare class MessageIO {
39
+ fury: Fury;
40
+ reader: BinaryReader;
41
+ writer: BinaryWriter;
42
+ private serializerMap;
43
+ private anySerializer;
44
+ requestHeadersSerializer: Serializer<IRequestHeaders, IRequestHeaders>;
45
+ responseHeadersSerializer: Serializer<IResponseHeaders, IRequestHeaders>;
46
+ constructor();
47
+ has(name: string): boolean;
48
+ loadProtocol(protocol: TSumiProtocol, options?: {
49
+ nameConverter?: (str: string) => string;
50
+ }): void;
51
+ loadProtocolMethod(methodProtocol: TSumiProtocolMethod, options?: {
52
+ nameConverter?: (str: string) => string;
53
+ }): void;
54
+ getProcessor(method: string): IProtocolSerializer;
55
+ Notification(requestId: number, method: string, headers: IRequestHeaders, args: any[]): import("@furyjs/fury/dist/lib/platformBuffer").PlatformBuffer;
56
+ Request(requestId: number, method: string, headers: IRequestHeaders, args: any[]): import("@furyjs/fury/dist/lib/platformBuffer").PlatformBuffer;
57
+ Cancel(requestId: number): import("@furyjs/fury/dist/lib/platformBuffer").PlatformBuffer;
58
+ Response(requestId: number, method: string, headers: Record<string, any>, result: any): import("@furyjs/fury/dist/lib/platformBuffer").PlatformBuffer;
59
+ Error(requestId: number, method: string, headers: Record<string, any>, error: any): import("@furyjs/fury/dist/lib/platformBuffer").PlatformBuffer;
60
+ }
61
+ //# sourceMappingURL=message-io.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-io.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAOxE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAGhB,aAAa,EACb,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAIjB,oBAAY,aAAa;IACvB,OAAO,IAAA;IACP,YAAY,IAAA;IACZ,QAAQ,IAAA;IACR,MAAM,IAAA;CACP;AAED,oBAAY,MAAM;IAChB,EAAE,IAAA;IACF,GAAG,IAAA;CACJ;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAC;AAuDX,qBAAa,SAAS;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IAErB,OAAO,CAAC,aAAa,CAA6C;IAElE,OAAO,CAAC,aAAa,CAAwB;IAE7C,wBAAwB,EAAE,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACvE,yBAAyB,EAAE,UAAU,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;;IAczE,GAAG,CAAC,IAAI,EAAE,MAAM;IAIhB,YAAY,CACV,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC;IASH,kBAAkB,CAChB,cAAc,EAAE,mBAAmB,EACnC,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC;IASH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB;IAQjD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;IAcrF,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;IAchF,MAAM,CAAC,SAAS,EAAE,MAAM;IAUxB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG;IAcrF,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG;CAalF"}