@opensumi/ide-connection 2.27.3-rc-1706857131.0 → 2.27.3-rc-1708222409.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 (209) hide show
  1. package/lib/browser/ws-channel-handler.d.ts.map +1 -1
  2. package/lib/browser/ws-channel-handler.js +2 -6
  3. package/lib/browser/ws-channel-handler.js.map +1 -1
  4. package/lib/common/{connection → buffers}/buffers.d.ts +2 -1
  5. package/lib/common/buffers/buffers.d.ts.map +1 -0
  6. package/lib/common/{connection → buffers}/buffers.js +21 -3
  7. package/lib/common/buffers/buffers.js.map +1 -0
  8. package/lib/common/connection/drivers/base.d.ts +2 -2
  9. package/lib/common/connection/drivers/base.d.ts.map +1 -1
  10. package/lib/common/connection/drivers/base.js +0 -4
  11. package/lib/common/connection/drivers/base.js.map +1 -1
  12. package/lib/common/connection/drivers/frame-decoder.d.ts +34 -0
  13. package/lib/common/connection/drivers/frame-decoder.d.ts.map +1 -0
  14. package/lib/common/connection/drivers/frame-decoder.js +147 -0
  15. package/lib/common/connection/drivers/frame-decoder.js.map +1 -0
  16. package/lib/common/connection/drivers/{empty.d.ts → message-port.d.ts} +5 -2
  17. package/lib/common/connection/drivers/message-port.d.ts.map +1 -0
  18. package/lib/common/connection/drivers/message-port.js +41 -0
  19. package/lib/common/connection/drivers/message-port.js.map +1 -0
  20. package/lib/common/connection/drivers/node-message-port.d.ts +1 -0
  21. package/lib/common/connection/drivers/node-message-port.d.ts.map +1 -1
  22. package/lib/common/connection/drivers/node-message-port.js +3 -0
  23. package/lib/common/connection/drivers/node-message-port.js.map +1 -1
  24. package/lib/common/connection/drivers/reconnecting-websocket.d.ts +1 -0
  25. package/lib/common/connection/drivers/reconnecting-websocket.d.ts.map +1 -1
  26. package/lib/common/connection/drivers/reconnecting-websocket.js +3 -0
  27. package/lib/common/connection/drivers/reconnecting-websocket.js.map +1 -1
  28. package/lib/common/connection/drivers/simple.d.ts +17 -0
  29. package/lib/common/connection/drivers/simple.d.ts.map +1 -0
  30. package/lib/common/connection/drivers/simple.js +32 -0
  31. package/lib/common/connection/drivers/simple.js.map +1 -0
  32. package/lib/common/connection/drivers/socket.d.ts +4 -2
  33. package/lib/common/connection/drivers/socket.d.ts.map +1 -1
  34. package/lib/common/connection/drivers/socket.js +10 -7
  35. package/lib/common/connection/drivers/socket.js.map +1 -1
  36. package/lib/common/connection/drivers/ws-websocket.d.ts +2 -0
  37. package/lib/common/connection/drivers/ws-websocket.d.ts.map +1 -1
  38. package/lib/common/connection/drivers/ws-websocket.js +6 -0
  39. package/lib/common/connection/drivers/ws-websocket.js.map +1 -1
  40. package/lib/common/connection/types.d.ts +1 -1
  41. package/lib/common/connection/types.d.ts.map +1 -1
  42. package/lib/common/ext-rpc-protocol.d.ts +7 -21
  43. package/lib/common/ext-rpc-protocol.d.ts.map +1 -1
  44. package/lib/common/ext-rpc-protocol.js +13 -33
  45. package/lib/common/ext-rpc-protocol.js.map +1 -1
  46. package/lib/common/fury-extends/any.d.ts +22 -0
  47. package/lib/common/fury-extends/any.d.ts.map +1 -0
  48. package/lib/common/fury-extends/any.js +143 -0
  49. package/lib/common/fury-extends/any.js.map +1 -0
  50. package/lib/common/fury-extends/one-of.d.ts +14 -0
  51. package/lib/common/fury-extends/one-of.d.ts.map +1 -0
  52. package/lib/common/fury-extends/one-of.js +50 -0
  53. package/lib/common/fury-extends/one-of.js.map +1 -0
  54. package/lib/common/fury-extends/shared.d.ts +142 -0
  55. package/lib/common/fury-extends/shared.d.ts.map +1 -0
  56. package/lib/common/fury-extends/shared.js +17 -0
  57. package/lib/common/fury-extends/shared.js.map +1 -0
  58. package/lib/common/index.d.ts +2 -1
  59. package/lib/common/index.d.ts.map +1 -1
  60. package/lib/common/index.js +2 -1
  61. package/lib/common/index.js.map +1 -1
  62. package/lib/common/protocols/common-server.d.ts +3 -0
  63. package/lib/common/protocols/common-server.d.ts.map +1 -0
  64. package/lib/common/protocols/common-server.js +18 -0
  65. package/lib/common/protocols/common-server.js.map +1 -0
  66. package/lib/common/protocols/common.d.ts +24 -0
  67. package/lib/common/protocols/common.d.ts.map +1 -0
  68. package/lib/common/protocols/common.js +12 -0
  69. package/lib/common/protocols/common.js.map +1 -0
  70. package/lib/common/rpc/connection.d.ts +44 -0
  71. package/lib/common/rpc/connection.d.ts.map +1 -0
  72. package/lib/common/rpc/connection.js +256 -0
  73. package/lib/common/rpc/connection.js.map +1 -0
  74. package/lib/common/rpc/errors.d.ts +4 -0
  75. package/lib/common/rpc/errors.d.ts.map +1 -0
  76. package/lib/common/rpc/errors.js +10 -0
  77. package/lib/common/rpc/errors.js.map +1 -0
  78. package/lib/common/rpc/index.d.ts +3 -0
  79. package/lib/common/rpc/index.d.ts.map +1 -0
  80. package/lib/common/rpc/index.js +6 -0
  81. package/lib/common/rpc/index.js.map +1 -0
  82. package/lib/common/rpc/multiplexer.d.ts +28 -0
  83. package/lib/common/rpc/multiplexer.d.ts.map +1 -0
  84. package/lib/common/rpc/multiplexer.js +82 -0
  85. package/lib/common/rpc/multiplexer.js.map +1 -0
  86. package/lib/common/rpc/packet.d.ts +65 -0
  87. package/lib/common/rpc/packet.d.ts.map +1 -0
  88. package/lib/common/rpc/packet.js +82 -0
  89. package/lib/common/rpc/packet.js.map +1 -0
  90. package/lib/common/rpc/protocol-repository.d.ts +32 -0
  91. package/lib/common/rpc/protocol-repository.d.ts.map +1 -0
  92. package/lib/common/rpc/protocol-repository.js +118 -0
  93. package/lib/common/rpc/protocol-repository.js.map +1 -0
  94. package/lib/common/rpc/types.d.ts +13 -0
  95. package/lib/common/rpc/types.d.ts.map +1 -0
  96. package/lib/common/rpc/types.js +3 -0
  97. package/lib/common/rpc/types.js.map +1 -0
  98. package/lib/common/rpc/utils.d.ts +2 -0
  99. package/lib/common/rpc/utils.d.ts.map +1 -0
  100. package/lib/common/rpc/utils.js +10 -0
  101. package/lib/common/rpc/utils.js.map +1 -0
  102. package/lib/common/rpc-service/center.d.ts +12 -5
  103. package/lib/common/rpc-service/center.d.ts.map +1 -1
  104. package/lib/common/rpc-service/center.js +47 -42
  105. package/lib/common/rpc-service/center.js.map +1 -1
  106. package/lib/common/rpc-service/index.d.ts +6 -0
  107. package/lib/common/rpc-service/index.d.ts.map +1 -1
  108. package/lib/common/rpc-service/index.js +7 -0
  109. package/lib/common/rpc-service/index.js.map +1 -1
  110. package/lib/common/rpc-service/proxy/base.d.ts +32 -0
  111. package/lib/common/rpc-service/proxy/base.d.ts.map +1 -0
  112. package/lib/common/rpc-service/proxy/base.js +93 -0
  113. package/lib/common/rpc-service/proxy/base.js.map +1 -0
  114. package/lib/common/rpc-service/proxy/index.d.ts +5 -0
  115. package/lib/common/rpc-service/proxy/index.d.ts.map +1 -0
  116. package/lib/common/rpc-service/proxy/index.js +8 -0
  117. package/lib/common/rpc-service/proxy/index.js.map +1 -0
  118. package/lib/common/rpc-service/proxy/invoker.d.ts +14 -0
  119. package/lib/common/rpc-service/proxy/invoker.d.ts.map +1 -0
  120. package/lib/common/rpc-service/proxy/invoker.js +34 -0
  121. package/lib/common/rpc-service/proxy/invoker.js.map +1 -0
  122. package/lib/common/{proxy → rpc-service/proxy}/legacy.d.ts +3 -7
  123. package/lib/common/rpc-service/proxy/legacy.d.ts.map +1 -0
  124. package/lib/common/rpc-service/proxy/legacy.js +136 -0
  125. package/lib/common/rpc-service/proxy/legacy.js.map +1 -0
  126. package/lib/common/rpc-service/proxy/registry.d.ts +18 -0
  127. package/lib/common/rpc-service/proxy/registry.d.ts.map +1 -0
  128. package/lib/common/rpc-service/proxy/registry.js +46 -0
  129. package/lib/common/rpc-service/proxy/registry.js.map +1 -0
  130. package/lib/common/rpc-service/proxy/sumi.d.ts +9 -0
  131. package/lib/common/rpc-service/proxy/sumi.d.ts.map +1 -0
  132. package/lib/common/rpc-service/proxy/sumi.js +86 -0
  133. package/lib/common/rpc-service/proxy/sumi.js.map +1 -0
  134. package/lib/common/rpc-service/stub.d.ts +0 -1
  135. package/lib/common/rpc-service/stub.d.ts.map +1 -1
  136. package/lib/common/rpc-service/stub.js +3 -11
  137. package/lib/common/rpc-service/stub.js.map +1 -1
  138. package/lib/common/types.d.ts +1 -1
  139. package/lib/common/types.d.ts.map +1 -1
  140. package/lib/common/ws-channel.d.ts +97 -32
  141. package/lib/common/ws-channel.d.ts.map +1 -1
  142. package/lib/common/ws-channel.js +75 -51
  143. package/lib/common/ws-channel.js.map +1 -1
  144. package/lib/node/common-channel-handler.js +1 -1
  145. package/lib/node/common-channel-handler.js.map +1 -1
  146. package/package.json +5 -5
  147. package/src/browser/ws-channel-handler.ts +2 -6
  148. package/src/common/{connection → buffers}/buffers.ts +24 -3
  149. package/src/common/connection/drivers/base.ts +2 -6
  150. package/src/common/connection/drivers/frame-decoder.ts +170 -0
  151. package/src/common/connection/drivers/message-port.ts +42 -0
  152. package/src/common/connection/drivers/node-message-port.ts +3 -0
  153. package/src/common/connection/drivers/reconnecting-websocket.ts +4 -0
  154. package/src/common/connection/drivers/simple.ts +33 -0
  155. package/src/common/connection/drivers/socket.ts +11 -7
  156. package/src/common/connection/drivers/ws-websocket.ts +8 -0
  157. package/src/common/connection/types.ts +1 -1
  158. package/src/common/ext-rpc-protocol.ts +16 -51
  159. package/src/common/fury-extends/any.ts +144 -0
  160. package/src/common/fury-extends/one-of.ts +61 -0
  161. package/src/common/fury-extends/shared.ts +15 -0
  162. package/src/common/index.ts +2 -1
  163. package/src/common/protocols/common-server.ts +18 -0
  164. package/src/common/protocols/common.ts +9 -0
  165. package/src/common/rpc/connection.ts +345 -0
  166. package/src/common/rpc/errors.ts +5 -0
  167. package/src/common/rpc/index.ts +2 -0
  168. package/src/common/rpc/multiplexer.ts +105 -0
  169. package/src/common/rpc/packet.ts +104 -0
  170. package/src/common/rpc/protocol-repository.ts +180 -0
  171. package/src/common/rpc/types.ts +23 -0
  172. package/src/common/rpc/utils.ts +5 -0
  173. package/src/common/rpc-service/center.ts +59 -49
  174. package/src/common/rpc-service/index.ts +9 -0
  175. package/src/common/rpc-service/proxy/base.ts +126 -0
  176. package/src/common/rpc-service/proxy/index.ts +4 -0
  177. package/src/common/rpc-service/proxy/invoker.ts +45 -0
  178. package/src/common/rpc-service/proxy/legacy.ts +150 -0
  179. package/src/common/rpc-service/proxy/registry.ts +56 -0
  180. package/src/common/rpc-service/proxy/sumi.ts +81 -0
  181. package/src/common/rpc-service/stub.ts +4 -11
  182. package/src/common/types.ts +1 -1
  183. package/src/common/ws-channel.ts +100 -61
  184. package/src/node/common-channel-handler.ts +1 -1
  185. package/lib/common/connection/buffers.d.ts.map +0 -1
  186. package/lib/common/connection/buffers.js.map +0 -1
  187. package/lib/common/connection/drivers/empty.d.ts.map +0 -1
  188. package/lib/common/connection/drivers/empty.js +0 -21
  189. package/lib/common/connection/drivers/empty.js.map +0 -1
  190. package/lib/common/connection/drivers/stream-decoder.d.ts +0 -67
  191. package/lib/common/connection/drivers/stream-decoder.d.ts.map +0 -1
  192. package/lib/common/connection/drivers/stream-decoder.js +0 -171
  193. package/lib/common/connection/drivers/stream-decoder.js.map +0 -1
  194. package/lib/common/proxy/base.d.ts +0 -22
  195. package/lib/common/proxy/base.d.ts.map +0 -1
  196. package/lib/common/proxy/base.js +0 -47
  197. package/lib/common/proxy/base.js.map +0 -1
  198. package/lib/common/proxy/index.d.ts +0 -8
  199. package/lib/common/proxy/index.d.ts.map +0 -1
  200. package/lib/common/proxy/index.js +0 -12
  201. package/lib/common/proxy/index.js.map +0 -1
  202. package/lib/common/proxy/legacy.d.ts.map +0 -1
  203. package/lib/common/proxy/legacy.js +0 -183
  204. package/lib/common/proxy/legacy.js.map +0 -1
  205. package/src/common/connection/drivers/empty.ts +0 -19
  206. package/src/common/connection/drivers/stream-decoder.ts +0 -196
  207. package/src/common/proxy/base.ts +0 -67
  208. package/src/common/proxy/index.ts +0 -10
  209. package/src/common/proxy/legacy.ts +0 -200
