@opensumi/ide-connection 3.0.4-next-1716962745.0 → 3.0.4-next-1716970216.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.
- package/lib/browser/ws-channel-handler.d.ts +4 -2
- package/lib/browser/ws-channel-handler.d.ts.map +1 -1
- package/lib/browser/ws-channel-handler.js +3 -3
- package/lib/browser/ws-channel-handler.js.map +1 -1
- package/lib/common/rpc/multiplexer.d.ts.map +1 -1
- package/lib/common/rpc/multiplexer.js +6 -3
- package/lib/common/rpc/multiplexer.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/ws-channel-handler.ts +6 -6
- package/src/common/rpc/multiplexer.ts +10 -3
|
@@ -3,9 +3,11 @@ import { ChannelMessage } from '../common/channel/types';
|
|
|
3
3
|
import { IRuntimeSocketConnection } from '../common/connection';
|
|
4
4
|
import { IConnectionShape } from '../common/connection/types';
|
|
5
5
|
import { ISerializer } from '../common/serializer';
|
|
6
|
+
import { ILogger } from '../common/types';
|
|
6
7
|
import { WSChannel } from '../common/ws-channel';
|
|
7
8
|
export interface WSChannelHandlerOptions {
|
|
8
|
-
|
|
9
|
+
logger?: ILogger;
|
|
10
|
+
channelSerializer?: ISerializer<ChannelMessage, any>;
|
|
9
11
|
}
|
|
10
12
|
/**
|
|
11
13
|
* Channel Handler in browser
|
|
@@ -27,7 +29,7 @@ export declare class WSChannelHandler {
|
|
|
27
29
|
*/
|
|
28
30
|
private openingBarrier;
|
|
29
31
|
LOG_TAG: string;
|
|
30
|
-
constructor(connection: IRuntimeSocketConnection<Uint8Array>,
|
|
32
|
+
constructor(connection: IRuntimeSocketConnection<Uint8Array>, clientId: string, options?: WSChannelHandlerOptions);
|
|
31
33
|
replaceLogger(logger: any): void;
|
|
32
34
|
setReporter(reporterService: IReporterService): void;
|
|
33
35
|
private heartbeatMessage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-channel-handler.d.ts","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,gBAAgB,EAAyB,MAAM,2BAA2B,CAAC;AAExH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAkC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ws-channel-handler.d.ts","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,gBAAgB,EAAyB,MAAM,2BAA2B,CAAC;AAExH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAkC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAkB,OAAO,EAAe,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,WAAW,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAyBlB,UAAU,EAAE,wBAAwB,CAAC,UAAU,CAAC;IAxBzD,OAAO,CAAC,YAAY,CAAyB;IAE7C,OAAO,CAAC,wBAAwB,CAA0E;IAE1G,iBAAiB,EAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAC7C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,IAAI;IAI5E,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,MAAM,CAAoB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,eAAe,CAAmB;IAE1C;;OAEG;IACH,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,EAAE,MAAM,CAAC;gBAGP,UAAU,EAAE,wBAAwB,CAAC,UAAU,CAAC,EACvD,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,uBAA4B;IASvC,aAAa,CAAC,MAAM,EAAE,GAAG;IAKzB,WAAW,CAAC,eAAe,EAAE,gBAAgB;IAG7C,OAAO,CAAC,gBAAgB;IAaX,WAAW;IAqDxB,OAAO,CAAC,OAAO;IAIR,UAAU,CAAC,WAAW,EAAE,MAAM;IAIxB,WAAW,CAAC,WAAW,EAAE,MAAM;IA+DrC,OAAO;IAOd,iBAAiB,CAAC,WAAW,EAAE,MAAM;CAiBtC"}
|
|
@@ -12,7 +12,7 @@ class WSChannelHandler {
|
|
|
12
12
|
onChannelCreated(path, listener) {
|
|
13
13
|
return this._onChannelCreatedEmitter.on(path, listener);
|
|
14
14
|
}
|
|
15
|
-
constructor(connection,
|
|
15
|
+
constructor(connection, clientId, options = {}) {
|
|
16
16
|
this.connection = connection;
|
|
17
17
|
this._disposables = new ide_core_common_1.DisposableStore();
|
|
18
18
|
this._onChannelCreatedEmitter = this._disposables.add(new events_1.EventEmitter());
|
|
@@ -23,10 +23,10 @@ class WSChannelHandler {
|
|
|
23
23
|
* 保证在连接建立后再执行后续操作
|
|
24
24
|
*/
|
|
25
25
|
this.openingBarrier = new ide_core_common_1.Barrier();
|
|
26
|
-
this.logger = logger || this.logger;
|
|
26
|
+
this.logger = options.logger || this.logger;
|
|
27
27
|
this.clientId = clientId;
|
|
28
28
|
this.LOG_TAG = `[WSChannelHandler] [client-id:${this.clientId}]`;
|
|
29
|
-
const serializer = options.
|
|
29
|
+
const serializer = options.channelSerializer || serializer_1.furySerializer;
|
|
30
30
|
this.wrappedConnection = (0, serializer_1.wrapSerializer)(this.connection, serializer);
|
|
31
31
|
}
|
|
32
32
|
// 为解决建立连接之后,替换成可落盘的 logger
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-channel-handler.js","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAChD,+DAAwH;AAKxH,qDAAmF;AAEnF,qDAAiD;
|
|
1
|
+
{"version":3,"file":"ws-channel-handler.js","sourceRoot":"","sources":["../../src/browser/ws-channel-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiplexer.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAyB,SAAS,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,eAAe,CAAC,CAAC,GAAG,GAAG;IAClC,OAAc,KAAK,SAAK;IAExB,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;gBACpB,SAAS,EAAE,MAAM;IAK7B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM;CAG7B;AAED,MAAM,WAAW,iCAAkC,SAAQ,sBAAsB;IAC/E;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IACvD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC3C;
|
|
1
|
+
{"version":3,"file":"multiplexer.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAyB,SAAS,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,qBAAa,eAAe,CAAC,CAAC,GAAG,GAAG;IAClC,OAAc,KAAK,SAAK;IAExB,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;gBACpB,SAAS,EAAE,MAAM;IAK7B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM;CAG7B;AAED,MAAM,WAAW,iCAAkC,SAAQ,sBAAsB;IAC/E;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IACvD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC3C;AAQD;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,cAAe,YAAW,YAAY;IAsBvE,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,OAAO,EAAE,iCAAiC;IArB9G,SAAS,CAAC,MAAM,CAAC,GAAG,SAAO;IAC3B,SAAS,CAAC,MAAM,CAAC,UAAU,SAAwC;IAEnE,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAIjE,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKzE,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAIrD,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9C,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACzD,EAAE,EAAE,SAAS,CAAC;gBAEQ,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAY,OAAO,GAAE,iCAAsC;IAgB5G,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG;IAWpD,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAI5C,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAMtD,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAe9C,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM;IAmBvB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAe/D,SAAS;CAGV"}
|
|
@@ -16,6 +16,11 @@ class ProxyIdentifier {
|
|
|
16
16
|
exports.ProxyIdentifier = ProxyIdentifier;
|
|
17
17
|
ProxyIdentifier.count = 0;
|
|
18
18
|
exports.IRPCProtocol = Symbol('IRPCProtocol');
|
|
19
|
+
function createExtMessageIO() {
|
|
20
|
+
const io = new message_io_1.MessageIO();
|
|
21
|
+
io.setAnySerializer(new message_io_1.AnyProtocolSerializer(io.writer, io.reader, any_1.ExtObjectTransfer));
|
|
22
|
+
return io;
|
|
23
|
+
}
|
|
19
24
|
/**
|
|
20
25
|
* A connection multiplexer that allows to register multiple local RPC services and to create proxies for them.
|
|
21
26
|
*/
|
|
@@ -31,14 +36,12 @@ class SumiConnectionMultiplexer extends connection_1.SumiConnection {
|
|
|
31
36
|
return serviceId.replace(/\//g, '_');
|
|
32
37
|
}
|
|
33
38
|
constructor(socket, options = {}) {
|
|
34
|
-
super(socket, options);
|
|
39
|
+
super(socket, Object.assign(Object.assign({}, options), { io: createExtMessageIO() }));
|
|
35
40
|
this.socket = socket;
|
|
36
41
|
this.options = options;
|
|
37
42
|
this._locals = new Map();
|
|
38
43
|
this._proxies = new Map();
|
|
39
44
|
this._knownProtocols = options.knownProtocols || {};
|
|
40
|
-
this.io = new message_io_1.MessageIO();
|
|
41
|
-
this.io.setAnySerializer(new message_io_1.AnyProtocolSerializer(this.io.writer, this.io.reader, any_1.ExtObjectTransfer));
|
|
42
45
|
this.onRequestNotFound((rpcName, args) => this.invoke(rpcName, args));
|
|
43
46
|
// call `listen` implicitly
|
|
44
47
|
// compatible behavior with the RPCProtocol
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiplexer.js","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":";;;AACA,6CAAwD;AAExD,6CAAsE;AACtE,6CAAgE;AAGhE,MAAa,eAAe;IAK1B,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,SAAiB;QAC1B,OAAO,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;;AAZH,0CAaC;AAZe,qBAAK,GAAG,CAAC,CAAC;AAqBb,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAOnD;;GAEG;AACH,MAAa,yBAA0B,SAAQ,2BAAc;IAIjD,MAAM,CAAC,UAAU,CAAC,SAAiB,EAAE,UAAkB;QAC/D,OAAO,GAAG,SAAS,GAAG,yBAAyB,CAAC,GAAG,GAAG,UAAU,EAAE,CAAC;IACrE,CAAC;IAES,MAAM,CAAC,uBAAuB,CAAC,KAAa;QACpD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;IAChG,CAAC;IAES,MAAM,CAAC,kBAAkB,CAAC,SAAiB;QACnD,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAOD,YAAsB,MAAkC,EAAY,UAA6C,EAAE;QACjH,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"multiplexer.js","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.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": "3.0.4-next-
|
|
3
|
+
"version": "3.0.4-next-1716970216.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -19,16 +19,16 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@furyjs/fury": "0.5.9-beta",
|
|
21
21
|
"@opensumi/events": "^1.0.0",
|
|
22
|
-
"@opensumi/ide-core-common": "3.0.4-next-
|
|
22
|
+
"@opensumi/ide-core-common": "3.0.4-next-1716970216.0",
|
|
23
23
|
"@opensumi/reconnecting-websocket": "^4.4.0",
|
|
24
24
|
"@opensumi/vscode-jsonrpc": "^8.0.0-next.2",
|
|
25
25
|
"path-to-regexp": "^6.2.1",
|
|
26
26
|
"ws": "^8.16.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@opensumi/ide-components": "3.0.4-next-
|
|
30
|
-
"@opensumi/ide-dev-tool": "3.0.4-next-
|
|
29
|
+
"@opensumi/ide-components": "3.0.4-next-1716970216.0",
|
|
30
|
+
"@opensumi/ide-dev-tool": "3.0.4-next-1716970216.0",
|
|
31
31
|
"@opensumi/mock-socket": "^9.3.1"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "ec290850530354148bb2e2ac6d9126c701a7e337"
|
|
34
34
|
}
|
|
@@ -5,11 +5,12 @@ import { ChannelMessage } from '../common/channel/types';
|
|
|
5
5
|
import { IRuntimeSocketConnection } from '../common/connection';
|
|
6
6
|
import { IConnectionShape } from '../common/connection/types';
|
|
7
7
|
import { ISerializer, furySerializer, wrapSerializer } from '../common/serializer';
|
|
8
|
-
import { ConnectionInfo, WSCloseInfo } from '../common/types';
|
|
8
|
+
import { ConnectionInfo, ILogger, WSCloseInfo } from '../common/types';
|
|
9
9
|
import { WSChannel } from '../common/ws-channel';
|
|
10
10
|
|
|
11
11
|
export interface WSChannelHandlerOptions {
|
|
12
|
-
|
|
12
|
+
logger?: ILogger;
|
|
13
|
+
channelSerializer?: ISerializer<ChannelMessage, any>;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
/**
|
|
@@ -27,7 +28,7 @@ export class WSChannelHandler {
|
|
|
27
28
|
|
|
28
29
|
private channelMap: Map<string, WSChannel> = new Map();
|
|
29
30
|
private channelCloseEventMap = new MultiMap<string, WSCloseInfo>();
|
|
30
|
-
private logger = console;
|
|
31
|
+
private logger: ILogger = console;
|
|
31
32
|
public clientId: string;
|
|
32
33
|
private heartbeatMessageTimer: NodeJS.Timeout | null;
|
|
33
34
|
private reporterService: IReporterService;
|
|
@@ -41,14 +42,13 @@ export class WSChannelHandler {
|
|
|
41
42
|
|
|
42
43
|
constructor(
|
|
43
44
|
public connection: IRuntimeSocketConnection<Uint8Array>,
|
|
44
|
-
logger: any,
|
|
45
45
|
clientId: string,
|
|
46
46
|
options: WSChannelHandlerOptions = {},
|
|
47
47
|
) {
|
|
48
|
-
this.logger = logger || this.logger;
|
|
48
|
+
this.logger = options.logger || this.logger;
|
|
49
49
|
this.clientId = clientId;
|
|
50
50
|
this.LOG_TAG = `[WSChannelHandler] [client-id:${this.clientId}]`;
|
|
51
|
-
const serializer = options.
|
|
51
|
+
const serializer = options.channelSerializer || furySerializer;
|
|
52
52
|
this.wrappedConnection = wrapSerializer(this.connection, serializer);
|
|
53
53
|
}
|
|
54
54
|
// 为解决建立连接之后,替换成可落盘的 logger
|
|
@@ -34,6 +34,12 @@ export interface IRPCProtocol {
|
|
|
34
34
|
get<T>(identifier: ProxyIdentifier<T>): T;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
function createExtMessageIO() {
|
|
38
|
+
const io = new MessageIO();
|
|
39
|
+
io.setAnySerializer(new AnyProtocolSerializer(io.writer, io.reader, ExtObjectTransfer));
|
|
40
|
+
return io;
|
|
41
|
+
}
|
|
42
|
+
|
|
37
43
|
/**
|
|
38
44
|
* A connection multiplexer that allows to register multiple local RPC services and to create proxies for them.
|
|
39
45
|
*/
|
|
@@ -60,12 +66,13 @@ export class SumiConnectionMultiplexer extends SumiConnection implements IRPCPro
|
|
|
60
66
|
io: MessageIO;
|
|
61
67
|
|
|
62
68
|
constructor(protected socket: BaseConnection<Uint8Array>, protected options: ISumiMultiplexerConnectionOptions = {}) {
|
|
63
|
-
super(socket,
|
|
69
|
+
super(socket, {
|
|
70
|
+
...options,
|
|
71
|
+
io: createExtMessageIO(),
|
|
72
|
+
});
|
|
64
73
|
this._locals = new Map();
|
|
65
74
|
this._proxies = new Map();
|
|
66
75
|
this._knownProtocols = options.knownProtocols || {};
|
|
67
|
-
this.io = new MessageIO();
|
|
68
|
-
this.io.setAnySerializer(new AnyProtocolSerializer(this.io.writer, this.io.reader, ExtObjectTransfer));
|
|
69
76
|
|
|
70
77
|
this.onRequestNotFound((rpcName: string, args: any[]) => this.invoke(rpcName, args));
|
|
71
78
|
|