@spider-mesh/ws 1.0.130 → 1.0.131

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.
@@ -1,5 +1,4 @@
1
1
  import { PublishMetadata, Encodable, SpiderMeshTransporter, SpiderMeshTransporterEvent, SpiderMeshTransporterEventMetadata, TcpNodeStatus } from '@spider-mesh/core';
2
- import { Observable } from 'rxjs';
3
2
  import { Subject } from 'rxjs/internal/Subject';
4
3
  export declare class SpiderMeshWebsocketTransporter implements SpiderMeshTransporter {
5
4
  #private;
@@ -7,6 +6,6 @@ export declare class SpiderMeshWebsocketTransporter implements SpiderMeshTranspo
7
6
  $nodes_status: Subject<TcpNodeStatus>;
8
7
  constructor();
9
8
  destroy(): void;
10
- listen<T extends Encodable, Metadata extends SpiderMeshTransporterEventMetadata>(topic: string): Observable<SpiderMeshTransporterEvent<T, Metadata>>;
9
+ listen<T extends Encodable, Metadata extends SpiderMeshTransporterEventMetadata>(topic: string): import("rxjs").Observable<SpiderMeshTransporterEvent<T, Metadata>>;
11
10
  publish<T extends Encodable, Metadata extends SpiderMeshTransporterEventMetadata>(payload: PublishMetadata<T, Metadata>): Promise<void>;
12
11
  }
@@ -1,3 +1,4 @@
1
+ import { SpiderMesh } from '@spider-mesh/core';
1
2
  import { finalize, map } from 'rxjs';
