@spider-mesh/ws 1.0.135 → 1.0.137
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.
|
@@ -4,7 +4,10 @@ export declare class SpiderMeshWebsocketTransporter implements SpiderMeshTranspo
|
|
|
4
4
|
#private;
|
|
5
5
|
readonly transporter_id: string;
|
|
6
6
|
$nodes_status: Subject<TcpNodeStatus>;
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(options?: Partial<{
|
|
8
|
+
urls: string;
|
|
9
|
+
port: number;
|
|
10
|
+
}>);
|
|
8
11
|
destroy(): void;
|
|
9
12
|
listen<T extends Encodable, Metadata extends SpiderMeshTransporterEventMetadata>(topic: string): import("rxjs").Observable<SpiderMeshTransporterEvent<T, Metadata>>;
|
|
10
13
|
publish<T extends Encodable, Metadata extends SpiderMeshTransporterEventMetadata>(payload: PublishMetadata<T, Metadata>): Promise<void>;
|
|
@@ -12,20 +12,17 @@ export class SpiderMeshWebsocketTransporter {
|
|
|
12
12
|
#$is_stoped = new BehaviorSubject(false);
|
|
13
13
|
#nodes = new Map;
|
|
14
14
|
#$version = new BehaviorSubject(1);
|
|
15
|
-
constructor() {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
19
|
-
this.#start_client();
|
|
20
|
-
this.#start_server();
|
|
15
|
+
constructor(options = {}) {
|
|
16
|
+
this.#start_client(options.urls || SPIDER_MESH_WEBSOCKET_SERVERS);
|
|
17
|
+
this.#start_server(options.port || SPIDER_MESH_WEBSOCKET_SERVER_PORT);
|
|
21
18
|
this.#sync_peers();
|
|
22
19
|
SpiderMesh.$transporters.next(this);
|
|
23
20
|
}
|
|
24
21
|
destroy() {
|
|
25
22
|
this.#$is_stoped.next(true);
|
|
26
23
|
}
|
|
27
|
-
async #start_client() {
|
|
28
|
-
|
|
24
|
+
async #start_client(urls) {
|
|
25
|
+
urls && of(urls).pipe(takeUntil(this.#$is_stoped.pipe(filter(stop => stop))), map(urls => urls.split(',')), mergeAll(), map(url => url.trim()), mergeMap(url => of(1).pipe(mergeMap(async () => {
|
|
29
26
|
const ws = new WebSocket(url);
|
|
30
27
|
const error = await firstValueFrom(merge(fromEvent(ws, 'error').pipe(map(e => e)), fromEvent(ws, 'open').pipe(map(() => null))));
|
|
31
28
|
if (error) {
|
|
@@ -41,11 +38,10 @@ export class SpiderMeshWebsocketTransporter {
|
|
|
41
38
|
throw error2;
|
|
42
39
|
}), retry()))).subscribe();
|
|
43
40
|
}
|
|
44
|
-
async #start_server() {
|
|
45
|
-
if (!
|
|
41
|
+
async #start_server(port) {
|
|
42
|
+
if (!port)
|
|
46
43
|
return;
|
|
47
|
-
const
|
|
48
|
-
const wss = new WebSocketServer({ port });
|
|
44
|
+
const wss = new WebSocketServer({ port: Number(SPIDER_MESH_WEBSOCKET_SERVER_PORT) });
|
|
49
45
|
wss.on('connection', (connetion) => {
|
|
50
46
|
connetion.addEventListener('message', e => this.#on_message(connetion, e));
|
|
51
47
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpiderMeshWebsocketTransporter.js","sourceRoot":"","sources":["../../src/SpiderMeshWebsocketTransporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoI,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACrM,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAClH,OAAO,EACH,QAAQ,EAAE,GAAG,EACb,MAAM,EACN,GAAG,EACH,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,YAAY,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAE/C,MAAM,6BAA6B,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAA;AAC/E,MAAM,iCAAiC,GAAG,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAA;AAcvF,MAAM,OAAO,8BAA8B;IAE9B,cAAc,GAAW,UAAU,EAAE,CAAA;IAC9C,aAAa,GAAG,IAAI,OAAsB,CAAC;IAE3C,iBAAiB,GAAG,IAAI,GAAG,EAA4D,CAAA;IACvF,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC/C,WAAW,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAA;IACjD,MAAM,GAAG,IAAI,GAAwC,CAAA;IACrD,SAAS,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC,CAAA;IAG1C;
|
|
1
|
+
{"version":3,"file":"SpiderMeshWebsocketTransporter.js","sourceRoot":"","sources":["../../src/SpiderMeshWebsocketTransporter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spider-mesh/ws",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.137",
|
|
5
5
|
"description": "Lightweight microservice framework for typescript, auto discovery, load-balancing, fault-torrent, multiple transporters",
|
|
6
6
|
"main": "./build/src/index.js",
|
|
7
7
|
"types": "./build/src/index.d.ts",
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"yarn.lock"
|
|
15
15
|
],
|
|
16
16
|
"devDependencies": {
|
|
17
|
+
"@spider-mesh/core": "^1.0.137",
|
|
17
18
|
"@types/uuid": "^10.0.0",
|
|
18
19
|
"@types/ws": "^8.5.12",
|
|
19
20
|
"@types/node": "^18.16.0",
|
|
@@ -35,7 +36,6 @@
|
|
|
35
36
|
"author": "Duong Van Ba",
|
|
36
37
|
"license": "ISC",
|
|
37
38
|
"dependencies": {
|
|
38
|
-
"@spider-mesh/core": "^1.0.135",
|
|
39
39
|
"frame-stream": "^4.0.0",
|
|
40
40
|
"rxjs": "^7.8.1",
|
|
41
41
|
"uuid": "^10.0.0",
|