@@ -1 +1 @@
1
- {"version":3,"file":"ws-channel.js","sourceRoot":"","sources":["../../src/common/ws-channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-channel.js","sourceRoot":"","sources":["../../src/common/ws-channel.ts"],"names":[],"mappings":"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"}
@@ -141,7 +141,7 @@ class CommonChannelHandler extends ws_2.WebSocketHandler {
141
141
  const { id } = msgObj;
142
142
  const channel = this.channelMap.get(id);
143
143
  if (channel) {
144
- channel.handleMessage(msgObj);
144
+ channel.dispatchChannelMessage(msgObj);
145
145
  }
146
146
  else {
147
147
  this.logger.warn(`The channel(${id}) was not found`);
@@ -1 +1 @@
1
- {"version":3,"file":"common-channel-handler.js","sourceRoot":"","sources":["../../src/node/common-channel-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common-channel-handler.js","sourceRoot":"","sources":["../../src/node/common-channel-handler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-connection",
3
- "version": "2.27.3-rc-1706857131.0",
3
+ "version": "2.27.3-rc-1708222409.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -18,17 +18,17 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@furyjs/fury": "0.5.6-beta",
21
- "@opensumi/events": "^0.1.0",
22
- "@opensumi/ide-core-common": "2.27.3-rc-1706857131.0",
21
+ "@opensumi/events": "^1.0.0",
22
+ "@opensumi/ide-core-common": "2.27.3-rc-1708222409.0",
23
23
  "@opensumi/vscode-jsonrpc": "^8.0.0-next.2",
24
24
  "path-match": "^1.2.4",
25
25
  "reconnecting-websocket": "^4.4.0",
26
26
  "ws": "^8.15.1"
27
27
  },
28
28
  "devDependencies": {
29
- "@opensumi/ide-components": "2.27.3-rc-1706857131.0",
29
+ "@opensumi/ide-components": "2.27.3-rc-1708222409.0",
30
30
  "@opensumi/ide-dev-tool": "1.3.1",
31
31
  "@opensumi/mock-socket": "^9.3.1"
32
32
  },
33
- "gitHead": "922ed9010fe3658f626401b559c5d1cae6afa760"
33
+ "gitHead": "d1aa8844ced93f5f1a4ca6510215398e29ca4acb"
34
34
  }
@@ -72,11 +72,7 @@ export class WSChannelHandler {
72
72
 
73
73
  const channel = this.channelMap.get(msg.id);
74
74
  if (channel) {
75
- if (!channel.hasMessageListener()) {
76
- // 要求前端发送初始化消息,但后端最先发送消息时,前端并未准备好
77
- this.logger.error(this.LOG_TAG, 'channel not ready!', msg);
78
- }
79
- channel.handleMessage(msg);
75
+ channel.dispatchChannelMessage(msg);
80
76
  } else {
81
77
  this.logger.warn(this.LOG_TAG, `channel ${msg.id} not found`);
82
78
  }
@@ -133,7 +129,7 @@ export class WSChannelHandler {
133
129
  channel.onOpen(() => {
134
130
  resolve();
135
131
  });
136
- channel.onClose((code: number, reason: string) => {
132
+ channel.onceClose((code: number, reason: string) => {
137
133
  this.channelCloseEventMap.set(channelId, {
138
134
  channelPath,
139
135
  closeEvent: { code, reason },
@@ -261,9 +261,30 @@ export class Cursor {
261
261
  }
262
262
  }
263
263
 
264
- move(n: number) {
265
- this.offset += n;
266
- this.updatePosition();
264
+ read(n: number) {
265
+ const end = this.offset + n;
266
+ const buffers = this.buffers.slice(this.offset, end);
267
+ this.skip(n);
268
+ return buffers;
269
+ }
270
+
271
+ skip(n: number) {
272
+ let count = 0;
273
+ while (this.chunkIndex < this.buffers.buffers.length) {
274
+ const chunk = this.buffers.buffers[this.chunkIndex];
275
+ const chunkLength = chunk.byteLength;
276
+
277
+ while (this.chunkOffset < chunkLength) {
278
+ this.chunkOffset++;
279
+ this.offset++;
280
+
281
+ if (++count === n) {
282
+ return;
283
+ }
284
+ }
285
+ this.chunkOffset = 0;
286
+ this.chunkIndex++;
287
+ }
267
288
  }
268
289
 
269
290
  moveTo(n: number) {
@@ -2,14 +2,10 @@ import { IDisposable } from '@opensumi/ide-core-common';
2
2
 
3
3
  import { IConnectionShape } from '../types';
4
4
 
5
- import { createQueue } from './utils';
6
-
7
5
  export abstract class BaseConnection<T> implements IConnectionShape<T> {
8
6
  abstract send(data: T): void;
9
7
  abstract onMessage(cb: (data: T) => void): IDisposable;
10
- abstract onceClose(cb: () => void): IDisposable;
8
+ abstract onceClose(cb: (code?: number, reason?: string) => void): IDisposable;
11
9
 
12
- createQueue(): IConnectionShape<T> {
13
- return createQueue(this);
14
- }
10
+ abstract dispose(): void;
15
11
  }
@@ -0,0 +1,170 @@
1
+ import { BinaryWriter } from '@furyjs/fury/dist/lib/writer';
2
+
3
+ import { readUInt32LE, Emitter } from '@opensumi/ide-core-common';
4
+
5
+ import { Buffers } from '../../buffers/buffers';
6
+
7
+ const writer = BinaryWriter({});
8
+
9
+ /**
10
+ * You can use `Buffer.from('\r\n\r\n')` to get this indicator.
11
+ */
12
+ export const indicator = new Uint8Array([0x0d, 0x0a, 0x0d, 0x0a]);
13
+
14
+ /**
15
+ * sticky packet unpacking problems are generally problems at the transport layer.
16
+ * we use a length field to represent the length of the data, and then read the data according to the length
17
+ */
18
+ export function prependLengthField(content: Uint8Array) {
19
+ writer.reset();
20
+ writer.buffer(indicator);
21
+ writer.uint32(content.byteLength);
22
+ writer.buffer(content);
23
+ return writer.dump();
24
+ }
25
+
26
+ export class LengthFieldBasedFrameDecoder {
27
+ protected dataEmitter = new Emitter<Uint8Array>();
28
+ onData = this.dataEmitter.event;
29
+
30
+ protected buffers = new Buffers();
31
+ protected cursor = this.buffers.cursor();
32
+
33
+ protected contentLength = -1;
34
+
35
+ protected state = 0;
36
+
37
+ /**
38
+ * The number of bytes in the length field.
39
+ *
40
+ * How many bytes are used to represent data length.
41
+ *
42
+ * For example, if the length field is 4 bytes, then the maximum length of the data is 2^32 = 4GB
43
+ */
44
+ lengthFieldLength = 4;
45
+
46
+ reset() {
47
+ this.contentLength = -1;
48
+ this.state = 0;
49
+ this.cursor.reset();
50
+ }
51
+
52
+ push(chunk: Uint8Array): void {
53
+ this.buffers.push(chunk);
54
+ let done = false;
55
+
56
+ while (!done) {
57
+ done = this.readFrame();
58
+ }
59
+ }
60
+
61
+ protected readFrame(): boolean {
62
+ const found = this.readLengthField();
63
+
64
+ if (found) {
65
+ const start = this.cursor.offset;
66
+ const end = start + this.contentLength;
67
+
68
+ const binary = this.buffers.slice(start, end);
69
+
70
+ this.dataEmitter.fire(binary);
71
+
72
+ if (this.buffers.byteLength > end) {
73
+ this.contentLength = -1;
74
+ this.state = 0;
75
+ this.cursor.moveTo(end);
76
+ // has more data, continue to parse
77
+ return false;
78
+ }
79
+
80
+ // delete used buffers
81
+ this.buffers.splice(0, end);
82
+ this.reset();
83
+ }
84
+
85
+ return true;
86
+ }
87
+
88
+ protected readLengthField() {
89
+ const bufferLength = this.buffers.byteLength;
90
+
91
+ if (this.state !== 4) {
92
+ if (this.cursor.offset + indicator.length > bufferLength) {
93
+ // Not enough data yet, wait for more data
94
+ return false;
95
+ }
96
+
97
+ this.readIndicator();
98
+ }
99
+
100
+ if (this.state !== 4) {
101
+ // Not a complete indicator yet, wait for more data
102
+ return false;
103
+ }
104
+
105
+ if (this.contentLength === -1) {
106
+ if (this.cursor.offset + this.lengthFieldLength > bufferLength) {
107
+ // Not enough data yet, wait for more data
108
+ return false;
109
+ }
110
+
111
+ // read the content length
112
+ const buf = this.cursor.read(this.lengthFieldLength);
113
+ // fury writer use little endian
114
+ this.contentLength = readUInt32LE(buf, 0);
115
+ }
116
+
117
+ if (this.cursor.offset + this.contentLength > bufferLength) {
118
+ // Not enough data yet, wait for more data
119
+ return false;
120
+ }
121
+
122
+ return true;
123
+ }
124
+
125
+ protected readIndicator() {
126
+ const iter = this.cursor.iterator();
127
+
128
+ let result = iter.next();
129
+ while (!result.done) {
130
+ switch (result.value) {
131
+ case 0x0d:
132
+ switch (this.state) {
133
+ case 0:
134
+ this.state = 1;
135
+ break;
136
+ case 2:
137
+ this.state = 3;
138
+ break;
139
+ default:
140
+ this.state = 0;
141
+ break;
142
+ }
143
+ break;
144
+ case 0x0a:
145
+ switch (this.state) {
146
+ case 1:
147
+ this.state = 2;
148
+ break;
149
+ case 3:
150
+ this.state = 4;
151
+ iter.return();
152
+ break;
153
+ default:
154
+ this.state = 0;
155
+ break;
156
+ }
157
+ break;
158
+ default:
159
+ this.state = 0;
160
+ break;
161
+ }
162
+ result = iter.next();
163
+ }
164
+ }
165
+
166
+ dispose() {
167
+ this.dataEmitter.dispose();
168
+ this.buffers.dispose();
169
+ }
170
+ }
@@ -0,0 +1,42 @@
1
+ import { IDisposable } from '@opensumi/ide-core-common';
2
+
3
+ import { BaseConnection } from './base';
4
+
5
+ export class MessagePortConnection extends BaseConnection<Uint8Array> {
6
+ constructor(public port: MessagePort) {
7
+ super();
8
+ if (typeof port.start === 'function') {
9
+ // compatible with nodejs in unittest, nodejs does not have start method
10
+ port.start();
11
+ }
12
+ }
13
+
14
+ send(data: Uint8Array): void {
15
+ this.port.postMessage(data);
16
+ }
17
+
18
+ onMessage(cb: (data: Uint8Array) => void): IDisposable {
19
+ const listener = (e: MessageEvent) => {
20
+ cb(e.data);
21
+ };
22
+
23
+ this.port.addEventListener('message', listener);
24
+ return {
25
+ dispose: () => {
26
+ this.port.removeEventListener('message', listener);
27
+ },
28
+ };
29
+ }
30
+
31
+ onceClose(cb: () => void): IDisposable {
32
+ this.port.addEventListener('close', cb);
33
+ return {
34
+ dispose: () => {
35
+ this.port.addEventListener('close', cb);
36
+ },
37
+ };
38
+ }
39
+ dispose(): void {
40
+ // do nothing
41
+ }
42
+ }
@@ -30,4 +30,7 @@ export class NodeMessagePortConnection extends BaseConnection<Uint8Array> {
30
30
  },
31
31
  };
32
32
  }
33
+ dispose(): void {
34
+ this.port.removeAllListeners();
35
+ }
33
36
  }
@@ -76,6 +76,10 @@ export class ReconnectingWebSocketConnection extends BaseConnection<Uint8Array>
76
76
  };
77
77
  }
78
78
 
79
+ dispose(): void {
80
+ // do nothing
81
+ }
82
+
79
83
  static forURL(url: UrlProvider, protocols?: string | string[], options?: ReconnectingWebSocketOptions) {
80
84
  const rawConnection = new ReconnectingWebSocket(url, protocols, options);
81
85
  rawConnection.binaryType = 'arraybuffer';
@@ -0,0 +1,33 @@
1
+ import { IDisposable } from '@opensumi/ide-core-common';
2
+
3
+ import { BaseConnection } from './base';
4
+
5
+ export class SimpleConnection extends BaseConnection<Uint8Array> {
6
+ constructor(
7
+ public options: {
8
+ send?: (data: Uint8Array) => void;
9
+ onMessage?: (cb: (data: Uint8Array) => void) => IDisposable;
10
+ } = {},
11
+ ) {
12
+ super();
13
+ }
14
+ send(data: Uint8Array): void {
15
+ this.options.send?.(data);
16
+ }
17
+ onMessage(cb: (data: Uint8Array) => void): IDisposable {
18
+ if (this.options.onMessage) {
19
+ return this.options.onMessage(cb);
20
+ }
21
+ return {
22
+ dispose: () => {},
23
+ };
24
+ }
25
+ onceClose(cb: () => void): IDisposable {
26
+ return {
27
+ dispose: () => {},
28
+ };
29
+ }
30
+ dispose(): void {
31
+ // do nothing
32
+ }
33
+ }
@@ -3,10 +3,10 @@ import type net from 'net';
3
3
  import { IDisposable } from '@opensumi/ide-core-common';
4
4
 
5
5
  import { BaseConnection } from './base';
6
- import { StreamPacketDecoder, createStreamPacket } from './stream-decoder';
6
+ import { LengthFieldBasedFrameDecoder, prependLengthField } from './frame-decoder';
7
7
 
8
8
  export class NetSocketConnection extends BaseConnection<Uint8Array> {
9
- protected decoder = new StreamPacketDecoder();
9
+ protected decoder = new LengthFieldBasedFrameDecoder();
10
10
 
11
11
  constructor(private socket: net.Socket) {
12
12
  super();
@@ -23,14 +23,11 @@ export class NetSocketConnection extends BaseConnection<Uint8Array> {
23
23
  }
24
24
 
25
25
  send(data: Uint8Array): void {
26
- this.socket.write(createStreamPacket(data));
26
+ this.socket.write(prependLengthField(data));
27
27
  }
28
28
 
29
29
  onMessage(cb: (data: Uint8Array) => void): IDisposable {
30
- const dispose = this.decoder.onData(cb);
31
- return {
32
- dispose,
33
- };
30
+ return this.decoder.onData(cb);
34
31
  }
35
32
 
36
33
  onceClose(cb: () => void): IDisposable {
@@ -59,4 +56,11 @@ export class NetSocketConnection extends BaseConnection<Uint8Array> {
59
56
  },
60
57
  };
61
58
  }
59
+ dispose(): void {
60
+ this.decoder.dispose();
61
+ }
62
+
63
+ destroy(): void {
64
+ this.socket.destroy();
65
+ }
62
66
  }
@@ -28,4 +28,12 @@ export class WSWebSocketConnection extends BaseConnection<Uint8Array> {
28
28
  },
29
29
  };
30
30
  }
31
+
32
+ isOpen() {
33
+ return this.socket.readyState === this.socket.OPEN;
34
+ }
35
+
36
+ dispose(): void {
37
+ this.socket.removeAllListeners();
38
+ }
31
39
  }
@@ -3,5 +3,5 @@ import { IDisposable } from '@opensumi/ide-core-common';
3
3
  export interface IConnectionShape<T> {
4
4
  send(data: T): void;
5
5
  onMessage: (cb: (data: T) => void) => IDisposable;
6
- onceClose: (cb: () => void) => IDisposable;
6
+ onceClose: (cb: (code?: number, reason?: string) => void) => IDisposable;
7
7
  }
@@ -2,18 +2,15 @@ import {
2
2
  CancellationToken,
3
3
  CancellationTokenSource,
4
4
  Deferred,
5
- Emitter,
6
5
  Event,
7
6
  SerializedError,
7
+ // Uri: vscode 中的 uri
8
+ // URI: 在 vscode 中的 uri 基础上包装了一些基础方法
8
9
  Uri,
9
10
  transformErrorForSerialization,
10
11
  } from '@opensumi/ide-core-common';
11
12
 
12
- import { ILogger } from './types';
13
- import { WSChannel } from './ws-channel';
14
-
15
- // Uri: vscode 中的 uri
16
- // URI: 在 vscode 中的 uri 基础上包装了一些基础方法
13
+ import { IRPCProtocol, ProxyIdentifier } from './rpc/multiplexer';
17
14
 
18
15
  export enum RPCProtocolEnv {
19
16
  MAIN,
@@ -25,16 +22,7 @@ export interface IProxyIdentifier {
25
22
  countId: number;
26
23
  }
27
24
 
28
- export class ProxyIdentifier<T = any> {
29
- public static count = 0;
30
-
31
- public readonly serviceId: string;
32
- public readonly countId: number;
33
- constructor(serviceId: string) {
34
- this.serviceId = serviceId;
35
- this.countId = ++ProxyIdentifier.count;
36
- }
37
- }
25
+ export { ProxyIdentifier, IRPCProtocol } from './rpc/multiplexer';
38
26
 
39
27
  export function createExtHostContextProxyIdentifier<T>(serviceId: string): ProxyIdentifier<T> {
40
28
  const identifier = new ProxyIdentifier<T>(serviceId);
@@ -44,8 +32,9 @@ export function createMainContextProxyIdentifier<T>(identifier: string): ProxyId
44
32
  const result = new ProxyIdentifier<T>(identifier);
45
33
  return result;
46
34
  }
35
+
47
36
  export interface IMessagePassingProtocol {
48
- send(msg: string): void;
37
+ send(msg): void;
49
38
  onMessage: Event<string>;
50
39
  timeout?: number;
51
40
  }
@@ -180,19 +169,15 @@ export class MessageIO {
180
169
  }
181
170
  }
182
171
 
183
- export const IRPCProtocol = Symbol('IRPCProtocol');
184
- export interface IRPCProtocol {
185
- getProxy<T>(proxyId: ProxyIdentifier<T>): T;
186
- set<T>(identifier: ProxyIdentifier<T>, instance: T): T;
187
- get<T>(identifier: ProxyIdentifier<T>): T;
188
- }
189
-
190
172
  function canceled(): Error {
191
173
  const error = new Error('Canceled');
192
174
  error.name = error.message;
193
175
  return error;
194
176
  }
195
177
 
178
+ /**
179
+ * @deprecated Please use `SumiConnectionMultiplexer` instead.
180
+ */
196
181
  export class RPCProtocol implements IRPCProtocol {
197
182
  private readonly _protocol: IMessagePassingProtocol;
198
183
  private readonly _locals: Map<string, any>;
@@ -201,9 +186,9 @@ export class RPCProtocol implements IRPCProtocol {
201
186
  private readonly _timeoutHandles: Map<string, NodeJS.Timeout | number>;
202
187
  private _lastMessageId: number;
203
188
  private _pendingRPCReplies: Map<string, Deferred<any>>;
204
- private logger: ILogger;
189
+ private logger;
205
190
 
206
- constructor(connection: IMessagePassingProtocol, logger?: ILogger) {
191
+ constructor(connection: IMessagePassingProtocol, logger?: any) {
207
192
  this._protocol = connection;
208
193
  this._locals = new Map();
209
194
  this._proxies = new Map();
@@ -213,6 +198,9 @@ export class RPCProtocol implements IRPCProtocol {
213
198
 
214
199
  this._lastMessageId = 0;
215
200
  this.logger = logger || console;
201
+ this.logger.error(
202
+ "You are using the deprecated 'RPCProtocol' class. Please use the new 'SumiConnectionMultiplexer'",
203
+ );
216
204
  this._protocol.onMessage((msg) => this._receiveOneMessage(msg));
217
205
  }
218
206
 
@@ -279,8 +267,8 @@ export class RPCProtocol implements IRPCProtocol {
279
267
  return result.promise;
280
268
  }
281
269
 
282
- private _receiveOneMessage(rawMsg: string): void {
283
- const msg = JSON.parse(rawMsg, ObjectTransfer.reviver);
270
+ private _receiveOneMessage(rawmsg: string): void {
271
+ const msg = JSON.parse(rawmsg, ObjectTransfer.reviver);
284
272
 
285
273
  if (this._timeoutHandles.has(msg.id)) {
286
274
  // 忽略一些 jest 测试场景 clearTimeout not defined 的问题
@@ -402,26 +390,3 @@ export class RPCProtocol implements IRPCProtocol {
402
390
  pendingReply.reject(new Error('RPC Timeout: ' + callId));
403
391
  }
404
392
  }
405
-
406
- interface RPCProtocolCreateOptions {
407
- timeout?: number;
408
- }
409
-
410
- export function createRPCProtocol(channel: WSChannel, options: RPCProtocolCreateOptions = {}): RPCProtocol {
411
- const onMessageEmitter = new Emitter<string>();
412
- channel.onMessage((msg: string) => {
413
- onMessageEmitter.fire(msg);
414
- });
415
-
416
- const onMessage = onMessageEmitter.event;
417
- const send = (msg: string) => {
418
- channel.send(msg);
419
- };
420
-
421
- const mainThreadProtocol = new RPCProtocol({
422
- onMessage,
423
- send,
424
- timeout: options.timeout,
425
- });
426
- return mainThreadProtocol;
427
- }