2
3
  import { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';
3
4
  import { firstValueFrom } from 'rxjs/internal/firstValueFrom';
@@ -29,12 +30,12 @@ export class SpiderMeshWebsocketTransporter {
29
30
  this.#start_client();
30
31
  this.#start_server();
31
32
  this.#sync_peers();
33
+ SpiderMesh.$transporters.next(this);
32
34
  }
33
35
  destroy() {
34
36
  this.#$is_stoped.next(true);
35
37
  }
36
38
  async #start_client() {
37
- console.log({ SPIDER_MESH_WEBSOCKET_SERVERS });
38
39
  SPIDER_MESH_WEBSOCKET_SERVERS && of(1).pipe(takeUntil(this.#$is_stoped.pipe(filter(stop => stop))), map(() => SPIDER_MESH_WEBSOCKET_SERVERS.split(',')), mergeAll(), map(url => url.trim()), mergeMap(url => of(1).pipe(mergeMap(async () => {
39
40
  const ws = new WebSocket(url);
40
41
  const error = await firstValueFrom(merge(fromEvent(ws, 'error').pipe(map(e => e)), fromEvent(ws, 'open').pipe(map(() => null))));
@@ -43,7 +44,7 @@ export class SpiderMeshWebsocketTransporter {
43
44
  await firstValueFrom(timer(1000));
44
45
  throw error;
45
46
  }
46
- console.log(`Connected to ${url}`);
47
+ console.info(`Connected to ${url}`);
47
48
  this.#say_hello(ws);
48
49
  const error2 = await firstValueFrom(merge(fromEvent(ws, 'close'), fromEvent(ws, 'error'), fromEvent(ws, 'message').pipe(map(e => e), tap(e => this.#on_message(ws, e)), filter(() => false))));
49
50
  ws.close();
@@ -52,7 +53,6 @@ export class SpiderMeshWebsocketTransporter {
52
53
  }), retry()))).subscribe();
53
54
  }
54
55
  async #start_server() {
55
- console.log({ SPIDER_MESH_WEBSOCKET_SERVER_PORT });
56
56
  if (!SPIDER_MESH_WEBSOCKET_SERVER_PORT)
57
57
  return;
58
58
  const port = Number(SPIDER_MESH_WEBSOCKET_SERVER_PORT);
@@ -68,10 +68,11 @@ export class SpiderMeshWebsocketTransporter {
68
68
  const msg = Encoder.decode(e.data);
69
69
  if (!msg)
70
70
  return;
71
- if (msg.event == '#hello')
72
- return this.#sync_peer(ws, msg.data);
73
- const map = this.#listening_topics.get(msg.event);
74
- map?.forEach(subject => subject.next(msg.data));
71
+ msg.received_at = Date.now();
72
+ if (msg.topic == '#hello')
73
+ return this.#sync_peer(ws, msg.payload);
74
+ const map = this.#listening_topics.get(msg.topic);
75
+ map?.forEach(subject => subject.next(msg));
75
76
  }
76
77
  #sync_peer(ws, info) {
77
78
  const is_new_peer = !this.#nodes.has(info.transporter_id);
@@ -98,12 +99,20 @@ export class SpiderMeshWebsocketTransporter {
98
99
  }
99
100
  #say_hello(ws) {
100
101
  const hello = {
101
- listening: ['#hello', ...this.#listening_topics.keys()],
102
- peers: [],
103
- transporter_id: this.transporter_id,
104
- version: this.#$version.value
102
+ created_at: Date.now(),
103
+ id: v4(),
104
+ metadata: {},
105
+ payload: {
106
+ listening: ['#hello', ...this.#listening_topics.keys()],
107
+ peers: [],
108
+ transporter_id: this.transporter_id,
109
+ version: this.#$version.value
110
+ },
111
+ received_at: 0,
112
+ sti: this.transporter_id,
113
+ topic: '#hello'
105
114
  };
106
- ws.send(Encoder.encode({ event: '#hello', data: hello }));
115
+ ws.send(Encoder.encode(hello));
107
116
  }
108
117
  listen(topic) {
109
118
  const id = v4();
@@ -115,10 +124,19 @@ export class SpiderMeshWebsocketTransporter {
115
124
  return subject.pipe(finalize(() => this.#listening_topics.get(topic)?.delete(id)));
116
125
  }
117
126
  async publish(payload) {
127
+ const p = {
128
+ created_at: Date.now(),
129
+ id: v4(),
130
+ metadata: payload.metadata,
131
+ payload: payload.payload,
132
+ received_at: Date.now(),
133
+ sti: this.transporter_id,
134
+ topic: payload.event
135
+ };
118
136
  const node_ids = this.#remote_topics.get(payload.event);
119
137
  if (!node_ids)
120
138
  return;
121
- await lastValueFrom(from(node_ids).pipe(map(node_id => this.#nodes.get(node_id)), filter(Boolean), map(node => node.ws.send(Encoder.encode(payload)))));
139
+ await lastValueFrom(from(node_ids).pipe(map(node_id => this.#nodes.get(node_id)), filter(Boolean), map(node => node.ws.send(Encoder.encode(p)))));
122
140
  }
123
141
  }
124
142
  //# sourceMappingURL=SpiderMeshWebsocketTransporter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpiderMeshWebsocketTransporter.js","sourceRoot":"","sources":["../../src/SpiderMeshWebsocketTransporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpiderMeshWebsocketTransporter.js","sourceRoot":"","sources":["../../src/SpiderMeshWebsocketTransporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ import { SpiderMesh } from "@spider-mesh/core";
2
+ import { SpiderMeshWebsocketTransporter } from "../src/SpiderMeshWebsocketTransporter.js";
3
+ import { A } from "./serviceA.js";
4
+ const sm = new SpiderMesh();
5
+ const tspt = new SpiderMeshWebsocketTransporter();
6
+ sm.$nodes_monitor.subscribe(console.log);
7
+ new A();
8
+ //# sourceMappingURL=a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a.js","sourceRoot":"","sources":["../../tests/a.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAKlC,MAAM,EAAE,GAAG,IAAI,UAAU,EAAE,CAAA;AAC3B,MAAM,IAAI,GAAG,IAAI,8BAA8B,EAAE,CAAA;AACjD,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AACxC,IAAI,CAAC,EAAE,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { SpiderMesh } from "@spider-mesh/core";
2
+ import { SpiderMeshWebsocketTransporter } from "../src/SpiderMeshWebsocketTransporter.js";
3
+ import { A } from "./serviceA.js";
4
+ const sm = new SpiderMesh();
5
+ new SpiderMeshWebsocketTransporter();
6
+ const a = await sm.link_remote_service(A);
7
+ console.log({ a });
8
+ await a.$wait_service_online();
9
+ console.log('Service online');
10
+ const result = await a.sum(1, 2);
11
+ console.log({ result });
12
+ //# sourceMappingURL=b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"b.js","sourceRoot":"","sources":["../../tests/b.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAIlC,MAAM,EAAE,GAAG,IAAI,UAAU,EAAE,CAAA;AAC3B,IAAI,8BAA8B,EAAE,CAAA;AACpC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;AACzC,OAAO,CAAC,GAAG,CAAC,EAAC,CAAC,EAAC,CAAC,CAAA;AAChB,MAAM,CAAC,CAAC,oBAAoB,EAAE,CAAA;AAC9B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAChC,OAAO,CAAC,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare class A {
2
+ sum(a: number, b: number): number;
3
+ }
@@ -0,0 +1,12 @@
1
+ import { __decorate } from "tslib";
2
+ import { Microservice } from "@spider-mesh/core";
3
+ let A = class A {
4
+ sum(a, b) {
5
+ return a + b;
6
+ }
7
+ };
8
+ A = __decorate([
9
+ Microservice()
10
+ ], A);
11
+ export { A };
12
+ //# sourceMappingURL=serviceA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serviceA.js","sourceRoot":"","sources":["../../tests/serviceA.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG1C,IAAM,CAAC,GAAP,MAAM,CAAC;IACV,GAAG,CAAC,CAAS,EAAE,CAAS;QACpB,OAAO,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;CACJ,CAAA;AAJY,CAAC;IADb,YAAY,EAAE;GACF,CAAC,CAIb"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@spider-mesh/ws",
3
3
  "type": "module",
4
- "version": "1.0.130",
4
+ "version": "1.0.131",
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",