@litert/televoke 1.0.3 → 1.2.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/CHANGES.md +17 -0
- package/lib/client/Client.decl.d.ts +1 -2
- package/lib/client/Client.decl.d.ts.map +1 -1
- package/lib/client/Client.decl.js +1 -1
- package/lib/client/JsonApiClient.impl.d.ts +1 -1
- package/lib/client/JsonApiClient.impl.js +2 -3
- package/lib/client/JsonApiClient.impl.js.map +1 -1
- package/lib/client/index.d.ts +1 -1
- package/lib/client/index.js +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/server/LegacyServerChannel.impl.d.ts +3 -3
- package/lib/server/LegacyServerChannel.impl.d.ts.map +1 -1
- package/lib/server/LegacyServerChannel.impl.js +3 -1
- package/lib/server/LegacyServerChannel.impl.js.map +1 -1
- package/lib/server/Server.decl.d.ts +1 -2
- package/lib/server/Server.decl.d.ts.map +1 -1
- package/lib/server/Server.decl.js +1 -1
- package/lib/server/Server.impl.d.ts +1 -2
- package/lib/server/Server.impl.d.ts.map +1 -1
- package/lib/server/Server.impl.js +1 -1
- package/lib/server/ServerChannel.d.ts +1 -1
- package/lib/server/ServerChannel.js +1 -1
- package/lib/server/SimpleJsonApiRouter.d.ts +1 -3
- package/lib/server/SimpleJsonApiRouter.d.ts.map +1 -1
- package/lib/server/SimpleJsonApiRouter.js +1 -1
- package/lib/server/index.d.ts +1 -1
- package/lib/server/index.js +1 -1
- package/lib/shared/BinaryStream.d.ts +1 -3
- package/lib/shared/BinaryStream.d.ts.map +1 -1
- package/lib/shared/BinaryStream.js +1 -1
- package/lib/shared/BinaryStreamManager.d.ts +1 -1
- package/lib/shared/BinaryStreamManager.js +5 -5
- package/lib/shared/BinaryStreamManager.js.map +1 -1
- package/lib/shared/Channel.impl.d.ts +3 -4
- package/lib/shared/Channel.impl.d.ts.map +1 -1
- package/lib/shared/Channel.impl.js +3 -1
- package/lib/shared/Channel.impl.js.map +1 -1
- package/lib/shared/Constants.d.ts +1 -1
- package/lib/shared/Constants.js +1 -1
- package/lib/shared/Encodings/index.d.ts +1 -1
- package/lib/shared/Encodings/index.js +1 -1
- package/lib/shared/Encodings/v1/EncoderV1.d.ts +1 -1
- package/lib/shared/Encodings/v1/EncoderV1.js +1 -1
- package/lib/shared/Encodings/v1/Protocol.v1.decls.d.ts +1 -1
- package/lib/shared/Encodings/v1/Protocol.v1.decls.js +1 -1
- package/lib/shared/Encodings/v1/index.d.ts +1 -1
- package/lib/shared/Encodings/v1/index.js +1 -1
- package/lib/shared/Encodings/v2/Constants.v2.d.ts +1 -1
- package/lib/shared/Encodings/v2/Constants.v2.js +1 -1
- package/lib/shared/Encodings/v2/DecoderV2.d.ts +1 -2
- package/lib/shared/Encodings/v2/DecoderV2.d.ts.map +1 -1
- package/lib/shared/Encodings/v2/DecoderV2.js +15 -4
- package/lib/shared/Encodings/v2/DecoderV2.js.map +1 -1
- package/lib/shared/Encodings/v2/EncoderV2.d.ts +1 -2
- package/lib/shared/Encodings/v2/EncoderV2.d.ts.map +1 -1
- package/lib/shared/Encodings/v2/EncoderV2.js +1 -1
- package/lib/shared/Encodings/v2/Encoding.v2.decl.d.ts +1 -2
- package/lib/shared/Encodings/v2/Encoding.v2.decl.d.ts.map +1 -1
- package/lib/shared/Encodings/v2/Encoding.v2.decl.js +1 -1
- package/lib/shared/Encodings/v2/index.d.ts +1 -1
- package/lib/shared/Encodings/v2/index.js +1 -1
- package/lib/shared/Errors.d.ts +5 -5
- package/lib/shared/Errors.d.ts.map +1 -1
- package/lib/shared/Errors.js +4 -4
- package/lib/shared/Errors.js.map +1 -1
- package/lib/shared/Shared.decl.d.ts +10 -4
- package/lib/shared/Shared.decl.d.ts.map +1 -1
- package/lib/shared/Shared.decl.js +1 -1
- package/lib/shared/Utils.d.ts +1 -2
- package/lib/shared/Utils.d.ts.map +1 -1
- package/lib/shared/Utils.js +3 -4
- package/lib/shared/Utils.js.map +1 -1
- package/lib/shared/index.d.ts +1 -1
- package/lib/shared/index.js +1 -1
- package/lib/transporters/Transporter.decl.d.ts +3 -4
- package/lib/transporters/Transporter.decl.d.ts.map +1 -1
- package/lib/transporters/Transporter.decl.js +1 -1
- package/lib/transporters/http-listener/AbstractHttpListener.d.ts +2 -4
- package/lib/transporters/http-listener/AbstractHttpListener.d.ts.map +1 -1
- package/lib/transporters/http-listener/AbstractHttpListener.js +10 -6
- package/lib/transporters/http-listener/AbstractHttpListener.js.map +1 -1
- package/lib/transporters/http-listener/Http.Decl.d.ts +1 -9
- package/lib/transporters/http-listener/Http.Decl.d.ts.map +1 -1
- package/lib/transporters/http-listener/Http.Decl.js +2 -21
- package/lib/transporters/http-listener/Http.Decl.js.map +1 -1
- package/lib/transporters/http-listener/HttpListener.d.ts +1 -1
- package/lib/transporters/http-listener/HttpListener.d.ts.map +1 -1
- package/lib/transporters/http-listener/HttpListener.js +5 -4
- package/lib/transporters/http-listener/HttpListener.js.map +1 -1
- package/lib/transporters/http-listener/HttpUnixSocketListener.d.ts +1 -1
- package/lib/transporters/http-listener/HttpUnixSocketListener.d.ts.map +1 -1
- package/lib/transporters/http-listener/HttpUnixSocketListener.js +5 -4
- package/lib/transporters/http-listener/HttpUnixSocketListener.js.map +1 -1
- package/lib/transporters/http-listener/HttpsListener.d.ts +1 -1
- package/lib/transporters/http-listener/HttpsListener.d.ts.map +1 -1
- package/lib/transporters/http-listener/HttpsListener.js +7 -6
- package/lib/transporters/http-listener/HttpsListener.js.map +1 -1
- package/lib/transporters/http-listener/index.d.ts +1 -1
- package/lib/transporters/http-listener/index.js +1 -1
- package/lib/transporters/index.d.ts +1 -1
- package/lib/transporters/index.js +1 -1
- package/lib/transporters/legacy-http/LegacyHttp.Client.Native.d.ts +12 -3
- package/lib/transporters/legacy-http/LegacyHttp.Client.Native.d.ts.map +1 -1
- package/lib/transporters/legacy-http/LegacyHttp.Client.Native.js +12 -3
- package/lib/transporters/legacy-http/LegacyHttp.Client.Native.js.map +1 -1
- package/lib/transporters/legacy-http/LegacyHttp.Server.d.ts +29 -1
- package/lib/transporters/legacy-http/LegacyHttp.Server.d.ts.map +1 -1
- package/lib/transporters/legacy-http/LegacyHttp.Server.js +43 -12
- package/lib/transporters/legacy-http/LegacyHttp.Server.js.map +1 -1
- package/lib/transporters/legacy-http/LegacyHttp.Transporter.d.ts +1 -2
- package/lib/transporters/legacy-http/LegacyHttp.Transporter.d.ts.map +1 -1
- package/lib/transporters/legacy-http/LegacyHttp.Transporter.js +1 -1
- package/lib/transporters/legacy-http/index.d.ts +1 -1
- package/lib/transporters/legacy-http/index.js +1 -1
- package/lib/transporters/lwdfx/LwDFX.Tcp.Client.d.ts +1 -1
- package/lib/transporters/lwdfx/LwDFX.Tcp.Client.js +2 -3
- package/lib/transporters/lwdfx/LwDFX.Tcp.Client.js.map +1 -1
- package/lib/transporters/lwdfx/LwDFX.Tcp.Server.d.ts +1 -1
- package/lib/transporters/lwdfx/LwDFX.Tcp.Server.js +2 -3
- package/lib/transporters/lwdfx/LwDFX.Tcp.Server.js.map +1 -1
- package/lib/transporters/lwdfx/LwDFX.Tls.Client.d.ts +1 -1
- package/lib/transporters/lwdfx/LwDFX.Tls.Client.js +2 -3
- package/lib/transporters/lwdfx/LwDFX.Tls.Client.js.map +1 -1
- package/lib/transporters/lwdfx/LwDFX.Tls.Server.d.ts +1 -1
- package/lib/transporters/lwdfx/LwDFX.Tls.Server.js +2 -3
- package/lib/transporters/lwdfx/LwDFX.Tls.Server.js.map +1 -1
- package/lib/transporters/lwdfx/LwDFX.Transporter.d.ts +3 -5
- package/lib/transporters/lwdfx/LwDFX.Transporter.d.ts.map +1 -1
- package/lib/transporters/lwdfx/LwDFX.Transporter.js +2 -5
- package/lib/transporters/lwdfx/LwDFX.Transporter.js.map +1 -1
- package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.d.ts +1 -1
- package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.js +2 -3
- package/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.js.map +1 -1
- package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.d.ts +1 -1
- package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.js +2 -3
- package/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.js.map +1 -1
- package/lib/transporters/lwdfx/LwDFX.decl.d.ts +1 -1
- package/lib/transporters/lwdfx/LwDFX.decl.js +1 -1
- package/lib/transporters/lwdfx/index.d.ts +1 -1
- package/lib/transporters/lwdfx/index.js +1 -1
- package/lib/transporters/memory/Memory.Impl.d.ts +1 -2
- package/lib/transporters/memory/Memory.Impl.d.ts.map +1 -1
- package/lib/transporters/memory/Memory.Impl.js +4 -11
- package/lib/transporters/memory/Memory.Impl.js.map +1 -1
- package/lib/transporters/memory/index.d.ts +1 -1
- package/lib/transporters/memory/index.js +1 -1
- package/lib/transporters/websocket/WebSocket.Client.d.ts +18 -3
- package/lib/transporters/websocket/WebSocket.Client.d.ts.map +1 -1
- package/lib/transporters/websocket/WebSocket.Client.js +23 -4
- package/lib/transporters/websocket/WebSocket.Client.js.map +1 -1
- package/lib/transporters/websocket/WebSocket.Server.d.ts +24 -2
- package/lib/transporters/websocket/WebSocket.Server.d.ts.map +1 -1
- package/lib/transporters/websocket/WebSocket.Server.js +30 -12
- package/lib/transporters/websocket/WebSocket.Server.js.map +1 -1
- package/lib/transporters/websocket/WebSocket.Transporter.d.ts +3 -5
- package/lib/transporters/websocket/WebSocket.Transporter.d.ts.map +1 -1
- package/lib/transporters/websocket/WebSocket.Transporter.js +2 -10
- package/lib/transporters/websocket/WebSocket.Transporter.js.map +1 -1
- package/lib/transporters/websocket/WebSocket.decl.d.ts +1 -1
- package/lib/transporters/websocket/WebSocket.decl.js +1 -1
- package/lib/transporters/websocket/index.d.ts +1 -1
- package/lib/transporters/websocket/index.js +1 -1
- package/lib/transporters/worker-thread/WorkerThread.Client.d.ts +30 -0
- package/lib/transporters/worker-thread/WorkerThread.Client.d.ts.map +1 -0
- package/lib/transporters/worker-thread/WorkerThread.Client.js +70 -0
- package/lib/transporters/worker-thread/WorkerThread.Client.js.map +1 -0
- package/lib/transporters/worker-thread/WorkerThread.Constants.d.ts +18 -0
- package/lib/transporters/worker-thread/WorkerThread.Constants.d.ts.map +1 -0
- package/lib/transporters/worker-thread/WorkerThread.Constants.js +21 -0
- package/lib/transporters/worker-thread/WorkerThread.Constants.js.map +1 -0
- package/lib/transporters/worker-thread/WorkerThread.Errors.d.ts +49 -0
- package/lib/transporters/worker-thread/WorkerThread.Errors.d.ts.map +1 -0
- package/lib/transporters/worker-thread/WorkerThread.Errors.js +38 -0
- package/lib/transporters/worker-thread/WorkerThread.Errors.js.map +1 -0
- package/lib/transporters/worker-thread/WorkerThread.Server.d.ts +42 -0
- package/lib/transporters/worker-thread/WorkerThread.Server.d.ts.map +1 -0
- package/lib/transporters/worker-thread/WorkerThread.Server.js +94 -0
- package/lib/transporters/worker-thread/WorkerThread.Server.js.map +1 -0
- package/lib/transporters/worker-thread/WorkerThread.Transporter.d.ts +49 -0
- package/lib/transporters/worker-thread/WorkerThread.Transporter.d.ts.map +1 -0
- package/lib/transporters/worker-thread/WorkerThread.Transporter.js +140 -0
- package/lib/transporters/worker-thread/WorkerThread.Transporter.js.map +1 -0
- package/lib/transporters/worker-thread/index.d.ts +19 -0
- package/lib/transporters/worker-thread/index.d.ts.map +1 -0
- package/lib/transporters/worker-thread/index.js +35 -0
- package/lib/transporters/worker-thread/index.js.map +1 -0
- package/package.json +5 -5
- package/src/lib/client/Client.decl.ts +1 -1
- package/src/lib/client/JsonApiClient.impl.ts +1 -1
- package/src/lib/client/index.ts +1 -1
- package/src/lib/index.ts +1 -1
- package/src/lib/server/LegacyServerChannel.impl.ts +5 -1
- package/src/lib/server/Server.decl.ts +1 -1
- package/src/lib/server/Server.impl.ts +1 -1
- package/src/lib/server/ServerChannel.ts +1 -1
- package/src/lib/server/SimpleJsonApiRouter.ts +1 -1
- package/src/lib/server/index.ts +1 -1
- package/src/lib/shared/BinaryStream.ts +1 -1
- package/src/lib/shared/BinaryStreamManager.ts +1 -1
- package/src/lib/shared/Channel.impl.ts +5 -1
- package/src/lib/shared/Constants.ts +1 -1
- package/src/lib/shared/Encodings/index.ts +1 -1
- package/src/lib/shared/Encodings/v1/EncoderV1.ts +1 -1
- package/src/lib/shared/Encodings/v1/Protocol.v1.decls.ts +1 -1
- package/src/lib/shared/Encodings/v1/index.ts +1 -1
- package/src/lib/shared/Encodings/v2/Constants.v2.ts +1 -1
- package/src/lib/shared/Encodings/v2/DecoderV2.ts +22 -4
- package/src/lib/shared/Encodings/v2/EncoderV2.ts +1 -1
- package/src/lib/shared/Encodings/v2/Encoding.v2.decl.ts +1 -1
- package/src/lib/shared/Encodings/v2/index.ts +1 -1
- package/src/lib/shared/Errors.ts +4 -3
- package/src/lib/shared/Shared.decl.ts +13 -3
- package/src/lib/shared/Utils.ts +1 -1
- package/src/lib/shared/index.ts +1 -1
- package/src/lib/transporters/Transporter.decl.ts +3 -3
- package/src/lib/transporters/http-listener/AbstractHttpListener.ts +14 -6
- package/src/lib/transporters/http-listener/Http.Decl.ts +1 -26
- package/src/lib/transporters/http-listener/HttpListener.ts +10 -2
- package/src/lib/transporters/http-listener/HttpUnixSocketListener.ts +10 -2
- package/src/lib/transporters/http-listener/HttpsListener.ts +12 -4
- package/src/lib/transporters/http-listener/index.ts +1 -1
- package/src/lib/transporters/index.ts +1 -1
- package/src/lib/transporters/legacy-http/LegacyHttp.Client.Native.ts +30 -3
- package/src/lib/transporters/legacy-http/LegacyHttp.Server.ts +70 -9
- package/src/lib/transporters/legacy-http/LegacyHttp.Transporter.ts +1 -1
- package/src/lib/transporters/legacy-http/README.md +13 -0
- package/src/lib/transporters/legacy-http/index.ts +1 -1
- package/src/lib/transporters/lwdfx/LwDFX.Tcp.Client.ts +1 -1
- package/src/lib/transporters/lwdfx/LwDFX.Tcp.Server.ts +1 -1
- package/src/lib/transporters/lwdfx/LwDFX.Tls.Client.ts +1 -1
- package/src/lib/transporters/lwdfx/LwDFX.Tls.Server.ts +1 -1
- package/src/lib/transporters/lwdfx/LwDFX.Transporter.ts +3 -8
- package/src/lib/transporters/lwdfx/LwDFX.UnixSocket.Client.ts +1 -1
- package/src/lib/transporters/lwdfx/LwDFX.UnixSocket.Server.ts +1 -1
- package/src/lib/transporters/lwdfx/LwDFX.decl.ts +1 -1
- package/src/lib/transporters/lwdfx/README.md +12 -0
- package/src/lib/transporters/lwdfx/index.ts +1 -1
- package/src/lib/transporters/memory/Memory.Impl.ts +3 -13
- package/src/lib/transporters/memory/README.md +7 -0
- package/src/lib/transporters/memory/index.ts +1 -1
- package/src/lib/transporters/websocket/README.md +14 -0
- package/src/lib/transporters/websocket/WebSocket.Client.ts +52 -7
- package/src/lib/transporters/websocket/WebSocket.Server.ts +55 -9
- package/src/lib/transporters/websocket/WebSocket.Transporter.ts +3 -15
- package/src/lib/transporters/websocket/WebSocket.decl.ts +1 -1
- package/src/lib/transporters/websocket/index.ts +1 -1
- package/src/lib/transporters/worker-thread/README.md +18 -0
- package/src/lib/transporters/worker-thread/WorkerThread.Client.ts +88 -0
- package/src/lib/transporters/worker-thread/WorkerThread.Constants.ts +19 -0
- package/src/lib/transporters/worker-thread/WorkerThread.Errors.ts +53 -0
- package/src/lib/transporters/worker-thread/WorkerThread.Server.ts +136 -0
- package/src/lib/transporters/worker-thread/WorkerThread.Transporter.ts +204 -0
- package/src/lib/transporters/worker-thread/index.ts +19 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -15,13 +15,24 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
18
|
+
exports.createWsConnector = createWsConnector;
|
|
19
|
+
exports.createWssConnector = createWssConnector;
|
|
19
20
|
const LibWS = require("@litert/websocket");
|
|
20
21
|
const dWS = require("./WebSocket.decl");
|
|
21
22
|
const WebSocket_Transporter_1 = require("./WebSocket.Transporter");
|
|
22
23
|
class WsConnector {
|
|
23
24
|
constructor(_opts) {
|
|
25
|
+
var _a;
|
|
24
26
|
this._opts = _opts;
|
|
27
|
+
(_a = this._opts).headers ?? (_a.headers = {});
|
|
28
|
+
}
|
|
29
|
+
setHeaders(newHeaders, append = true) {
|
|
30
|
+
if (append) {
|
|
31
|
+
Object.assign(this._opts.headers, newHeaders);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this._opts.headers = newHeaders;
|
|
35
|
+
}
|
|
25
36
|
}
|
|
26
37
|
async connect() {
|
|
27
38
|
const ws = await LibWS.wsConnect({
|
|
@@ -39,7 +50,17 @@ class WsConnector {
|
|
|
39
50
|
}
|
|
40
51
|
class WssConnector {
|
|
41
52
|
constructor(_opts) {
|
|
53
|
+
var _a;
|
|
42
54
|
this._opts = _opts;
|
|
55
|
+
(_a = this._opts).headers ?? (_a.headers = {});
|
|
56
|
+
}
|
|
57
|
+
setHeaders(newHeaders, append = true) {
|
|
58
|
+
if (append) {
|
|
59
|
+
Object.assign(this._opts.headers, newHeaders);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
this._opts.headers = newHeaders;
|
|
63
|
+
}
|
|
43
64
|
}
|
|
44
65
|
async connect() {
|
|
45
66
|
const ws = await LibWS.wssConnect({
|
|
@@ -59,10 +80,8 @@ function createWsConnector(opts) {
|
|
|
59
80
|
opts.frameReceiveMode = LibWS.EFrameReceiveMode.LITE;
|
|
60
81
|
return new WsConnector(opts);
|
|
61
82
|
}
|
|
62
|
-
exports.createWsConnector = createWsConnector;
|
|
63
83
|
function createWssConnector(opts) {
|
|
64
84
|
opts.frameReceiveMode = LibWS.EFrameReceiveMode.LITE;
|
|
65
85
|
return new WssConnector(opts);
|
|
66
86
|
}
|
|
67
|
-
exports.createWssConnector = createWssConnector;
|
|
68
87
|
//# sourceMappingURL=WebSocket.Client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.Client.js","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Client.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"WebSocket.Client.js","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Client.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAgGH,8CAIC;AAED,gDAIC;AAxGD,2CAA2C;AAE3C,wCAAwC;AAExC,mEAA+D;AAE/D,MAAM,WAAW;IAEb,YAAoC,KAA8B;;QAA9B,UAAK,GAAL,KAAK,CAAyB;QAC9D,MAAA,IAAI,CAAC,KAAK,EAAC,OAAO,QAAP,OAAO,GAAK,EAAE,EAAC;IAC9B,CAAC;IAEM,UAAU,CAAC,UAAwC,EAAE,SAAkB,IAAI;QAE9E,IAAI,MAAM,EAAE,CAAC;YAET,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,CAAC;aACI,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;QACpC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,OAAO;QAEhB,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;YAC7B,GAAG,IAAI,CAAC,KAAK;YACb,OAAO,EAAE;gBACL,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO;gBACtB,GAAG,KAAK,CAAC,4BAA4B,CAAC;oBAClC,cAAc,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC;iBAC/C,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAErB,OAAO,IAAI,4CAAoB,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;CACJ;AAED,MAAM,YAAY;IAEd,YAAoC,KAA+B;;QAA/B,UAAK,GAAL,KAAK,CAA0B;QAC/D,MAAA,IAAI,CAAC,KAAK,EAAC,OAAO,QAAP,OAAO,GAAK,EAAE,EAAC;IAC9B,CAAC;IAEM,UAAU,CAAC,UAAwC,EAAE,SAAkB,IAAI;QAE9E,IAAI,MAAM,EAAE,CAAC;YAET,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,CAAC;aACI,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;QACpC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,OAAO;QAEhB,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC;YAC9B,GAAG,IAAI,CAAC,KAAK;YACb,OAAO,EAAE;gBACL,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO;gBACtB,GAAG,KAAK,CAAC,4BAA4B,CAAC;oBAClC,cAAc,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC;iBAC/C,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAErB,OAAO,IAAI,4CAAoB,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;CACJ;AAkBD,SAAgB,iBAAiB,CAAC,IAA6B;IAE3D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;IACrD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAA8B;IAE7D,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;IACrD,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -13,8 +13,18 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
import type * as NodeHttp from 'node:http';
|
|
16
17
|
import type * as Listener from '../http-listener';
|
|
17
18
|
import type * as dT from '../Transporter.decl';
|
|
19
|
+
export interface IRegisterListenerOptions {
|
|
20
|
+
onErrorCallback: (e: Error) => void;
|
|
21
|
+
onUpgradeCallback: (req: NodeHttp.IncomingMessage, socket: NodeJS.Socket, head: Buffer) => void;
|
|
22
|
+
}
|
|
23
|
+
export interface IRegisterListenerResult {
|
|
24
|
+
stop?: () => void | Promise<void>;
|
|
25
|
+
start?: () => void | Promise<void>;
|
|
26
|
+
readonly running: boolean;
|
|
27
|
+
}
|
|
18
28
|
export interface IWebSocketGatewayOptions {
|
|
19
29
|
/**
|
|
20
30
|
* The timeout of WebSocket connections.
|
|
@@ -26,10 +36,22 @@ export interface IWebSocketGatewayOptions {
|
|
|
26
36
|
timeout?: number;
|
|
27
37
|
}
|
|
28
38
|
/**
|
|
29
|
-
* Create a WebSocket gateway.
|
|
39
|
+
* Create a WebSocket gateway, binding to a simple built-in HTTP(S) listener.
|
|
40
|
+
*
|
|
41
|
+
* > When using built-in HTTP server, the api will ignore other headers, path and query string in the URL.
|
|
30
42
|
*
|
|
31
43
|
* @param listener The HTTP(S) listener object.
|
|
32
44
|
* @param server The televoke server object.
|
|
33
45
|
*/
|
|
34
46
|
export declare function createWebsocketGateway(listener: Listener.IHttpListener, server: dT.IServer, options?: IWebSocketGatewayOptions): dT.IGateway;
|
|
47
|
+
/**
|
|
48
|
+
* Create a WebSocket gateway, binding to a custom HTTP server.
|
|
49
|
+
*
|
|
50
|
+
* > When using a custom HTTP server, it's able to preprocess the request before passing to the server, like
|
|
51
|
+
* > authentication, rate limiting, custom routing, etc.
|
|
52
|
+
*
|
|
53
|
+
* @param registerListener The function to register the listener to the custom HTTP server.
|
|
54
|
+
* @param server The server to process the requests.
|
|
55
|
+
*/
|
|
56
|
+
export declare function createCustomWebsocketGateway(registerListener: (opts: IRegisterListenerOptions) => IRegisterListenerResult, server: dT.IServer): dT.IGateway;
|
|
35
57
|
//# sourceMappingURL=WebSocket.Server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.Server.d.ts","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"WebSocket.Server.d.ts","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,KAAK,QAAQ,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI/C,MAAM,WAAW,wBAAwB;IAErC,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAEpC,iBAAiB,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnG;AAED,MAAM,WAAW,uBAAuB;IAEpC,IAAI,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC7B;AAyFD,MAAM,WAAW,wBAAwB;IAErC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAChC,MAAM,EAAE,EAAE,CAAC,OAAO,EAClB,OAAO,GAAE,wBAA6B,GACvC,EAAE,CAAC,QAAQ,CAUb;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CACxC,gBAAgB,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,uBAAuB,EAC7E,MAAM,EAAE,EAAE,CAAC,OAAO,GACnB,EAAE,CAAC,QAAQ,CAGb"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.createWebsocketGateway =
|
|
18
|
+
exports.createWebsocketGateway = createWebsocketGateway;
|
|
19
|
+
exports.createCustomWebsocketGateway = createCustomWebsocketGateway;
|
|
19
20
|
const LibWS = require("@litert/websocket");
|
|
20
21
|
const dWS = require("./WebSocket.decl");
|
|
21
22
|
const node_events_1 = require("node:events");
|
|
22
23
|
const WebSocket_Transporter_1 = require("./WebSocket.Transporter");
|
|
23
24
|
class WebSocketGateway extends node_events_1.EventEmitter {
|
|
24
|
-
constructor(
|
|
25
|
+
constructor(registerListener, _server, timeout) {
|
|
25
26
|
super();
|
|
26
|
-
this._listener = _listener;
|
|
27
27
|
this._server = _server;
|
|
28
28
|
this._onUpgrade = (req, socket) => {
|
|
29
29
|
let apn = req.headers[LibWS.H1_HDR_NAME_WS_PROTOCOL];
|
|
@@ -51,9 +51,10 @@ class WebSocketGateway extends node_events_1.EventEmitter {
|
|
|
51
51
|
});
|
|
52
52
|
this._server.registerChannel(new WebSocket_Transporter_1.WebSocketTransporter(dWS.WS_PROTOCOL_NAME, ws));
|
|
53
53
|
};
|
|
54
|
-
this._listener
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
this._listener = registerListener({
|
|
55
|
+
'onErrorCallback': (e) => this.emit('error', e),
|
|
56
|
+
'onUpgradeCallback': this._onUpgrade,
|
|
57
|
+
});
|
|
57
58
|
this._wsServer = LibWS.createServer({
|
|
58
59
|
frameReceiveMode: LibWS.EFrameReceiveMode.LITE,
|
|
59
60
|
timeout,
|
|
@@ -66,23 +67,40 @@ class WebSocketGateway extends node_events_1.EventEmitter {
|
|
|
66
67
|
if (this.running) {
|
|
67
68
|
return;
|
|
68
69
|
}
|
|
69
|
-
await this._listener.start();
|
|
70
|
+
await this._listener.start?.();
|
|
70
71
|
}
|
|
71
72
|
async stop() {
|
|
72
73
|
if (!this.running) {
|
|
73
74
|
return;
|
|
74
75
|
}
|
|
75
|
-
await this._listener.stop();
|
|
76
|
+
await this._listener.stop?.();
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
/**
|
|
79
|
-
* Create a WebSocket gateway.
|
|
80
|
+
* Create a WebSocket gateway, binding to a simple built-in HTTP(S) listener.
|
|
81
|
+
*
|
|
82
|
+
* > When using built-in HTTP server, the api will ignore other headers, path and query string in the URL.
|
|
80
83
|
*
|
|
81
84
|
* @param listener The HTTP(S) listener object.
|
|
82
85
|
* @param server The televoke server object.
|
|
83
86
|
*/
|
|
84
87
|
function createWebsocketGateway(listener, server, options = {}) {
|
|
85
|
-
return new WebSocketGateway(
|
|
88
|
+
return new WebSocketGateway((o) => {
|
|
89
|
+
listener.on('error', o.onErrorCallback);
|
|
90
|
+
listener.setUpgradeProcessor(o.onUpgradeCallback);
|
|
91
|
+
return listener;
|
|
92
|
+
}, server, options.timeout);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create a WebSocket gateway, binding to a custom HTTP server.
|
|
96
|
+
*
|
|
97
|
+
* > When using a custom HTTP server, it's able to preprocess the request before passing to the server, like
|
|
98
|
+
* > authentication, rate limiting, custom routing, etc.
|
|
99
|
+
*
|
|
100
|
+
* @param registerListener The function to register the listener to the custom HTTP server.
|
|
101
|
+
* @param server The server to process the requests.
|
|
102
|
+
*/
|
|
103
|
+
function createCustomWebsocketGateway(registerListener, server) {
|
|
104
|
+
return new WebSocketGateway(registerListener, server);
|
|
86
105
|
}
|
|
87
|
-
exports.createWebsocketGateway = createWebsocketGateway;
|
|
88
106
|
//# sourceMappingURL=WebSocket.Server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.Server.js","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Server.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"WebSocket.Server.js","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright
|
|
2
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
/// <reference types="node" />
|
|
17
|
-
/// <reference types="node" />
|
|
18
16
|
import * as LibWS from '@litert/websocket';
|
|
19
17
|
import * as Shared from '../../shared';
|
|
20
18
|
import type * as dT from '../Transporter.decl';
|
|
@@ -28,7 +26,7 @@ export declare class WebSocketTransporter extends EventEmitter implements dT.ITr
|
|
|
28
26
|
getAllProperties(): Record<string, unknown>;
|
|
29
27
|
getProperty(name: string): unknown;
|
|
30
28
|
get writable(): boolean;
|
|
31
|
-
write(frame:
|
|
32
|
-
end(
|
|
29
|
+
write(frame: Array<string | Buffer>): void;
|
|
30
|
+
end(): void;
|
|
33
31
|
}
|
|
34
32
|
//# sourceMappingURL=WebSocket.Transporter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.Transporter.d.ts","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Transporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG
|
|
1
|
+
{"version":3,"file":"WebSocket.Transporter.d.ts","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Transporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,qBAAa,oBAAqB,SAAQ,YAAa,YAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY;aAG9E,QAAQ,EAAE,MAAM;IAChC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU;gBAD1B,QAAQ,EAAE,MAAM,EACb,KAAK,EAAE,KAAK,CAAC,UAAU;IA4BvC,OAAO,IAAI,IAAI;IAKf,gBAAgB,IAAI,MAAM,EAAE;IAK5B,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAW3C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAczC,IAAW,QAAQ,IAAI,OAAO,CAG7B;IAEM,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI;IAiB1C,GAAG,IAAI,IAAI;CAOrB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -88,16 +88,8 @@ class WebSocketTransporter extends node_events_1.EventEmitter {
|
|
|
88
88
|
throw new Shared.errors.network_error({ reason: 'conn_lost', cause: e });
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
end(
|
|
91
|
+
end() {
|
|
92
92
|
if (this._conn.writable) {
|
|
93
|
-
if (frame) {
|
|
94
|
-
try {
|
|
95
|
-
this._conn.writeBinary(frame);
|
|
96
|
-
}
|
|
97
|
-
catch (e) {
|
|
98
|
-
throw new Shared.errors.network_error({ reason: 'conn_lost', cause: e });
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
93
|
this._conn.end();
|
|
102
94
|
}
|
|
103
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocket.Transporter.js","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Transporter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2CAA2C;AAC3C,uCAAuC;AAEvC,6CAA2C;AAE3C,MAAM,cAAc,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAEvG,MAAa,oBAAqB,SAAQ,0BAAY;IAElD,YACoB,QAAgB,EACb,KAAuB;QAE1C,KAAK,EAAE,CAAC;QAHQ,aAAQ,GAAR,QAAQ,CAAQ;QACb,UAAK,GAAL,KAAK,CAAkB;QAI1C,IAAI,CAAC,KAAK;aACL,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACvC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAErB,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;gBACnB,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM;oBACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAG,KAA8B,CAAC,IAAI,CAAC,CAAC;oBACzD,MAAM;gBACV,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK;oBACpB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACX,MAAM;gBACV,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI;oBACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAE,KAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;oBACrE,MAAM;gBACV;oBACI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;oBACjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;QACL,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;aACzC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEM,OAAO;QAEV,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAEM,gBAAgB;QAEnB,OAAO,cAAc,CAAC;IAC1B,CAAC;IAEM,gBAAgB;QAEnB,OAAO;YACH,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACzC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;YACnC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;YACvC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YACjC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;SAChD,CAAC;IACN,CAAC;IAEM,WAAW,CAAC,IAAY;QAE3B,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,WAAW,CAAC;YACjB,KAAK,cAAc,CAAC;YACpB,KAAK,YAAY,CAAC;YAClB,KAAK,eAAe,CAAC;YACrB,KAAK,iBAAiB;gBAClB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B;gBACI,OAAO,SAAS,CAAC;QACzB,CAAC;IACL,CAAC;IAED,IAAW,QAAQ;QAEf,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"WebSocket.Transporter.js","sourceRoot":"","sources":["../../../src/lib/transporters/websocket/WebSocket.Transporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Copyright
|
|
3
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
4
4
|
*
|
|
5
5
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
6
|
* you may not use this file except in compliance with the License.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import * as NodeWorker from 'node:worker_threads';
|
|
17
|
+
import type * as dT from '../Transporter.decl';
|
|
18
|
+
/**
|
|
19
|
+
* Create a connector to connect to the server running in the main thread.
|
|
20
|
+
*
|
|
21
|
+
* @experimental
|
|
22
|
+
*/
|
|
23
|
+
export declare function connectToMainThreadServer(): dT.IConnector;
|
|
24
|
+
/**
|
|
25
|
+
* Create a connector to connect to the server running in the worker thread.
|
|
26
|
+
*
|
|
27
|
+
* @experimental
|
|
28
|
+
*/
|
|
29
|
+
export declare function connectToWorkerThreadServer(worker: NodeWorker.Worker): dT.IConnector;
|
|
30
|
+
//# sourceMappingURL=WorkerThread.Client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerThread.Client.d.ts","sourceRoot":"","sources":["../../../src/lib/transporters/worker-thread/WorkerThread.Client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AA0C/C;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,EAAE,CAAC,UAAU,CAQzD;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC,UAAU,CAQpF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.connectToMainThreadServer = connectToMainThreadServer;
|
|
19
|
+
exports.connectToWorkerThreadServer = connectToWorkerThreadServer;
|
|
20
|
+
const NodeWorker = require("node:worker_threads");
|
|
21
|
+
const eWT = require("./WorkerThread.Errors");
|
|
22
|
+
const WorkerThread_Constants_1 = require("./WorkerThread.Constants");
|
|
23
|
+
const WorkerThread_Transporter_1 = require("./WorkerThread.Transporter");
|
|
24
|
+
class MainServerConnector {
|
|
25
|
+
constructor() {
|
|
26
|
+
this._transporter = null;
|
|
27
|
+
}
|
|
28
|
+
async connect() {
|
|
29
|
+
return Promise.resolve(this._transporter ?? (this._transporter = new WorkerThread_Transporter_1.WorkerThreadTransporter(WorkerThread_Constants_1.MAIN_THREAD_PROTOCOL_NAME)));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
class WorkerServerConnector {
|
|
33
|
+
constructor(worker) {
|
|
34
|
+
this._worker = null;
|
|
35
|
+
this._transporter = null;
|
|
36
|
+
this._worker = worker
|
|
37
|
+
.on('exit', () => { this._worker = null; });
|
|
38
|
+
}
|
|
39
|
+
async connect() {
|
|
40
|
+
if (!this._worker) {
|
|
41
|
+
throw new eWT.E_WORKER_THREAD_OFFLINE();
|
|
42
|
+
}
|
|
43
|
+
this._transporter ?? (this._transporter = new WorkerThread_Transporter_1.MainThreadTransporter(WorkerThread_Constants_1.MAIN_THREAD_PROTOCOL_NAME, this._worker));
|
|
44
|
+
return Promise.resolve(this._transporter);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
let inst = null;
|
|
48
|
+
/**
|
|
49
|
+
* Create a connector to connect to the server running in the main thread.
|
|
50
|
+
*
|
|
51
|
+
* @experimental
|
|
52
|
+
*/
|
|
53
|
+
function connectToMainThreadServer() {
|
|
54
|
+
if (NodeWorker.isMainThread) {
|
|
55
|
+
throw new eWT.E_WORKER_THREAD_ONLY();
|
|
56
|
+
}
|
|
57
|
+
return inst ?? (inst = new MainServerConnector());
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create a connector to connect to the server running in the worker thread.
|
|
61
|
+
*
|
|
62
|
+
* @experimental
|
|
63
|
+
*/
|
|
64
|
+
function connectToWorkerThreadServer(worker) {
|
|
65
|
+
if (!NodeWorker.isMainThread) {
|
|
66
|
+
throw new eWT.E_MAIN_THREAD_ONLY();
|
|
67
|
+
}
|
|
68
|
+
return new WorkerServerConnector(worker);
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=WorkerThread.Client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerThread.Client.js","sourceRoot":"","sources":["../../../src/lib/transporters/worker-thread/WorkerThread.Client.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAkDH,8DAQC;AAOD,kEAQC;AAvED,kDAAkD;AAElD,6CAA6C;AAC7C,qEAAqE;AACrE,yEAA4F;AAE5F,MAAM,mBAAmB;IAAzB;QAEY,iBAAY,GAA2B,IAAI,CAAC;IAMxD,CAAC;IAJU,KAAK,CAAC,OAAO;QAEhB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,KAAjB,IAAI,CAAC,YAAY,GAAK,IAAI,kDAAuB,CAAC,kDAAyB,CAAC,EAAC,CAAC;IACzG,CAAC;CACJ;AAED,MAAM,qBAAqB;IAIvB,YAAmB,MAAyB;QAFpC,YAAO,GAA6B,IAAI,CAAC;QAQzC,iBAAY,GAA2B,IAAI,CAAC;QAJhD,IAAI,CAAC,OAAO,GAAG,MAAM;aAChB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAIM,KAAK,CAAC,OAAO;QAEhB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAEhB,MAAM,IAAI,GAAG,CAAC,uBAAuB,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,YAAY,KAAjB,IAAI,CAAC,YAAY,GAAK,IAAI,gDAAqB,CAAC,kDAAyB,EAAE,IAAI,CAAC,OAAO,CAAC,EAAC;QAEzF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;CACJ;AAED,IAAI,IAAI,GAA+B,IAAI,CAAC;AAE5C;;;;GAIG;AACH,SAAgB,yBAAyB;IAErC,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;QAE1B,MAAM,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;IACzC,CAAC;IAED,OAAO,IAAI,KAAJ,IAAI,GAAK,IAAI,mBAAmB,EAAE,EAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAgB,2BAA2B,CAAC,MAAyB;IAEjE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export declare const MAIN_THREAD_PROTOCOL_NAME = "worker_thread/main";
|
|
17
|
+
export declare const WORKER_THREAD_PROTOCOL_NAME = "worker_thread/worker";
|
|
18
|
+
//# sourceMappingURL=WorkerThread.Constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerThread.Constants.d.ts","sourceRoot":"","sources":["../../../src/lib/transporters/worker-thread/WorkerThread.Constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,eAAO,MAAM,2BAA2B,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.WORKER_THREAD_PROTOCOL_NAME = exports.MAIN_THREAD_PROTOCOL_NAME = void 0;
|
|
19
|
+
exports.MAIN_THREAD_PROTOCOL_NAME = 'worker_thread/main';
|
|
20
|
+
exports.WORKER_THREAD_PROTOCOL_NAME = 'worker_thread/worker';
|
|
21
|
+
//# sourceMappingURL=WorkerThread.Constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerThread.Constants.js","sourceRoot":"","sources":["../../../src/lib/transporters/worker-thread/WorkerThread.Constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEU,QAAA,yBAAyB,GAAG,oBAAoB,CAAC;AAEjD,QAAA,2BAA2B,GAAG,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export declare const E_WORKER_THREAD_OFFLINE: {
|
|
17
|
+
new (origin?: unknown): {
|
|
18
|
+
readonly origin: unknown;
|
|
19
|
+
name: string;
|
|
20
|
+
message: string;
|
|
21
|
+
stack?: string;
|
|
22
|
+
};
|
|
23
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
24
|
+
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
25
|
+
stackTraceLimit: number;
|
|
26
|
+
};
|
|
27
|
+
export declare const E_MAIN_THREAD_ONLY: {
|
|
28
|
+
new (origin?: unknown): {
|
|
29
|
+
readonly origin: unknown;
|
|
30
|
+
name: string;
|
|
31
|
+
message: string;
|
|
32
|
+
stack?: string;
|
|
33
|
+
};
|
|
34
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
35
|
+
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
36
|
+
stackTraceLimit: number;
|
|
37
|
+
};
|
|
38
|
+
export declare const E_WORKER_THREAD_ONLY: {
|
|
39
|
+
new (origin?: unknown): {
|
|
40
|
+
readonly origin: unknown;
|
|
41
|
+
name: string;
|
|
42
|
+
message: string;
|
|
43
|
+
stack?: string;
|
|
44
|
+
};
|
|
45
|
+
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
46
|
+
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
47
|
+
stackTraceLimit: number;
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=WorkerThread.Errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerThread.Errors.d.ts","sourceRoot":"","sources":["../../../src/lib/transporters/worker-thread/WorkerThread.Errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,eAAO,MAAM,uBAAuB;kBAEL,OAAO;;;;;;;mDAiCmwI,OAAQ,QAAQ;;CAzBxzI,CAAC;AAEF,eAAO,MAAM,kBAAkB;kBAEA,OAAO;;;;;;;mDAqBmwI,OAAQ,QAAQ;;CAbxzI,CAAC;AAEF,eAAO,MAAM,oBAAoB;kBAEF,OAAO;;;;;;;mDASmwI,OAAQ,QAAQ;;CADxzI,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.E_WORKER_THREAD_ONLY = exports.E_MAIN_THREAD_ONLY = exports.E_WORKER_THREAD_OFFLINE = void 0;
|
|
19
|
+
const shared_1 = require("../../shared");
|
|
20
|
+
const E_WORKER_THREAD_OFFLINE = class extends shared_1.TelevokeError {
|
|
21
|
+
constructor(origin = null) {
|
|
22
|
+
super('worker_thread_offline', 'The worker thread is offline.', origin);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.E_WORKER_THREAD_OFFLINE = E_WORKER_THREAD_OFFLINE;
|
|
26
|
+
const E_MAIN_THREAD_ONLY = class extends shared_1.TelevokeError {
|
|
27
|
+
constructor(origin = null) {
|
|
28
|
+
super('main_thread_only', 'The operation is only allowed in the main thread.', origin);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.E_MAIN_THREAD_ONLY = E_MAIN_THREAD_ONLY;
|
|
32
|
+
const E_WORKER_THREAD_ONLY = class extends shared_1.TelevokeError {
|
|
33
|
+
constructor(origin = null) {
|
|
34
|
+
super('worker_thread_only', 'The operation is only allowed in a worker thread.', origin);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
exports.E_WORKER_THREAD_ONLY = E_WORKER_THREAD_ONLY;
|
|
38
|
+
//# sourceMappingURL=WorkerThread.Errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerThread.Errors.js","sourceRoot":"","sources":["../../../src/lib/transporters/worker-thread/WorkerThread.Errors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yCAA6C;AAEtC,MAAM,uBAAuB,GAAG,KAAM,SAAQ,sBAAa;IAE9D,YAAmB,SAAkB,IAAI;QAErC,KAAK,CACD,uBAAuB,EACvB,+BAA+B,EAC/B,MAAM,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAVW,QAAA,uBAAuB,2BAUlC;AAEK,MAAM,kBAAkB,GAAG,KAAM,SAAQ,sBAAa;IAEzD,YAAmB,SAAkB,IAAI;QAErC,KAAK,CACD,kBAAkB,EAClB,mDAAmD,EACnD,MAAM,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAVW,QAAA,kBAAkB,sBAU7B;AAEK,MAAM,oBAAoB,GAAG,KAAM,SAAQ,sBAAa;IAE3D,YAAmB,SAAkB,IAAI;QAErC,KAAK,CACD,oBAAoB,EACpB,mDAAmD,EACnD,MAAM,CACT,CAAC;IACN,CAAC;CACJ,CAAC;AAVW,QAAA,oBAAoB,wBAU/B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2025 Angus.Fenying <fenying@litert.org>
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import * as NodeWorker from 'node:worker_threads';
|
|
17
|
+
import type * as dT from '../Transporter.decl';
|
|
18
|
+
export interface IMainThreadGateway extends dT.IGateway {
|
|
19
|
+
/**
|
|
20
|
+
* Add a worker thread to the gateway, so that the gateway can communicate with it.
|
|
21
|
+
*
|
|
22
|
+
* > The worker thread must be online already.
|
|
23
|
+
*
|
|
24
|
+
* @param worker The worker instance on the main thread.
|
|
25
|
+
*/
|
|
26
|
+
registerWorker(worker: NodeWorker.Worker): void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Create a gateway that runs in the main thread.
|
|
30
|
+
*
|
|
31
|
+
* @param server The server instance.
|
|
32
|
+
* @experimental
|
|
33
|
+
*/
|
|
34
|
+
export declare function createMainThreadGateway(server: dT.IServer): IMainThreadGateway;
|
|
35
|
+
/**
|
|
36
|
+
* Create a gateway that runs in the worker thread.
|
|
37
|
+
*
|
|
38
|
+
* @param server The server instance.
|
|
39
|
+
* @experimental
|
|
40
|
+
*/
|
|
41
|
+
export declare function createWorkerThreadGateway(server: dT.IServer): dT.IGateway;
|
|
42
|
+
//# sourceMappingURL=WorkerThread.Server.d.ts.map
|