@opensumi/ide-connection 2.27.3-rc-1714982362.0 → 2.27.3-rc-1715223126.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/common/protocols/common.d.ts +54 -0
- package/lib/common/protocols/common.d.ts.map +1 -1
- package/lib/common/protocols/common.js +17 -1
- package/lib/common/protocols/common.js.map +1 -1
- package/lib/common/protocols/extensions/ext-host-documents.d.ts +6 -0
- package/lib/common/protocols/extensions/ext-host-documents.d.ts.map +1 -0
- package/lib/common/protocols/extensions/ext-host-documents.js +68 -0
- package/lib/common/protocols/extensions/ext-host-documents.js.map +1 -0
- package/lib/common/rpc/connection.d.ts +4 -19
- package/lib/common/rpc/connection.d.ts.map +1 -1
- package/lib/common/rpc/connection.js +35 -68
- package/lib/common/rpc/connection.js.map +1 -1
- package/lib/common/rpc/message-io.d.ts.map +1 -1
- package/lib/common/rpc/message-io.js +15 -6
- package/lib/common/rpc/message-io.js.map +1 -1
- package/lib/common/rpc/multiplexer.d.ts +12 -2
- package/lib/common/rpc/multiplexer.d.ts.map +1 -1
- package/lib/common/rpc/multiplexer.js +19 -1
- package/lib/common/rpc/multiplexer.js.map +1 -1
- package/package.json +5 -5
- package/src/common/protocols/common.ts +19 -0
- package/src/common/protocols/extensions/ext-host-documents.ts +69 -0
- package/src/common/rpc/connection.ts +38 -78
- package/src/common/rpc/message-io.ts +18 -6
- package/src/common/rpc/multiplexer.ts +33 -2
|
@@ -21,4 +21,58 @@ export declare const UriComponentsProto: {
|
|
|
21
21
|
} | undefined;
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
|
+
export declare const RangeProto: {
|
|
25
|
+
type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
|
|
26
|
+
options: {
|
|
27
|
+
tag: string;
|
|
28
|
+
props: {
|
|
29
|
+
startLineNumber: {
|
|
30
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
31
|
+
};
|
|
32
|
+
startColumn: {
|
|
33
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
34
|
+
};
|
|
35
|
+
endLineNumber: {
|
|
36
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
37
|
+
};
|
|
38
|
+
endColumn: {
|
|
39
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
40
|
+
};
|
|
41
|
+
} | undefined;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export declare const SelectionProto: {
|
|
45
|
+
type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
|
|
46
|
+
options: {
|
|
47
|
+
tag: string;
|
|
48
|
+
props: {
|
|
49
|
+
selectionStartLineNumber: {
|
|
50
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
51
|
+
};
|
|
52
|
+
selectionStartColumn: {
|
|
53
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
54
|
+
};
|
|
55
|
+
positionLineNumber: {
|
|
56
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
57
|
+
};
|
|
58
|
+
positionColumn: {
|
|
59
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
60
|
+
};
|
|
61
|
+
} | undefined;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export declare const PositionProto: {
|
|
65
|
+
type: import("@furyjs/fury").InternalSerializerType.FURY_TYPE_TAG;
|
|
66
|
+
options: {
|
|
67
|
+
tag: string;
|
|
68
|
+
props: {
|
|
69
|
+
lineNumber: {
|
|
70
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
71
|
+
};
|
|
72
|
+
column: {
|
|
73
|
+
type: import("@furyjs/fury").InternalSerializerType.UINT32;
|
|
74
|
+
};
|
|
75
|
+
} | undefined;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
24
78
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAM7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;CAM7B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;CAKrB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAKzB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;CAGxB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UriComponentsProto = void 0;
|
|
3
|
+
exports.PositionProto = exports.SelectionProto = exports.RangeProto = exports.UriComponentsProto = void 0;
|
|
4
4
|
const fury_1 = require("@furyjs/fury");
|
|
5
5
|
exports.UriComponentsProto = fury_1.Type.object('uri-components', {
|
|
6
6
|
scheme: fury_1.Type.string(),
|
|
@@ -9,4 +9,20 @@ exports.UriComponentsProto = fury_1.Type.object('uri-components', {
|
|
|
9
9
|
query: fury_1.Type.string(),
|
|
10
10
|
fragment: fury_1.Type.string(),
|
|
11
11
|
});
|
|
12
|
+
exports.RangeProto = fury_1.Type.object('range', {
|
|
13
|
+
startLineNumber: fury_1.Type.uint32(),
|
|
14
|
+
startColumn: fury_1.Type.uint32(),
|
|
15
|
+
endLineNumber: fury_1.Type.uint32(),
|
|
16
|
+
endColumn: fury_1.Type.uint32(),
|
|
17
|
+
});
|
|
18
|
+
exports.SelectionProto = fury_1.Type.object('selection', {
|
|
19
|
+
selectionStartLineNumber: fury_1.Type.uint32(),
|
|
20
|
+
selectionStartColumn: fury_1.Type.uint32(),
|
|
21
|
+
positionLineNumber: fury_1.Type.uint32(),
|
|
22
|
+
positionColumn: fury_1.Type.uint32(),
|
|
23
|
+
});
|
|
24
|
+
exports.PositionProto = fury_1.Type.object('position', {
|
|
25
|
+
lineNumber: fury_1.Type.uint32(),
|
|
26
|
+
column: fury_1.Type.uint32(),
|
|
27
|
+
});
|
|
12
28
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEvB,QAAA,kBAAkB,GAAG,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC9D,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;IACxB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,WAAI,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,WAAI,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common/protocols/common.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEvB,QAAA,kBAAkB,GAAG,WAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAC9D,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;IACxB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,WAAI,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,WAAI,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,WAAI,CAAC,MAAM,CAAC,OAAO,EAAE;IAC7C,eAAe,EAAE,WAAI,CAAC,MAAM,EAAE;IAC9B,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,WAAI,CAAC,MAAM,EAAE;IAC5B,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,WAAI,CAAC,MAAM,CAAC,WAAW,EAAE;IACrD,wBAAwB,EAAE,WAAI,CAAC,MAAM,EAAE;IACvC,oBAAoB,EAAE,WAAI,CAAC,MAAM,EAAE;IACnC,kBAAkB,EAAE,WAAI,CAAC,MAAM,EAAE;IACjC,cAAc,EAAE,WAAI,CAAC,MAAM,EAAE;CAC9B,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,WAAI,CAAC,MAAM,CAAC,UAAU,EAAE;IACnD,UAAU,EAAE,WAAI,CAAC,MAAM,EAAE;IACzB,MAAM,EAAE,WAAI,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ext-host-documents.d.ts","sourceRoot":"","sources":["../../../../src/common/protocols/extensions/ext-host-documents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,aA4DvC,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExtensionDocumentProtocol = void 0;
|
|
4
|
+
const fury_1 = require("@furyjs/fury");
|
|
5
|
+
const common_1 = require("../common");
|
|
6
|
+
/**
|
|
7
|
+
* {@link IExtensionHostDocService}
|
|
8
|
+
*/
|
|
9
|
+
exports.ExtensionDocumentProtocol = {
|
|
10
|
+
name: 'ExtHostDocuments',
|
|
11
|
+
methods: [
|
|
12
|
+
{
|
|
13
|
+
method: '$fireModelChangedEvent',
|
|
14
|
+
request: [
|
|
15
|
+
{
|
|
16
|
+
name: 'event',
|
|
17
|
+
type: fury_1.Type.object('model-changed-event', {
|
|
18
|
+
changes: fury_1.Type.array(fury_1.Type.object('model-changed-event-changes', {
|
|
19
|
+
range: common_1.RangeProto,
|
|
20
|
+
rangeLength: fury_1.Type.uint32(),
|
|
21
|
+
rangeOffset: fury_1.Type.uint32(),
|
|
22
|
+
text: fury_1.Type.string(),
|
|
23
|
+
})),
|
|
24
|
+
uri: fury_1.Type.string(),
|
|
25
|
+
versionId: fury_1.Type.uint32(),
|
|
26
|
+
eol: fury_1.Type.string(),
|
|
27
|
+
dirty: fury_1.Type.bool(),
|
|
28
|
+
isRedoing: fury_1.Type.bool(),
|
|
29
|
+
isUndoing: fury_1.Type.bool(),
|
|
30
|
+
}),
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
method: '$fireModelOpenedEvent',
|
|
36
|
+
request: [
|
|
37
|
+
{
|
|
38
|
+
name: 'event',
|
|
39
|
+
type: fury_1.Type.object('model-open-event', {
|
|
40
|
+
uri: fury_1.Type.string(),
|
|
41
|
+
lines: fury_1.Type.array(fury_1.Type.string()),
|
|
42
|
+
eol: fury_1.Type.string(),
|
|
43
|
+
versionId: fury_1.Type.uint32(),
|
|
44
|
+
languageId: fury_1.Type.string(),
|
|
45
|
+
dirty: fury_1.Type.bool(),
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
method: '$provideTextDocumentContent',
|
|
52
|
+
request: [
|
|
53
|
+
{
|
|
54
|
+
name: 'path',
|
|
55
|
+
type: fury_1.Type.string(),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'encoding',
|
|
59
|
+
type: fury_1.Type.string(),
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
response: {
|
|
63
|
+
type: fury_1.Type.string(),
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=ext-host-documents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ext-host-documents.js","sourceRoot":"","sources":["../../../../src/common/protocols/extensions/ext-host-documents.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAGpC,sCAAuC;AAEvC;;GAEG;AACU,QAAA,yBAAyB,GAAkB;IACtD,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE;QACP;YACE,MAAM,EAAE,wBAAwB;YAChC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;wBACvC,OAAO,EAAE,WAAI,CAAC,KAAK,CACjB,WAAI,CAAC,MAAM,CAAC,6BAA6B,EAAE;4BACzC,KAAK,EAAE,mBAAU;4BACjB,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;4BAC1B,WAAW,EAAE,WAAI,CAAC,MAAM,EAAE;4BAC1B,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;yBACpB,CAAC,CACH;wBACD,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;wBACxB,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,KAAK,EAAE,WAAI,CAAC,IAAI,EAAE;wBAClB,SAAS,EAAE,WAAI,CAAC,IAAI,EAAE;wBACtB,SAAS,EAAE,WAAI,CAAC,IAAI,EAAE;qBACvB,CAAC;iBACH;aACF;SACF;QACD;YACE,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;wBACpC,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,KAAK,EAAE,WAAI,CAAC,KAAK,CAAC,WAAI,CAAC,MAAM,EAAE,CAAC;wBAChC,GAAG,EAAE,WAAI,CAAC,MAAM,EAAE;wBAClB,SAAS,EAAE,WAAI,CAAC,MAAM,EAAE;wBACxB,UAAU,EAAE,WAAI,CAAC,MAAM,EAAE;wBACzB,KAAK,EAAE,WAAI,CAAC,IAAI,EAAE;qBACnB,CAAC;iBACH;aACF;SACF;QACD;YACE,MAAM,EAAE,6BAA6B;YACrC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;iBACpB;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;iBACpB;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,WAAI,CAAC,MAAM,EAAE;aACpB;SACF;KACF;CACF,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { DisposableStore,
|
|
3
|
-
import {
|
|
2
|
+
import { DisposableStore, IDisposable } from '@opensumi/ide-utils';
|
|
3
|
+
import { SumiReadableStream } from '@opensumi/ide-utils/lib/stream';
|
|
4
4
|
import { Capturer } from '../capturer';
|
|
5
5
|
import { BaseConnection } from '../connection';
|
|
6
6
|
import { ILogger } from '../types';
|
|
7
7
|
import { MessageIO } from './message-io';
|
|
8
|
-
import {
|
|
8
|
+
import { TGenericNotificationHandler, TGenericRequestHandler, TNotificationNotFoundHandler, TRequestNotFoundHandler } from './types';
|
|
9
9
|
import type net from 'net';
|
|
10
10
|
import type { WebSocket } from 'ws';
|
|
11
11
|
export interface ISumiConnectionOptions {
|
|
@@ -29,7 +29,7 @@ export declare class SumiConnection implements IDisposable {
|
|
|
29
29
|
private readonly _timeoutHandles;
|
|
30
30
|
private readonly _cancellationTokenSources;
|
|
31
31
|
private readonly _knownCanceledRequests;
|
|
32
|
-
protected activeRequestPool: Map<number,
|
|
32
|
+
protected activeRequestPool: Map<number, SumiReadableStream<any>>;
|
|
33
33
|
io: MessageIO;
|
|
34
34
|
protected logger: ILogger;
|
|
35
35
|
protected capturer: Capturer;
|
|
@@ -48,19 +48,4 @@ export declare class SumiConnection implements IDisposable {
|
|
|
48
48
|
static forNetSocket(socket: net.Socket, options?: ISumiConnectionOptions): SumiConnection;
|
|
49
49
|
private traceRequestError;
|
|
50
50
|
}
|
|
51
|
-
declare class ActiveRequest implements IReadableStream<Uint8Array> {
|
|
52
|
-
protected requestId: number;
|
|
53
|
-
protected responseHeaders: IResponseHeaders;
|
|
54
|
-
protected dataQ: EventQueue<Uint8Array>;
|
|
55
|
-
protected endQ: EventQueue<void>;
|
|
56
|
-
on(event: 'data', listener: (chunk: Uint8Array) => void): this;
|
|
57
|
-
on(event: 'end', listener: () => void): this;
|
|
58
|
-
on(event: string, listener: (...args: any[]) => void): this;
|
|
59
|
-
onData(cb: (data: Uint8Array) => void): IDisposable;
|
|
60
|
-
onEnd(cb: () => void): IDisposable;
|
|
61
|
-
constructor(requestId: number, responseHeaders: IResponseHeaders);
|
|
62
|
-
emit(buffer: Uint8Array): void;
|
|
63
|
-
end(): void;
|
|
64
|
-
}
|
|
65
|
-
export {};
|
|
66
51
|
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/connection.ts"],"names":[],"mappings":";AACA,OAAO,EAGL,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/connection.ts"],"names":[],"mappings":";AACA,OAAO,EAGL,eAAe,EACf,WAAW,EAGZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAoC,MAAM,gCAAgC,CAAC;AAEtG,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAA8C,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,OAAO,EAAE,SAAS,EAAyB,MAAM,cAAc,CAAC;AAChE,OAAO,EAGL,2BAA2B,EAC3B,sBAAsB,EACtB,4BAA4B,EAE5B,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAIpC,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,cAAe,YAAW,WAAW;IAsBpC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,OAAO,EAAE,sBAAsB;IArBnG,SAAS,CAAC,UAAU,kBAAyB;IAE7C,OAAO,CAAC,gBAAgB,CAAkD;IAC1E,OAAO,CAAC,mBAAmB,CAAsC;IACjE,OAAO,CAAC,qBAAqB,CAAkD;IAC/E,OAAO,CAAC,wBAAwB,CAA2C;IAE3E,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAuC;IAEzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8C;IAC9E,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA8C;IACxF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAE5D,SAAS,CAAC,iBAAiB,uCAA8C;IAElE,EAAE,YAAmB;IAC5B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAE1B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAEP,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAY,OAAO,GAAE,sBAA2B;IAWxG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAO/C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAyD1C,aAAa,CAAC,SAAS,EAAE,MAAM;IAI/B,OAAO,CAAC,cAAc;IAWtB,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,WAAW;IASnF,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,WAAW;IAShE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,WAAW;IASjF,sBAAsB,CAAC,OAAO,EAAE,4BAA4B,GAAG,WAAW;IAS1E,MAAM;IA4LN,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,sBAA2B;IAI7E,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,GAAE,sBAA2B;IAI5E,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -150,40 +150,42 @@ class SumiConnection {
|
|
|
150
150
|
callback(headers, error, result);
|
|
151
151
|
};
|
|
152
152
|
const headers = this.io.responseHeadersSerializer.read();
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
153
|
+
let err;
|
|
154
|
+
let result;
|
|
155
|
+
if (status === message_io_1.Status.Err) {
|
|
156
|
+
// todo: move to processor
|
|
157
|
+
const content = reader.stringOfVarUInt32();
|
|
158
|
+
err = (0, ide_utils_1.parseError)(content);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
result = this.io.getProcessor(method).readResponse();
|
|
162
|
+
}
|
|
163
|
+
if (headers && headers.chunked) {
|
|
164
|
+
let activeReq;
|
|
165
|
+
if (this.activeRequestPool.has(requestId)) {
|
|
166
|
+
activeReq = this.activeRequestPool.get(requestId);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
// new stream request
|
|
170
|
+
activeReq = new stream_1.SumiReadableStream();
|
|
171
|
+
this.activeRequestPool.set(requestId, activeReq);
|
|
172
|
+
// resolve `activeReq` to caller
|
|
173
|
+
runCallback(headers, undefined, activeReq);
|
|
174
|
+
}
|
|
175
|
+
if (result === null) {
|
|
176
|
+
// when result is null, it means the stream is ended.
|
|
177
|
+
activeReq.end();
|
|
178
|
+
this.activeRequestPool.delete(requestId);
|
|
159
179
|
break;
|
|
160
180
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
if (this.activeRequestPool.has(requestId)) {
|
|
165
|
-
activeReq = this.activeRequestPool.get(requestId);
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
activeReq = new ActiveRequest(requestId, headers);
|
|
169
|
-
this.activeRequestPool.set(requestId, activeReq);
|
|
170
|
-
runCallback(headers, undefined, activeReq);
|
|
171
|
-
}
|
|
172
|
-
const result = this.io.getProcessor(method).readResponse();
|
|
173
|
-
// when result is null, it means the stream is ended.
|
|
174
|
-
if (result) {
|
|
175
|
-
activeReq.emit(result);
|
|
176
|
-
break;
|
|
177
|
-
}
|
|
178
|
-
activeReq.end();
|
|
179
|
-
this.activeRequestPool.delete(requestId);
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
const result = this.io.getProcessor(method).readResponse();
|
|
183
|
-
runCallback(headers, undefined, result);
|
|
184
|
-
}
|
|
181
|
+
if (err) {
|
|
182
|
+
activeReq.emitError(err);
|
|
183
|
+
break;
|
|
185
184
|
}
|
|
185
|
+
activeReq.emitData(result);
|
|
186
|
+
break;
|
|
186
187
|
}
|
|
188
|
+
runCallback(headers, err, result);
|
|
187
189
|
break;
|
|
188
190
|
}
|
|
189
191
|
case message_io_1.OperationType.Notification:
|
|
@@ -232,6 +234,9 @@ class SumiConnection {
|
|
|
232
234
|
onEnd: () => {
|
|
233
235
|
this.socket.send(this.io.Response(requestId, method, responseHeaders, null));
|
|
234
236
|
},
|
|
237
|
+
onError: (err) => {
|
|
238
|
+
this.socket.send(this.io.Error(requestId, method, nullHeaders, err));
|
|
239
|
+
},
|
|
235
240
|
});
|
|
236
241
|
}
|
|
237
242
|
else {
|
|
@@ -291,45 +296,7 @@ class SumiConnection {
|
|
|
291
296
|
}
|
|
292
297
|
traceRequestError(requestId, method, args, error) {
|
|
293
298
|
this.capturer.captureSendRequestFail(requestId, method, error);
|
|
294
|
-
this.logger.error(`Error handling request ${method} with args `, args, error);
|
|
295
299
|
}
|
|
296
300
|
}
|
|
297
301
|
exports.SumiConnection = SumiConnection;
|
|
298
|
-
class ActiveRequest {
|
|
299
|
-
on(event, listener) {
|
|
300
|
-
if (typeof event === 'string') {
|
|
301
|
-
switch (event) {
|
|
302
|
-
case 'data':
|
|
303
|
-
this.onData(listener);
|
|
304
|
-
break;
|
|
305
|
-
case 'end':
|
|
306
|
-
this.onEnd(listener);
|
|
307
|
-
break;
|
|
308
|
-
default:
|
|
309
|
-
break;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
return this;
|
|
313
|
-
}
|
|
314
|
-
onData(cb) {
|
|
315
|
-
return this.dataQ.on(cb);
|
|
316
|
-
}
|
|
317
|
-
onEnd(cb) {
|
|
318
|
-
return this.endQ.on(cb);
|
|
319
|
-
}
|
|
320
|
-
constructor(requestId, responseHeaders) {
|
|
321
|
-
this.requestId = requestId;
|
|
322
|
-
this.responseHeaders = responseHeaders;
|
|
323
|
-
this.dataQ = new ide_utils_1.EventQueue();
|
|
324
|
-
this.endQ = new ide_utils_1.EventQueue();
|
|
325
|
-
}
|
|
326
|
-
emit(buffer) {
|
|
327
|
-
this.dataQ.push(buffer);
|
|
328
|
-
}
|
|
329
|
-
end() {
|
|
330
|
-
this.dataQ.dispose();
|
|
331
|
-
this.endQ.push(undefined);
|
|
332
|
-
this.endQ.dispose();
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
302
|
//# 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 +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;
|
|
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;AAmEX,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"}
|
|
@@ -27,6 +27,12 @@ exports.HeadersProto = {
|
|
|
27
27
|
chunked: fury_1.Type.bool(),
|
|
28
28
|
}),
|
|
29
29
|
};
|
|
30
|
+
const PacketPrefix = {
|
|
31
|
+
Request: (OperationType.Request << 8) | ProtoVersionV1,
|
|
32
|
+
Notification: (OperationType.Notification << 8) | ProtoVersionV1,
|
|
33
|
+
Response: (OperationType.Response << 8) | ProtoVersionV1,
|
|
34
|
+
Cancel: (OperationType.Cancel << 8) | ProtoVersionV1,
|
|
35
|
+
};
|
|
30
36
|
class SumiProtocolSerializer {
|
|
31
37
|
constructor(methodProtocol, fury) {
|
|
32
38
|
this.fury = fury;
|
|
@@ -35,7 +41,10 @@ class SumiProtocolSerializer {
|
|
|
35
41
|
argsTuple.push(element.type);
|
|
36
42
|
}
|
|
37
43
|
const requestProto = fury_1.Type.tuple(argsTuple);
|
|
38
|
-
|
|
44
|
+
let resultProto = fury_1.Type.any();
|
|
45
|
+
if (methodProtocol.response && methodProtocol.response.type) {
|
|
46
|
+
resultProto = methodProtocol.response.type;
|
|
47
|
+
}
|
|
39
48
|
this.request = this.fury.registerSerializer(requestProto);
|
|
40
49
|
this.result = this.fury.registerSerializer(resultProto);
|
|
41
50
|
}
|
|
@@ -108,7 +117,7 @@ class MessageIO {
|
|
|
108
117
|
Notification(requestId, method, headers, args) {
|
|
109
118
|
const { writer } = this;
|
|
110
119
|
writer.reset();
|
|
111
|
-
writer.uint16(
|
|
120
|
+
writer.uint16(PacketPrefix.Notification);
|
|
112
121
|
writer.uint32(requestId);
|
|
113
122
|
writer.stringOfVarUInt32(method);
|
|
114
123
|
this.requestHeadersSerializer.write(headers);
|
|
@@ -118,7 +127,7 @@ class MessageIO {
|
|
|
118
127
|
Request(requestId, method, headers, args) {
|
|
119
128
|
const { writer } = this;
|
|
120
129
|
writer.reset();
|
|
121
|
-
writer.uint16(
|
|
130
|
+
writer.uint16(PacketPrefix.Request);
|
|
122
131
|
writer.uint32(requestId);
|
|
123
132
|
writer.stringOfVarUInt32(method);
|
|
124
133
|
this.requestHeadersSerializer.write(headers);
|
|
@@ -128,14 +137,14 @@ class MessageIO {
|
|
|
128
137
|
Cancel(requestId) {
|
|
129
138
|
const { writer } = this;
|
|
130
139
|
writer.reset();
|
|
131
|
-
writer.uint16(
|
|
140
|
+
writer.uint16(PacketPrefix.Cancel);
|
|
132
141
|
writer.uint32(requestId);
|
|
133
142
|
return writer.dump();
|
|
134
143
|
}
|
|
135
144
|
Response(requestId, method, headers, result) {
|
|
136
145
|
const { writer } = this;
|
|
137
146
|
writer.reset();
|
|
138
|
-
writer.uint16(
|
|
147
|
+
writer.uint16(PacketPrefix.Response);
|
|
139
148
|
writer.uint32(requestId);
|
|
140
149
|
writer.stringOfVarUInt32(method);
|
|
141
150
|
writer.uint16(Status.OK);
|
|
@@ -146,7 +155,7 @@ class MessageIO {
|
|
|
146
155
|
Error(requestId, method, headers, error) {
|
|
147
156
|
const { writer } = this;
|
|
148
157
|
writer.reset();
|
|
149
|
-
writer.uint16(
|
|
158
|
+
writer.uint16(PacketPrefix.Response);
|
|
150
159
|
writer.uint32(requestId);
|
|
151
160
|
writer.stringOfVarUInt32(method);
|
|
152
161
|
writer.uint16(Status.Err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-io.js","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":";;;AAAA,uCAAuE;AACvE,mDAA+D;AAG/D,+DAAqE;AAErE,6CAAoD;AACpD,mDAAqD;AAYrD,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,uDAAO,CAAA;IACP,iEAAY,CAAA;IACZ,yDAAQ,CAAA;IACR,qDAAM,CAAA;AACR,CAAC,EALW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAKxB;AAED,IAAY,MAGX;AAHD,WAAY,MAAM;IAChB,+BAAE,CAAA;IACF,iCAAG,CAAA;AACL,CAAC,EAHW,MAAM,GAAN,cAAM,KAAN,cAAM,QAGjB;AAEY,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,WAAI,CAAC,MAAM,CAAC,aAAa,EAAE;QAClC,UAAU,EAAE,WAAI,CAAC,IAAI,EAAE;KACxB,CAAC;IACF,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC,cAAc,EAAE;QACpC,OAAO,EAAE,WAAI,CAAC,IAAI,EAAE;KACrB,CAAC;CACM,CAAC;AAEX,MAAM,sBAAsB;IAI1B,YAAY,cAAmC,EAAS,IAAU;QAAV,SAAI,GAAJ,IAAI,CAAM;QAChE,MAAM,SAAS,GAAG,EAAuB,CAAC;QAE1C,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE;YAC5C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC9B;QAED,MAAM,YAAY,GAAG,WAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"message-io.js","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseConnection } from '../connection';
|
|
2
2
|
import { ISumiConnectionOptions, SumiConnection } from './connection';
|
|
3
|
+
import { TSumiProtocol } from './types';
|
|
3
4
|
export declare class ProxyIdentifier<T = any> {
|
|
4
5
|
static count: number;
|
|
5
6
|
readonly serviceId: string;
|
|
@@ -7,6 +8,12 @@ export declare class ProxyIdentifier<T = any> {
|
|
|
7
8
|
constructor(serviceId: string);
|
|
8
9
|
static for(serviceId: string): ProxyIdentifier<any>;
|
|
9
10
|
}
|
|
11
|
+
export interface ISumiMultiplexerConnectionOptions extends ISumiConnectionOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Known protocols that will be loaded automatically when a proxy is created.
|
|
14
|
+
*/
|
|
15
|
+
knownProtocols?: Record<string, TSumiProtocol>;
|
|
16
|
+
}
|
|
10
17
|
export declare const IRPCProtocol: unique symbol;
|
|
11
18
|
export interface IRPCProtocol {
|
|
12
19
|
getProxy<T>(proxyId: ProxyIdentifier<T>): T;
|
|
@@ -18,7 +25,7 @@ export interface IRPCProtocol {
|
|
|
18
25
|
*/
|
|
19
26
|
export declare class SumiConnectionMultiplexer extends SumiConnection implements IRPCProtocol {
|
|
20
27
|
protected socket: BaseConnection<Uint8Array>;
|
|
21
|
-
protected options:
|
|
28
|
+
protected options: ISumiMultiplexerConnectionOptions;
|
|
22
29
|
protected static SEP: string;
|
|
23
30
|
protected static SEP_LENGTH: number;
|
|
24
31
|
protected static getRPCName(serviceId: string, methodName: string): string;
|
|
@@ -26,11 +33,14 @@ export declare class SumiConnectionMultiplexer extends SumiConnection implements
|
|
|
26
33
|
protected static normalizeServiceId(serviceId: string): string;
|
|
27
34
|
protected readonly _locals: Map<string, any>;
|
|
28
35
|
protected readonly _proxies: Map<string, any>;
|
|
29
|
-
|
|
36
|
+
protected _knownProtocols: Record<string, TSumiProtocol>;
|
|
37
|
+
constructor(socket: BaseConnection<Uint8Array>, options?: ISumiMultiplexerConnectionOptions);
|
|
30
38
|
set<T>(identifier: ProxyIdentifier<T>, instance: any): any;
|
|
31
39
|
get<T>(identifier: ProxyIdentifier<T>): any;
|
|
40
|
+
protected loadProtocol(rpcId: string, protocol: TSumiProtocol): void;
|
|
32
41
|
getProxy<T>(proxyId: ProxyIdentifier<T>): any;
|
|
33
42
|
protected _createProxy(rpcId: string): any;
|
|
34
43
|
protected _doInvokeHandler(rpcName: string, args: any[]): Promise<any>;
|
|
44
|
+
getSocket(): BaseConnection<Uint8Array>;
|
|
35
45
|
}
|
|
36
46
|
//# sourceMappingURL=multiplexer.d.ts.map
|
|
@@ -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;AAE/C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"multiplexer.d.ts","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtE,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;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,cAAe,YAAW,YAAY;IAqBvE,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC;IAAE,SAAS,CAAC,OAAO,EAAE,iCAAiC;IApB9G,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;gBAEnC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAAY,OAAO,GAAE,iCAAsC;IAa5G,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;cAmBpB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAe5E,SAAS;CAGV"}
|
|
@@ -34,21 +34,36 @@ class SumiConnectionMultiplexer extends connection_1.SumiConnection {
|
|
|
34
34
|
this.options = options;
|
|
35
35
|
this._locals = new Map();
|
|
36
36
|
this._proxies = new Map();
|
|
37
|
+
this._knownProtocols = options.knownProtocols || {};
|
|
37
38
|
this.onRequestNotFound((rpcName, args) => this._doInvokeHandler(rpcName, args));
|
|
38
39
|
// call `listen` implicitly
|
|
39
40
|
// compatible behavior with the RPCProtocol
|
|
40
41
|
this.listen();
|
|
41
42
|
}
|
|
42
43
|
set(identifier, instance) {
|
|
43
|
-
|
|
44
|
+
const id = SumiConnectionMultiplexer.normalizeServiceId(identifier.serviceId);
|
|
45
|
+
this._locals.set(id, instance);
|
|
46
|
+
const protocol = this._knownProtocols[identifier.serviceId];
|
|
47
|
+
if (protocol) {
|
|
48
|
+
this.loadProtocol(id, protocol);
|
|
49
|
+
}
|
|
44
50
|
return instance;
|
|
45
51
|
}
|
|
46
52
|
get(identifier) {
|
|
47
53
|
return this._locals.get(SumiConnectionMultiplexer.normalizeServiceId(identifier.serviceId));
|
|
48
54
|
}
|
|
55
|
+
loadProtocol(rpcId, protocol) {
|
|
56
|
+
this.io.loadProtocol(protocol, {
|
|
57
|
+
nameConverter: (str) => SumiConnectionMultiplexer.getRPCName(rpcId, str),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
49
60
|
getProxy(proxyId) {
|
|
50
61
|
const serviceId = SumiConnectionMultiplexer.normalizeServiceId(proxyId.serviceId);
|
|
51
62
|
if (!this._proxies.has(serviceId)) {
|
|
63
|
+
const protocol = this._knownProtocols[proxyId.serviceId];
|
|
64
|
+
if (protocol) {
|
|
65
|
+
this.loadProtocol(serviceId, protocol);
|
|
66
|
+
}
|
|
52
67
|
this._proxies.set(serviceId, this._createProxy(serviceId));
|
|
53
68
|
}
|
|
54
69
|
return this._proxies.get(serviceId);
|
|
@@ -81,6 +96,9 @@ class SumiConnectionMultiplexer extends connection_1.SumiConnection {
|
|
|
81
96
|
}
|
|
82
97
|
return method.apply(actor, args);
|
|
83
98
|
}
|
|
99
|
+
getSocket() {
|
|
100
|
+
return this.socket;
|
|
101
|
+
}
|
|
84
102
|
}
|
|
85
103
|
exports.SumiConnectionMultiplexer = SumiConnectionMultiplexer;
|
|
86
104
|
SumiConnectionMultiplexer.SEP = '/';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiplexer.js","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":";;;AAEA,6CAAsE;
|
|
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": "2.27.3-rc-
|
|
3
|
+
"version": "2.27.3-rc-1715223126.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": "2.27.3-rc-
|
|
22
|
+
"@opensumi/ide-core-common": "2.27.3-rc-1715223126.0",
|
|
23
23
|
"@opensumi/vscode-jsonrpc": "^8.0.0-next.2",
|
|
24
24
|
"path-to-regexp": "^6.2.1",
|
|
25
25
|
"reconnecting-websocket": "^4.4.0",
|
|
26
26
|
"ws": "^8.16.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@opensumi/ide-components": "2.27.3-rc-
|
|
30
|
-
"@opensumi/ide-dev-tool": "2.27.3-rc-
|
|
29
|
+
"@opensumi/ide-components": "2.27.3-rc-1715223126.0",
|
|
30
|
+
"@opensumi/ide-dev-tool": "2.27.3-rc-1715223126.0",
|
|
31
31
|
"@opensumi/mock-socket": "^9.3.1"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "fc36a4e31c8afd659cca44cfbb2565a8e9baf89e"
|
|
34
34
|
}
|
|
@@ -7,3 +7,22 @@ export const UriComponentsProto = Type.object('uri-components', {
|
|
|
7
7
|
query: Type.string(),
|
|
8
8
|
fragment: Type.string(),
|
|
9
9
|
});
|
|
10
|
+
|
|
11
|
+
export const RangeProto = Type.object('range', {
|
|
12
|
+
startLineNumber: Type.uint32(),
|
|
13
|
+
startColumn: Type.uint32(),
|
|
14
|
+
endLineNumber: Type.uint32(),
|
|
15
|
+
endColumn: Type.uint32(),
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export const SelectionProto = Type.object('selection', {
|
|
19
|
+
selectionStartLineNumber: Type.uint32(),
|
|
20
|
+
selectionStartColumn: Type.uint32(),
|
|
21
|
+
positionLineNumber: Type.uint32(),
|
|
22
|
+
positionColumn: Type.uint32(),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export const PositionProto = Type.object('position', {
|
|
26
|
+
lineNumber: Type.uint32(),
|
|
27
|
+
column: Type.uint32(),
|
|
28
|
+
});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Type } from '@furyjs/fury';
|
|
2
|
+
|
|
3
|
+
import { TSumiProtocol } from '../../rpc';
|
|
4
|
+
import { RangeProto } from '../common';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* {@link IExtensionHostDocService}
|
|
8
|
+
*/
|
|
9
|
+
export const ExtensionDocumentProtocol: TSumiProtocol = {
|
|
10
|
+
name: 'ExtHostDocuments',
|
|
11
|
+
methods: [
|
|
12
|
+
{
|
|
13
|
+
method: '$fireModelChangedEvent',
|
|
14
|
+
request: [
|
|
15
|
+
{
|
|
16
|
+
name: 'event',
|
|
17
|
+
type: Type.object('model-changed-event', {
|
|
18
|
+
changes: Type.array(
|
|
19
|
+
Type.object('model-changed-event-changes', {
|
|
20
|
+
range: RangeProto,
|
|
21
|
+
rangeLength: Type.uint32(),
|
|
22
|
+
rangeOffset: Type.uint32(),
|
|
23
|
+
text: Type.string(),
|
|
24
|
+
}),
|
|
25
|
+
),
|
|
26
|
+
uri: Type.string(),
|
|
27
|
+
versionId: Type.uint32(),
|
|
28
|
+
eol: Type.string(),
|
|
29
|
+
dirty: Type.bool(),
|
|
30
|
+
isRedoing: Type.bool(),
|
|
31
|
+
isUndoing: Type.bool(),
|
|
32
|
+
}),
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
method: '$fireModelOpenedEvent',
|
|
38
|
+
request: [
|
|
39
|
+
{
|
|
40
|
+
name: 'event',
|
|
41
|
+
type: Type.object('model-open-event', {
|
|
42
|
+
uri: Type.string(),
|
|
43
|
+
lines: Type.array(Type.string()),
|
|
44
|
+
eol: Type.string(),
|
|
45
|
+
versionId: Type.uint32(),
|
|
46
|
+
languageId: Type.string(),
|
|
47
|
+
dirty: Type.bool(),
|
|
48
|
+
}),
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
method: '$provideTextDocumentContent',
|
|
54
|
+
request: [
|
|
55
|
+
{
|
|
56
|
+
name: 'path',
|
|
57
|
+
type: Type.string(),
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'encoding',
|
|
61
|
+
type: Type.string(),
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
response: {
|
|
65
|
+
type: Type.string(),
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
};
|
|
@@ -3,12 +3,11 @@ import {
|
|
|
3
3
|
CancellationToken,
|
|
4
4
|
CancellationTokenSource,
|
|
5
5
|
DisposableStore,
|
|
6
|
-
EventQueue,
|
|
7
6
|
IDisposable,
|
|
8
7
|
canceled,
|
|
9
8
|
parseError,
|
|
10
9
|
} from '@opensumi/ide-utils';
|
|
11
|
-
import {
|
|
10
|
+
import { SumiReadableStream, isReadableStream, listenReadable } from '@opensumi/ide-utils/lib/stream';
|
|
12
11
|
|
|
13
12
|
import { Capturer } from '../capturer';
|
|
14
13
|
import { BaseConnection, NetSocketConnection, WSWebSocketConnection } from '../connection';
|
|
@@ -56,7 +55,7 @@ export class SumiConnection implements IDisposable {
|
|
|
56
55
|
private readonly _cancellationTokenSources = new Map<number, CancellationTokenSource>();
|
|
57
56
|
private readonly _knownCanceledRequests = new Set<number>();
|
|
58
57
|
|
|
59
|
-
protected activeRequestPool = new Map<number,
|
|
58
|
+
protected activeRequestPool = new Map<number, SumiReadableStream<any>>();
|
|
60
59
|
|
|
61
60
|
public io = new MessageIO();
|
|
62
61
|
protected logger: ILogger;
|
|
@@ -227,42 +226,45 @@ export class SumiConnection implements IDisposable {
|
|
|
227
226
|
};
|
|
228
227
|
|
|
229
228
|
const headers = this.io.responseHeadersSerializer.read();
|
|
229
|
+
let err: any;
|
|
230
|
+
let result: any;
|
|
231
|
+
if (status === Status.Err) {
|
|
232
|
+
// todo: move to processor
|
|
233
|
+
const content = reader.stringOfVarUInt32();
|
|
234
|
+
err = parseError(content);
|
|
235
|
+
} else {
|
|
236
|
+
result = this.io.getProcessor(method).readResponse();
|
|
237
|
+
}
|
|
230
238
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
239
|
+
if (headers && headers.chunked) {
|
|
240
|
+
let activeReq: SumiReadableStream<any>;
|
|
241
|
+
if (this.activeRequestPool.has(requestId)) {
|
|
242
|
+
activeReq = this.activeRequestPool.get(requestId)!;
|
|
243
|
+
} else {
|
|
244
|
+
// new stream request
|
|
245
|
+
activeReq = new SumiReadableStream();
|
|
246
|
+
this.activeRequestPool.set(requestId, activeReq);
|
|
247
|
+
// resolve `activeReq` to caller
|
|
248
|
+
runCallback(headers, undefined, activeReq);
|
|
238
249
|
}
|
|
239
|
-
default: {
|
|
240
|
-
if (headers && headers.chunked) {
|
|
241
|
-
let activeReq: ActiveRequest;
|
|
242
|
-
if (this.activeRequestPool.has(requestId)) {
|
|
243
|
-
activeReq = this.activeRequestPool.get(requestId)!;
|
|
244
|
-
} else {
|
|
245
|
-
activeReq = new ActiveRequest(requestId, headers);
|
|
246
|
-
this.activeRequestPool.set(requestId, activeReq);
|
|
247
|
-
runCallback(headers, undefined, activeReq);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
const result = this.io.getProcessor(method).readResponse() as Uint8Array;
|
|
251
250
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
251
|
+
if (result === null) {
|
|
252
|
+
// when result is null, it means the stream is ended.
|
|
253
|
+
activeReq.end();
|
|
254
|
+
this.activeRequestPool.delete(requestId);
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
257
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
const result = this.io.getProcessor(method).readResponse();
|
|
262
|
-
runCallback(headers, undefined, result);
|
|
263
|
-
}
|
|
258
|
+
if (err) {
|
|
259
|
+
activeReq.emitError(err);
|
|
260
|
+
break;
|
|
264
261
|
}
|
|
262
|
+
|
|
263
|
+
activeReq.emitData(result);
|
|
264
|
+
break;
|
|
265
265
|
}
|
|
266
|
+
|
|
267
|
+
runCallback(headers, err, result);
|
|
266
268
|
break;
|
|
267
269
|
}
|
|
268
270
|
case OperationType.Notification:
|
|
@@ -318,6 +320,9 @@ export class SumiConnection implements IDisposable {
|
|
|
318
320
|
onEnd: () => {
|
|
319
321
|
this.socket.send(this.io.Response(requestId, method, responseHeaders, null));
|
|
320
322
|
},
|
|
323
|
+
onError: (err) => {
|
|
324
|
+
this.socket.send(this.io.Error(requestId, method, nullHeaders, err));
|
|
325
|
+
},
|
|
321
326
|
});
|
|
322
327
|
} else {
|
|
323
328
|
this.socket.send(this.io.Response(requestId, method, nullHeaders, result));
|
|
@@ -385,50 +390,5 @@ export class SumiConnection implements IDisposable {
|
|
|
385
390
|
|
|
386
391
|
private traceRequestError(requestId: number, method: string, args: any[], error: any) {
|
|
387
392
|
this.capturer.captureSendRequestFail(requestId, method, error);
|
|
388
|
-
this.logger.error(`Error handling request ${method} with args `, args, error);
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
class ActiveRequest implements IReadableStream<Uint8Array> {
|
|
393
|
-
protected dataQ = new EventQueue<Uint8Array>();
|
|
394
|
-
protected endQ = new EventQueue<void>();
|
|
395
|
-
|
|
396
|
-
on(event: 'data', listener: (chunk: Uint8Array) => void): this;
|
|
397
|
-
on(event: 'end', listener: () => void): this;
|
|
398
|
-
on(event: string, listener: (...args: any[]) => void): this;
|
|
399
|
-
on(event: unknown, listener: unknown): this {
|
|
400
|
-
if (typeof event === 'string') {
|
|
401
|
-
switch (event) {
|
|
402
|
-
case 'data':
|
|
403
|
-
this.onData(listener as (chunk: Uint8Array) => void);
|
|
404
|
-
break;
|
|
405
|
-
case 'end':
|
|
406
|
-
this.onEnd(listener as () => void);
|
|
407
|
-
break;
|
|
408
|
-
default:
|
|
409
|
-
break;
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
return this;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
onData(cb: (data: Uint8Array) => void): IDisposable {
|
|
416
|
-
return this.dataQ.on(cb);
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
onEnd(cb: () => void): IDisposable {
|
|
420
|
-
return this.endQ.on(cb);
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
constructor(protected requestId: number, protected responseHeaders: IResponseHeaders) {}
|
|
424
|
-
|
|
425
|
-
emit(buffer: Uint8Array) {
|
|
426
|
-
this.dataQ.push(buffer);
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
end() {
|
|
430
|
-
this.dataQ.dispose();
|
|
431
|
-
this.endQ.push(undefined);
|
|
432
|
-
this.endQ.dispose();
|
|
433
393
|
}
|
|
434
394
|
}
|
|
@@ -40,6 +40,13 @@ export const HeadersProto = {
|
|
|
40
40
|
}),
|
|
41
41
|
} as const;
|
|
42
42
|
|
|
43
|
+
const PacketPrefix = {
|
|
44
|
+
Request: (OperationType.Request << 8) | ProtoVersionV1,
|
|
45
|
+
Notification: (OperationType.Notification << 8) | ProtoVersionV1,
|
|
46
|
+
Response: (OperationType.Response << 8) | ProtoVersionV1,
|
|
47
|
+
Cancel: (OperationType.Cancel << 8) | ProtoVersionV1,
|
|
48
|
+
} as const;
|
|
49
|
+
|
|
43
50
|
class SumiProtocolSerializer implements IProtocolSerializer {
|
|
44
51
|
request: TSerializer;
|
|
45
52
|
result: TSerializer;
|
|
@@ -52,7 +59,12 @@ class SumiProtocolSerializer implements IProtocolSerializer {
|
|
|
52
59
|
}
|
|
53
60
|
|
|
54
61
|
const requestProto = Type.tuple(argsTuple);
|
|
55
|
-
|
|
62
|
+
|
|
63
|
+
let resultProto: TypeDescription = Type.any();
|
|
64
|
+
|
|
65
|
+
if (methodProtocol.response && methodProtocol.response.type) {
|
|
66
|
+
resultProto = methodProtocol.response.type;
|
|
67
|
+
}
|
|
56
68
|
|
|
57
69
|
this.request = this.fury.registerSerializer(requestProto);
|
|
58
70
|
this.result = this.fury.registerSerializer(resultProto);
|
|
@@ -159,7 +171,7 @@ export class MessageIO {
|
|
|
159
171
|
const { writer } = this;
|
|
160
172
|
writer.reset();
|
|
161
173
|
|
|
162
|
-
writer.uint16(
|
|
174
|
+
writer.uint16(PacketPrefix.Notification);
|
|
163
175
|
writer.uint32(requestId);
|
|
164
176
|
|
|
165
177
|
writer.stringOfVarUInt32(method);
|
|
@@ -173,7 +185,7 @@ export class MessageIO {
|
|
|
173
185
|
const { writer } = this;
|
|
174
186
|
writer.reset();
|
|
175
187
|
|
|
176
|
-
writer.uint16(
|
|
188
|
+
writer.uint16(PacketPrefix.Request);
|
|
177
189
|
writer.uint32(requestId);
|
|
178
190
|
|
|
179
191
|
writer.stringOfVarUInt32(method);
|
|
@@ -187,7 +199,7 @@ export class MessageIO {
|
|
|
187
199
|
const { writer } = this;
|
|
188
200
|
writer.reset();
|
|
189
201
|
|
|
190
|
-
writer.uint16(
|
|
202
|
+
writer.uint16(PacketPrefix.Cancel);
|
|
191
203
|
writer.uint32(requestId);
|
|
192
204
|
|
|
193
205
|
return writer.dump();
|
|
@@ -197,7 +209,7 @@ export class MessageIO {
|
|
|
197
209
|
const { writer } = this;
|
|
198
210
|
writer.reset();
|
|
199
211
|
|
|
200
|
-
writer.uint16(
|
|
212
|
+
writer.uint16(PacketPrefix.Response);
|
|
201
213
|
writer.uint32(requestId);
|
|
202
214
|
writer.stringOfVarUInt32(method);
|
|
203
215
|
writer.uint16(Status.OK);
|
|
@@ -211,7 +223,7 @@ export class MessageIO {
|
|
|
211
223
|
const { writer } = this;
|
|
212
224
|
writer.reset();
|
|
213
225
|
|
|
214
|
-
writer.uint16(
|
|
226
|
+
writer.uint16(PacketPrefix.Response);
|
|
215
227
|
writer.uint32(requestId);
|
|
216
228
|
writer.stringOfVarUInt32(method);
|
|
217
229
|
writer.uint16(Status.Err);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseConnection } from '../connection';
|
|
2
2
|
|
|
3
3
|
import { ISumiConnectionOptions, SumiConnection } from './connection';
|
|
4
|
+
import { TSumiProtocol } from './types';
|
|
4
5
|
|
|
5
6
|
export class ProxyIdentifier<T = any> {
|
|
6
7
|
public static count = 0;
|
|
@@ -17,6 +18,13 @@ export class ProxyIdentifier<T = any> {
|
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
|
|
21
|
+
export interface ISumiMultiplexerConnectionOptions extends ISumiConnectionOptions {
|
|
22
|
+
/**
|
|
23
|
+
* Known protocols that will be loaded automatically when a proxy is created.
|
|
24
|
+
*/
|
|
25
|
+
knownProtocols?: Record<string, TSumiProtocol>;
|
|
26
|
+
}
|
|
27
|
+
|
|
20
28
|
export const IRPCProtocol = Symbol('IRPCProtocol');
|
|
21
29
|
export interface IRPCProtocol {
|
|
22
30
|
getProxy<T>(proxyId: ProxyIdentifier<T>): T;
|
|
@@ -46,11 +54,13 @@ export class SumiConnectionMultiplexer extends SumiConnection implements IRPCPro
|
|
|
46
54
|
|
|
47
55
|
protected readonly _locals: Map<string, any>;
|
|
48
56
|
protected readonly _proxies: Map<string, any>;
|
|
57
|
+
protected _knownProtocols: Record<string, TSumiProtocol>;
|
|
49
58
|
|
|
50
|
-
constructor(protected socket: BaseConnection<Uint8Array>, protected options:
|
|
59
|
+
constructor(protected socket: BaseConnection<Uint8Array>, protected options: ISumiMultiplexerConnectionOptions = {}) {
|
|
51
60
|
super(socket, options);
|
|
52
61
|
this._locals = new Map();
|
|
53
62
|
this._proxies = new Map();
|
|
63
|
+
this._knownProtocols = options.knownProtocols || {};
|
|
54
64
|
|
|
55
65
|
this.onRequestNotFound((rpcName: string, args: any[]) => this._doInvokeHandler(rpcName, args));
|
|
56
66
|
|
|
@@ -60,7 +70,13 @@ export class SumiConnectionMultiplexer extends SumiConnection implements IRPCPro
|
|
|
60
70
|
}
|
|
61
71
|
|
|
62
72
|
public set<T>(identifier: ProxyIdentifier<T>, instance: any) {
|
|
63
|
-
|
|
73
|
+
const id = SumiConnectionMultiplexer.normalizeServiceId(identifier.serviceId);
|
|
74
|
+
this._locals.set(id, instance);
|
|
75
|
+
const protocol = this._knownProtocols[identifier.serviceId];
|
|
76
|
+
if (protocol) {
|
|
77
|
+
this.loadProtocol(id, protocol);
|
|
78
|
+
}
|
|
79
|
+
|
|
64
80
|
return instance;
|
|
65
81
|
}
|
|
66
82
|
|
|
@@ -68,10 +84,21 @@ export class SumiConnectionMultiplexer extends SumiConnection implements IRPCPro
|
|
|
68
84
|
return this._locals.get(SumiConnectionMultiplexer.normalizeServiceId(identifier.serviceId));
|
|
69
85
|
}
|
|
70
86
|
|
|
87
|
+
protected loadProtocol(rpcId: string, protocol: TSumiProtocol) {
|
|
88
|
+
this.io.loadProtocol(protocol, {
|
|
89
|
+
nameConverter: (str: string) => SumiConnectionMultiplexer.getRPCName(rpcId, str),
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
|
|
71
93
|
public getProxy<T>(proxyId: ProxyIdentifier<T>) {
|
|
72
94
|
const serviceId = SumiConnectionMultiplexer.normalizeServiceId(proxyId.serviceId);
|
|
73
95
|
|
|
74
96
|
if (!this._proxies.has(serviceId)) {
|
|
97
|
+
const protocol = this._knownProtocols[proxyId.serviceId];
|
|
98
|
+
if (protocol) {
|
|
99
|
+
this.loadProtocol(serviceId, protocol);
|
|
100
|
+
}
|
|
101
|
+
|
|
75
102
|
this._proxies.set(serviceId, this._createProxy(serviceId));
|
|
76
103
|
}
|
|
77
104
|
|
|
@@ -111,4 +138,8 @@ export class SumiConnectionMultiplexer extends SumiConnection implements IRPCPro
|
|
|
111
138
|
|
|
112
139
|
return method.apply(actor, args);
|
|
113
140
|
}
|
|
141
|
+
|
|
142
|
+
getSocket() {
|
|
143
|
+
return this.socket;
|
|
144
|
+
}
|
|
114
145
|
}
|