@opensumi/ide-connection 3.0.4-next-1716970216.0 → 3.0.4-next-1717045696.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 +1 -10
- package/lib/browser/ws-channel-handler.d.ts.map +1 -1
- package/lib/browser/ws-channel-handler.js +22 -11
- package/lib/browser/ws-channel-handler.js.map +1 -1
- package/lib/common/connection/drivers/simple.d.ts +7 -7
- package/lib/common/connection/drivers/simple.d.ts.map +1 -1
- package/lib/common/connection/drivers/simple.js.map +1 -1
- package/lib/common/index.d.ts +0 -4
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +0 -4
- package/lib/common/index.js.map +1 -1
- package/lib/common/rpc/connection.d.ts +3 -4
- package/lib/common/rpc/connection.d.ts.map +1 -1
- package/lib/common/rpc/connection.js +30 -14
- package/lib/common/rpc/connection.js.map +1 -1
- package/lib/common/rpc/message-io.d.ts +11 -54
- package/lib/common/rpc/message-io.d.ts.map +1 -1
- package/lib/common/rpc/message-io.js +10 -63
- package/lib/common/rpc/message-io.js.map +1 -1
- package/lib/common/rpc/multiplexer.d.ts +0 -2
- package/lib/common/rpc/multiplexer.d.ts.map +1 -1
- package/lib/common/rpc/multiplexer.js +2 -6
- package/lib/common/rpc/multiplexer.js.map +1 -1
- package/lib/common/rpc-service/index.d.ts +0 -1
- package/lib/common/rpc-service/index.d.ts.map +1 -1
- package/lib/common/rpc-service/index.js +0 -1
- package/lib/common/rpc-service/index.js.map +1 -1
- package/lib/common/rpc-service/registry.d.ts +2 -2
- package/lib/common/rpc-service/registry.d.ts.map +1 -1
- package/lib/common/rpc-service/registry.js +0 -6
- package/lib/common/rpc-service/registry.js.map +1 -1
- package/lib/common/server-handler.d.ts +1 -7
- package/lib/common/server-handler.d.ts.map +1 -1
- package/lib/common/server-handler.js +11 -13
- package/lib/common/server-handler.js.map +1 -1
- package/lib/common/ws-channel.d.ts +201 -11
- package/lib/common/ws-channel.d.ts.map +1 -1
- package/lib/common/ws-channel.js +85 -49
- package/lib/common/ws-channel.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/ws-channel-handler.ts +26 -29
- package/src/common/connection/drivers/simple.ts +5 -5
- package/src/common/index.ts +0 -4
- package/src/common/rpc/connection.ts +36 -19
- package/src/common/rpc/message-io.ts +10 -123
- package/src/common/rpc/multiplexer.ts +3 -12
- package/src/common/rpc-service/index.ts +0 -1
- package/src/common/rpc-service/registry.ts +2 -10
- package/src/common/server-handler.ts +26 -24
- package/src/common/ws-channel.ts +207 -72
- package/lib/common/channel/index.d.ts +0 -2
- package/lib/common/channel/index.d.ts.map +0 -1
- package/lib/common/channel/index.js +0 -5
- package/lib/common/channel/index.js.map +0 -1
- package/lib/common/channel/types.d.ts +0 -66
- package/lib/common/channel/types.d.ts.map +0 -1
- package/lib/common/channel/types.js +0 -8
- package/lib/common/channel/types.js.map +0 -1
- package/lib/common/serializer/fury.d.ts +0 -122
- package/lib/common/serializer/fury.d.ts.map +0 -1
- package/lib/common/serializer/fury.js +0 -51
- package/lib/common/serializer/fury.js.map +0 -1
- package/lib/common/serializer/index.d.ts +0 -6
- package/lib/common/serializer/index.d.ts.map +0 -1
- package/lib/common/serializer/index.js +0 -21
- package/lib/common/serializer/index.js.map +0 -1
- package/lib/common/serializer/raw.d.ts +0 -4
- package/lib/common/serializer/raw.d.ts.map +0 -1
- package/lib/common/serializer/raw.js +0 -8
- package/lib/common/serializer/raw.js.map +0 -1
- package/lib/common/serializer/types.d.ts +0 -5
- package/lib/common/serializer/types.d.ts.map +0 -1
- package/lib/common/serializer/types.js +0 -3
- package/lib/common/serializer/types.js.map +0 -1
- package/src/common/channel/index.ts +0 -1
- package/src/common/channel/types.ts +0 -82
- package/src/common/serializer/fury.ts +0 -61
- package/src/common/serializer/index.ts +0 -23
- package/src/common/serializer/raw.ts +0 -8
- package/src/common/serializer/types.ts +0 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MessageIO = exports.
|
|
3
|
+
exports.MessageIO = exports.AnyProtocolSerializer = exports.HeadersProto = exports.Status = exports.OperationType = void 0;
|
|
4
4
|
const fury_1 = require("@furyjs/fury");
|
|
5
5
|
const gen_1 = require("@furyjs/fury/dist/lib/gen");
|
|
6
6
|
const utils_1 = require("@opensumi/ide-core-common/lib/utils");
|
|
@@ -13,8 +13,12 @@ var OperationType;
|
|
|
13
13
|
OperationType[OperationType["Notification"] = 1] = "Notification";
|
|
14
14
|
OperationType[OperationType["Response"] = 2] = "Response";
|
|
15
15
|
OperationType[OperationType["Cancel"] = 3] = "Cancel";
|
|
16
|
-
OperationType[OperationType["Error"] = 4] = "Error";
|
|
17
16
|
})(OperationType = exports.OperationType || (exports.OperationType = {}));
|
|
17
|
+
var Status;
|
|
18
|
+
(function (Status) {
|
|
19
|
+
Status[Status["OK"] = 0] = "OK";
|
|
20
|
+
Status[Status["Err"] = 1] = "Err";
|
|
21
|
+
})(Status = exports.Status || (exports.Status = {}));
|
|
18
22
|
exports.HeadersProto = {
|
|
19
23
|
Request: fury_1.Type.object('req-headers', {
|
|
20
24
|
cancelable: fury_1.Type.bool(),
|
|
@@ -28,7 +32,6 @@ const PacketPrefix = {
|
|
|
28
32
|
Notification: (OperationType.Notification << 8) | ProtoVersionV1,
|
|
29
33
|
Response: (OperationType.Response << 8) | ProtoVersionV1,
|
|
30
34
|
Cancel: (OperationType.Cancel << 8) | ProtoVersionV1,
|
|
31
|
-
Error: (OperationType.Error << 8) | ProtoVersionV1,
|
|
32
35
|
};
|
|
33
36
|
class SumiProtocolSerializer {
|
|
34
37
|
constructor(methodProtocol, fury) {
|
|
@@ -78,12 +81,8 @@ class AnyProtocolSerializer {
|
|
|
78
81
|
}
|
|
79
82
|
}
|
|
80
83
|
exports.AnyProtocolSerializer = AnyProtocolSerializer;
|
|
81
|
-
class
|
|
82
|
-
}
|
|
83
|
-
exports.BaseMessageIO = BaseMessageIO;
|
|
84
|
-
class MessageIO extends BaseMessageIO {
|
|
84
|
+
class MessageIO {
|
|
85
85
|
constructor() {
|
|
86
|
-
super();
|
|
87
86
|
this.serializerMap = new Map();
|
|
88
87
|
const fury = (0, shared_1.furyFactory)();
|
|
89
88
|
this.fury = fury.fury;
|
|
@@ -152,6 +151,7 @@ class MessageIO extends BaseMessageIO {
|
|
|
152
151
|
writer.uint16(PacketPrefix.Response);
|
|
153
152
|
writer.uint32(requestId);
|
|
154
153
|
writer.stringOfVarUInt32(method);
|
|
154
|
+
writer.uint16(Status.OK);
|
|
155
155
|
this.responseHeadersSerializer.write(headers);
|
|
156
156
|
this.getProcessor(method).writeResponse(result);
|
|
157
157
|
return writer.dump();
|
|
@@ -159,67 +159,14 @@ class MessageIO extends BaseMessageIO {
|
|
|
159
159
|
Error(requestId, method, headers, error) {
|
|
160
160
|
const { writer } = this;
|
|
161
161
|
writer.reset();
|
|
162
|
-
writer.uint16(PacketPrefix.
|
|
162
|
+
writer.uint16(PacketPrefix.Response);
|
|
163
163
|
writer.uint32(requestId);
|
|
164
164
|
writer.stringOfVarUInt32(method);
|
|
165
|
+
writer.uint16(Status.Err);
|
|
165
166
|
this.responseHeadersSerializer.write(headers);
|
|
166
167
|
writer.stringOfVarUInt32((0, utils_1.stringifyError)(error));
|
|
167
168
|
return writer.dump();
|
|
168
169
|
}
|
|
169
|
-
readMessage(data) {
|
|
170
|
-
const { reader } = this;
|
|
171
|
-
reader.reset(data);
|
|
172
|
-
// skip version, currently only have version 1
|
|
173
|
-
reader.skip(1);
|
|
174
|
-
const opType = reader.uint8();
|
|
175
|
-
const requestId = reader.uint32();
|
|
176
|
-
switch (opType) {
|
|
177
|
-
case OperationType.Request:
|
|
178
|
-
case OperationType.Notification: {
|
|
179
|
-
const method = reader.stringOfVarUInt32();
|
|
180
|
-
const headers = this.requestHeadersSerializer.read();
|
|
181
|
-
const args = this.getProcessor(method).readRequest();
|
|
182
|
-
return {
|
|
183
|
-
kind: opType,
|
|
184
|
-
requestId,
|
|
185
|
-
method,
|
|
186
|
-
headers,
|
|
187
|
-
args,
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
case OperationType.Error: {
|
|
191
|
-
const method = reader.stringOfVarUInt32();
|
|
192
|
-
const headers = this.responseHeadersSerializer.read();
|
|
193
|
-
const error = (0, utils_1.parseError)(reader.stringOfVarUInt32());
|
|
194
|
-
return {
|
|
195
|
-
kind: OperationType.Error,
|
|
196
|
-
requestId,
|
|
197
|
-
method,
|
|
198
|
-
headers,
|
|
199
|
-
error,
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
case OperationType.Response: {
|
|
203
|
-
const method = reader.stringOfVarUInt32();
|
|
204
|
-
const headers = this.responseHeadersSerializer.read();
|
|
205
|
-
const result = this.getProcessor(method).readResponse();
|
|
206
|
-
return {
|
|
207
|
-
kind: OperationType.Response,
|
|
208
|
-
requestId,
|
|
209
|
-
method,
|
|
210
|
-
headers,
|
|
211
|
-
result,
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
case OperationType.Cancel:
|
|
215
|
-
return {
|
|
216
|
-
kind: OperationType.Cancel,
|
|
217
|
-
requestId,
|
|
218
|
-
};
|
|
219
|
-
default:
|
|
220
|
-
throw new Error(`Unknown message type: ${opType}`);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
170
|
}
|
|
224
171
|
exports.MessageIO = MessageIO;
|
|
225
172
|
//# sourceMappingURL=message-io.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-io.js","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":";;;AAAA,uCAAuE;AACvE,mDAA+D;
|
|
1
|
+
{"version":3,"file":"message-io.js","sourceRoot":"","sources":["../../../src/common/rpc/message-io.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BaseConnection } from '../connection';
|
|
2
2
|
import { ISumiConnectionOptions, SumiConnection } from './connection';
|
|
3
|
-
import { MessageIO } from './message-io';
|
|
4
3
|
import { TSumiProtocol } from './types';
|
|
5
4
|
export declare class ProxyIdentifier<T = any> {
|
|
6
5
|
static count: number;
|
|
@@ -35,7 +34,6 @@ export declare class SumiConnectionMultiplexer extends SumiConnection implements
|
|
|
35
34
|
protected readonly _locals: Map<string, any>;
|
|
36
35
|
protected readonly _proxies: Map<string, any>;
|
|
37
36
|
protected _knownProtocols: Record<string, TSumiProtocol>;
|
|
38
|
-
io: MessageIO;
|
|
39
37
|
constructor(socket: BaseConnection<Uint8Array>, options?: ISumiMultiplexerConnectionOptions);
|
|
40
38
|
set<T>(identifier: ProxyIdentifier<T>, instance: any): any;
|
|
41
39
|
get<T>(identifier: ProxyIdentifier<T>): any;
|
|
@@ -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;
|
|
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;AAEtE,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;IAc5G,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,11 +16,6 @@ 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
|
-
}
|
|
24
19
|
/**
|
|
25
20
|
* A connection multiplexer that allows to register multiple local RPC services and to create proxies for them.
|
|
26
21
|
*/
|
|
@@ -36,12 +31,13 @@ class SumiConnectionMultiplexer extends connection_1.SumiConnection {
|
|
|
36
31
|
return serviceId.replace(/\//g, '_');
|
|
37
32
|
}
|
|
38
33
|
constructor(socket, options = {}) {
|
|
39
|
-
super(socket,
|
|
34
|
+
super(socket, options);
|
|
40
35
|
this.socket = socket;
|
|
41
36
|
this.options = options;
|
|
42
37
|
this._locals = new Map();
|
|
43
38
|
this._proxies = new Map();
|
|
44
39
|
this._knownProtocols = options.knownProtocols || {};
|
|
40
|
+
this.io.setAnySerializer(new message_io_1.AnyProtocolSerializer(this.io.writer, this.io.reader, any_1.ExtObjectTransfer));
|
|
45
41
|
this.onRequestNotFound((rpcName, args) => this.invoke(rpcName, args));
|
|
46
42
|
// call `listen` implicitly
|
|
47
43
|
// 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,
|
|
1
|
+
{"version":3,"file":"multiplexer.js","sourceRoot":"","sources":["../../../src/common/rpc/multiplexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/rpc-service/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/rpc-service/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AAEzB,8BAAsB,UAAU,CAAC,CAAC,GAAG,GAAG;IACtC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,MAAM,OAAO,CAAC,CAAC,CAAC;IAC7B,IAAI,MAAM,IAAI,CAAC,GAAG,SAAS,CAE1B;CACF"}
|
|
@@ -4,7 +4,6 @@ exports.RPCService = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
tslib_1.__exportStar(require("./stub"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./center"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./registry"), exports);
|
|
8
7
|
class RPCService {
|
|
9
8
|
get client() {
|
|
10
9
|
return this.rpcClient ? this.rpcClient[0] : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/rpc-service/index.ts"],"names":[],"mappings":";;;;AAAA,iDAAuB;AACvB,mDAAyB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/rpc-service/index.ts"],"names":[],"mappings":";;;;AAAA,iDAAuB;AACvB,mDAAyB;AAEzB,MAAsB,UAAU;IAI9B,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;CACF;AAPD,gCAOC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DisposableStore, Emitter, IDisposable } from '@opensumi/ide-core-common';
|
|
2
|
-
import {
|
|
2
|
+
import { MessageIO, TSumiProtocol } from '../rpc';
|
|
3
3
|
import { RPCServiceMethod } from '../types';
|
|
4
4
|
export declare function getServiceMethods(service: any): string[];
|
|
5
5
|
/**
|
|
@@ -27,7 +27,7 @@ export declare class ProtocolRegistry {
|
|
|
27
27
|
addProtocol(protocol: TSumiProtocol, options?: {
|
|
28
28
|
nameConverter?: (str: string) => string;
|
|
29
29
|
}): void;
|
|
30
|
-
applyTo(io:
|
|
30
|
+
applyTo(io: MessageIO): void;
|
|
31
31
|
dispose(): void;
|
|
32
32
|
}
|
|
33
33
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/common/rpc-service/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/common/rpc-service/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAuB,MAAM,QAAQ,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,EAAE,CAqBxD;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,YAAY,CAAyB;IAE7C,SAAS,CAAC,OAAO,oBAAkD;IACnE,gBAAgB,sDAAsB;IAEtC,OAAO,CAAC,gBAAgB,CAA4C;IAEpE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB;IAKjD,eAAe,CACb,OAAO,EAAE,GAAG,EACZ,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC;IAkBH,GAAG,CAAC,IAAI,EAAE,WAAW;IAIrB,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG;IAM9C,OAAO;IAIP,OAAO;CAGR;AAED,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,YAAY,kBAAyB;IAE/C,SAAS,CAAC,OAAO,oBAAkD;IACnE,gBAAgB,sDAAsB;IAEtC,OAAO,CAAC,WAAW,CAA+C;IAElE,WAAW,CACT,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACzC;IAsBH,OAAO,CAAC,EAAE,EAAE,SAAS;IAiBrB,OAAO;CAGR"}
|
|
@@ -88,16 +88,10 @@ class ProtocolRegistry {
|
|
|
88
88
|
this.emitter.fire(serviceNames);
|
|
89
89
|
}
|
|
90
90
|
applyTo(io) {
|
|
91
|
-
if (!io.loadProtocolMethod) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
91
|
for (const protocol of this.protocolMap.values()) {
|
|
95
92
|
io.loadProtocolMethod(protocol);
|
|
96
93
|
}
|
|
97
94
|
this._disposables.add(this.onProtocolUpdate((methods) => {
|
|
98
|
-
if (!io.loadProtocolMethod) {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
95
|
for (const method of methods) {
|
|
102
96
|
const protocol = this.protocolMap.get(method);
|
|
103
97
|
if (protocol) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/common/rpc-service/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/common/rpc-service/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { ChannelMessage } from './channel/types';
|
|
3
2
|
import { IConnectionShape } from './connection/types';
|
|
4
|
-
import { ISerializer } from './serializer/types';
|
|
5
3
|
import { ILogger } from './types';
|
|
6
4
|
import { WSChannel, WSServerChannel } from './ws-channel';
|
|
7
5
|
export interface IPathHandler {
|
|
@@ -22,16 +20,12 @@ export declare class CommonChannelPathHandler {
|
|
|
22
20
|
getAll(): IPathHandler[][];
|
|
23
21
|
}
|
|
24
22
|
export declare const commonChannelPathHandler: CommonChannelPathHandler;
|
|
25
|
-
export interface ChannelHandlerOptions {
|
|
26
|
-
serializer?: ISerializer<ChannelMessage, any>;
|
|
27
|
-
}
|
|
28
23
|
export declare abstract class BaseCommonChannelHandler {
|
|
29
24
|
handlerId: string;
|
|
30
25
|
protected logger: ILogger;
|
|
31
26
|
protected channelMap: Map<string, WSServerChannel>;
|
|
32
27
|
protected heartbeatTimer: NodeJS.Timeout | null;
|
|
33
|
-
|
|
34
|
-
constructor(handlerId: string, logger?: ILogger, options?: ChannelHandlerOptions);
|
|
28
|
+
constructor(handlerId: string, logger?: ILogger);
|
|
35
29
|
abstract doHeartbeat(connection: any): void;
|
|
36
30
|
private heartbeat;
|
|
37
31
|
receiveConnection(connection: IConnectionShape<Uint8Array>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-handler.d.ts","sourceRoot":"","sources":["../../src/common/server-handler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server-handler.d.ts","sourceRoot":"","sources":["../../src/common/server-handler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAGL,SAAS,EACT,eAAe,EAIhB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAC7F,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,SAAS,CAAkC;IAEnD,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAqBnD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAUrE,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAcxD,GAAG,CAAC,WAAW,EAAE,MAAM;IAGvB,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM;IAOxD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM;IAsB9D,MAAM;CAGP;AAED,eAAO,MAAM,wBAAwB,0BAAiC,CAAC;AAEvE,8BAAsB,wBAAwB;IAKzB,SAAS,EAAE,MAAM;IAAE,SAAS,CAAC,MAAM,EAAE,OAAO;IAJ/D,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAa;IAE/D,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;gBAEpC,SAAS,EAAE,MAAM,EAAY,MAAM,GAAE,OAAiB;IAEzE,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI;IAE3C,OAAO,CAAC,SAAS;IAWjB,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAuE1D,OAAO;CAKR;AAED,eAAO,MAAM,qBAAqB,eAAe,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RPCServiceChannelPath = exports.BaseCommonChannelHandler = exports.commonChannelPathHandler = exports.CommonChannelPathHandler = void 0;
|
|
4
|
-
const types_1 = require("./channel/types");
|
|
5
|
-
const serializer_1 = require("./serializer");
|
|
6
4
|
const ws_channel_1 = require("./ws-channel");
|
|
7
5
|
class CommonChannelPathHandler {
|
|
8
6
|
constructor() {
|
|
@@ -91,15 +89,11 @@ class CommonChannelPathHandler {
|
|
|
91
89
|
exports.CommonChannelPathHandler = CommonChannelPathHandler;
|
|
92
90
|
exports.commonChannelPathHandler = new CommonChannelPathHandler();
|
|
93
91
|
class BaseCommonChannelHandler {
|
|
94
|
-
constructor(handlerId, logger = console
|
|
92
|
+
constructor(handlerId, logger = console) {
|
|
95
93
|
this.handlerId = handlerId;
|
|
96
94
|
this.logger = logger;
|
|
97
95
|
this.channelMap = new Map();
|
|
98
96
|
this.heartbeatTimer = null;
|
|
99
|
-
this.serializer = serializer_1.furySerializer;
|
|
100
|
-
if (options.serializer) {
|
|
101
|
-
this.serializer = options.serializer;
|
|
102
|
-
}
|
|
103
97
|
}
|
|
104
98
|
heartbeat(connection) {
|
|
105
99
|
if (this.heartbeatTimer) {
|
|
@@ -113,18 +107,22 @@ class BaseCommonChannelHandler {
|
|
|
113
107
|
receiveConnection(connection) {
|
|
114
108
|
let clientId;
|
|
115
109
|
this.heartbeat(connection);
|
|
116
|
-
const wrappedConnection = (0, serializer_1.wrapSerializer)(connection, this.serializer);
|
|
117
110
|
const getOrCreateChannel = (id, clientId) => {
|
|
118
111
|
let channel = this.channelMap.get(id);
|
|
119
112
|
if (!channel) {
|
|
120
|
-
channel = new ws_channel_1.WSServerChannel(
|
|
113
|
+
channel = new ws_channel_1.WSServerChannel(connection, { id, clientId, logger: this.logger });
|
|
121
114
|
this.channelMap.set(id, channel);
|
|
122
115
|
}
|
|
123
116
|
return channel;
|
|
124
117
|
};
|
|
125
|
-
|
|
118
|
+
connection.onMessage((data) => {
|
|
119
|
+
let msg;
|
|
126
120
|
try {
|
|
121
|
+
msg = (0, ws_channel_1.parse)(data);
|
|
127
122
|
switch (msg.kind) {
|
|
123
|
+
case 'ping':
|
|
124
|
+
connection.send(ws_channel_1.pongMessage);
|
|
125
|
+
break;
|
|
128
126
|
case 'open': {
|
|
129
127
|
const { id, path, connectionToken } = msg;
|
|
130
128
|
clientId = msg.clientId;
|
|
@@ -141,12 +139,12 @@ class BaseCommonChannelHandler {
|
|
|
141
139
|
channel.dispatch(msg);
|
|
142
140
|
}
|
|
143
141
|
else {
|
|
144
|
-
|
|
142
|
+
connection.send((0, ws_channel_1.stringify)({
|
|
145
143
|
kind: 'error',
|
|
146
144
|
id,
|
|
147
|
-
code:
|
|
145
|
+
code: ws_channel_1.ErrorMessageCode.ChannelNotFound,
|
|
148
146
|
message: `channel ${id} not found`,
|
|
149
|
-
});
|
|
147
|
+
}));
|
|
150
148
|
this.logger.warn(`channel ${id} is not found`);
|
|
151
149
|
}
|
|
152
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-handler.js","sourceRoot":"","sources":["../../src/common/server-handler.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"server-handler.js","sourceRoot":"","sources":["../../src/common/server-handler.ts"],"names":[],"mappings":"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"}
|