@welshman/net 0.0.41 → 0.0.43

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.
Files changed (58) hide show
  1. package/README.md +57 -18
  2. package/build/src/Connection.cjs +17 -11
  3. package/build/src/Connection.cjs.map +1 -1
  4. package/build/src/Connection.d.ts +5 -4
  5. package/build/src/Connection.mjs +17 -11
  6. package/build/src/Connection.mjs.map +1 -1
  7. package/build/src/ConnectionSender.cjs +10 -10
  8. package/build/src/ConnectionSender.cjs.map +1 -1
  9. package/build/src/ConnectionSender.d.ts +0 -1
  10. package/build/src/ConnectionSender.mjs +10 -10
  11. package/build/src/ConnectionSender.mjs.map +1 -1
  12. package/build/src/ConnectionState.cjs +19 -3
  13. package/build/src/ConnectionState.cjs.map +1 -1
  14. package/build/src/ConnectionState.mjs +19 -3
  15. package/build/src/ConnectionState.mjs.map +1 -1
  16. package/build/src/Executor.cjs +2 -2
  17. package/build/src/Executor.cjs.map +1 -1
  18. package/build/src/Executor.d.ts +1 -1
  19. package/build/src/Executor.mjs +3 -3
  20. package/build/src/Executor.mjs.map +1 -1
  21. package/build/src/Pool.cjs +1 -1
  22. package/build/src/Pool.cjs.map +1 -1
  23. package/build/src/Pool.mjs +1 -1
  24. package/build/src/Pool.mjs.map +1 -1
  25. package/build/src/Socket.cjs +1 -1
  26. package/build/src/Socket.cjs.map +1 -1
  27. package/build/src/Socket.mjs +1 -1
  28. package/build/src/Socket.mjs.map +1 -1
  29. package/build/src/Subscribe.cjs +54 -54
  30. package/build/src/Subscribe.cjs.map +1 -1
  31. package/build/src/Subscribe.mjs +54 -54
  32. package/build/src/Subscribe.mjs.map +1 -1
  33. package/build/src/target/Echo.cjs +1 -1
  34. package/build/src/target/Echo.cjs.map +1 -1
  35. package/build/src/target/Echo.d.ts +1 -1
  36. package/build/src/target/Echo.mjs +1 -1
  37. package/build/src/target/Echo.mjs.map +1 -1
  38. package/build/src/target/Local.cjs +2 -2
  39. package/build/src/target/Local.cjs.map +1 -1
  40. package/build/src/target/Local.d.ts +1 -1
  41. package/build/src/target/Local.mjs +2 -2
  42. package/build/src/target/Local.mjs.map +1 -1
  43. package/build/src/target/Multi.cjs +2 -2
  44. package/build/src/target/Multi.cjs.map +1 -1
  45. package/build/src/target/Multi.d.ts +1 -1
  46. package/build/src/target/Multi.mjs +2 -2
  47. package/build/src/target/Multi.mjs.map +1 -1
  48. package/build/src/target/Relay.cjs +2 -2
  49. package/build/src/target/Relay.cjs.map +1 -1
  50. package/build/src/target/Relay.d.ts +1 -1
  51. package/build/src/target/Relay.mjs +2 -2
  52. package/build/src/target/Relay.mjs.map +1 -1
  53. package/build/src/target/Relays.cjs +3 -5
  54. package/build/src/target/Relays.cjs.map +1 -1
  55. package/build/src/target/Relays.d.ts +1 -1
  56. package/build/src/target/Relays.mjs +3 -5
  57. package/build/src/target/Relays.mjs.map +1 -1
  58. package/package.json +3 -3
package/README.md CHANGED
@@ -2,21 +2,60 @@
2
2
 
3
3
  Utilities having to do with connection management and nostr messages.
4
4
 
5
- - `Connection` - the main api for dealing with relay connections
6
- - `ConnectionAuth` - tracks auth status for a connection
7
- - `ConnectionSender` - a send queue for connections
8
- - `ConnectionState` - tracks pending publishes and requests for a connection
9
- - `ConnectionStats` - tracks timing and error stats for a connection
10
- - `Context` - provides default values for configuring `ctx.net`
11
- - `Executor` - implements common nostr flows on a given `target`
12
- - `Pool` - a thin wrapper around `Map` which stores `Connection`s
13
- - `Publish` - utilities for publishing events
14
- - `Socket` - a wrapper around isomorphic-ws that handles json parsing/serialization
15
- - `Subscribe` - utilities for making requests against nostr relays
16
- - `Tracker` - tracks which relays a given event was seen on
17
-
18
- Executor `target`s extend `Emitter`, and have a `send` method, a `cleanup` method, and a `connections` getter. They are intended to be passed to an `Executor` for use.
19
-
20
- - `targets/Multi` allows you to compose multiple targets together.
21
- - `targets/Relay` takes a `Connection` and provides listeners for different verbs.
22
- - `targets/Relays` takes an array of `Connection`s and provides listeners for different verbs, merging all events into a single stream.
5
+ ```typescript
6
+ import {ctx, setContext} from '@welshman/lib'
7
+ import {type TrustedEvent, createEvent, NOTE} from '@welshman/util'
8
+ import {subscribe, publish, getDefaultNetContext} from '@welshman/net'
9
+
10
+ // Sets up customizable event valdation, handlers, etc
11
+ setContext(getDefaultNetContext())
12
+
13
+ // Send a subscription
14
+ const sub = subscribe({
15
+ relays: ['wss://relay.example.com/'],
16
+ filters: [{kinds: [1], limit: 1}],
17
+ closeOnEose: true,
18
+ timeout: 10000,
19
+ })
20
+
21
+ sub.emitter.on(SubscriptionEvent.Event, (url: string, event: TrustedEvent) => {
22
+ console.log(url, event)
23
+ sub.close()
24
+ })
25
+
26
+ // Publish an event
27
+ const pub = publish({
28
+ relays: ['wss://relay.example.com/'],
29
+ event: createEvent(NOTE, {content: 'hi'}),
30
+ })
31
+
32
+ pub.emitter.on('*', (status: PublishStatus, url: string) => {
33
+ console.log(status, url)
34
+ })
35
+
36
+ // The Tracker class can tell you which relays an event was read from or published to
37
+ console.log(ctx.net.tracker.getRelays(event.id))
38
+ ```
39
+
40
+ The main reason this module exists is to support different backends via Executor and different `target` classes. For example, to add a local relay that automatically gets used:
41
+
42
+ ```typescript
43
+ import {setContext} from '@welshman/lib'
44
+ import {LOCAL_RELAY_URL, Relay, Repository} from '@welshman/util'
45
+ import {getDefaultNetContext, Multi, Local, Relays, Executor} from '@welshman/net'
46
+
47
+ const repository = new Repository()
48
+
49
+ const relay = new Relay(repository)
50
+
51
+ setContext(getDefaultNetContext({
52
+ getExecutor: (relays: string[]) => {
53
+ return new Executor(
54
+ new Multi([
55
+ new Local(relay),
56
+ new Relays(remoteUrls.map(url => ctx.net.pool.get(url))),
57
+ ])
58
+ )
59
+ },
60
+ }))
61
+ ```
@@ -10,27 +10,33 @@ const ConnectionAuth_1 = require("./ConnectionAuth.cjs");
10
10
  const ConnectionSender_1 = require("./ConnectionSender.cjs");
11
11
  var ConnectionStatus;
12
12
  (function (ConnectionStatus) {
13
- ConnectionStatus["Ready"] = "ready";
13
+ ConnectionStatus["Open"] = "open";
14
14
  ConnectionStatus["Closed"] = "Closed";
15
- ConnectionStatus["Closing"] = "Closing";
16
15
  })(ConnectionStatus || (exports.ConnectionStatus = ConnectionStatus = {}));
17
- const { Ready, Closed, Closing } = ConnectionStatus;
16
+ const { Open, Closed } = ConnectionStatus;
18
17
  class Connection extends lib_1.Emitter {
19
18
  constructor(url) {
20
19
  super();
21
- this.status = Ready;
20
+ this.status = Open;
22
21
  this.emit = (type, ...args) => super.emit(type, this, ...args);
23
22
  this.send = async (message) => {
24
- await this.socket.open();
25
- if (this.status === Ready) {
26
- this.sender.push(message);
23
+ if (this.status !== Open) {
24
+ throw new Error(`Attempted to send message on ${this.status} connection`);
27
25
  }
26
+ this.sender.push(message);
28
27
  };
29
- this.close = async () => {
30
- this.status = Closing;
31
- await this.sender.close();
32
- await this.socket.close();
28
+ this.open = () => {
29
+ this.status = Open;
30
+ this.socket.open();
31
+ this.sender.worker.resume();
32
+ };
33
+ this.close = () => {
33
34
  this.status = Closed;
35
+ this.socket.close();
36
+ this.sender.worker.pause();
37
+ };
38
+ this.cleanup = () => {
39
+ this.close();
34
40
  this.removeAllListeners();
35
41
  };
36
42
  if (url !== (0, util_1.normalizeRelayUrl)(url)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Connection.cjs","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AACrC,yCAAgD;AAChD,yCAA+B;AAG/B,2DAAiD;AACjD,2DAAiD;AACjD,yDAA+C;AAC/C,6DAAmD;AAEnD,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;AACrB,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B;AAED,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,GAAG,gBAAgB,CAAA;AAEjD,MAAa,UAAW,SAAQ,aAAO;IASrC,YAAY,GAAW;QACrB,KAAK,EAAE,CAAA;QAHT,WAAM,GAAG,KAAK,CAAA;QAkBd,SAAI,GAAG,CAAC,IAAqB,EAAE,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QAEjF,SAAI,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;YAChC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAExB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAED,UAAK,GAAG,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;YAErB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YAEzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC3B,CAAC,CAAA;QA/BC,IAAI,GAAG,KAAK,IAAA,wBAAiB,EAAC,GAAG,CAAC,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,sDAAsD,GAAG,EAAE,CAAC,CAAA;SAC1E;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;CAqBF;AA5CD,gCA4CC"}
1
+ {"version":3,"file":"Connection.cjs","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AACrC,yCAAgD;AAChD,yCAA+B;AAG/B,2DAAiD;AACjD,2DAAiD;AACjD,yDAA+C;AAC/C,6DAAmD;AAEnD,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,qCAAiB,CAAA;AACnB,CAAC,EAHW,gBAAgB,gCAAhB,gBAAgB,QAG3B;AAED,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,gBAAgB,CAAA;AAEvC,MAAa,UAAW,SAAQ,aAAO;IASrC,YAAY,GAAW;QACrB,KAAK,EAAE,CAAA;QAHT,WAAM,GAAG,IAAI,CAAA;QAkBb,SAAI,GAAG,CAAC,IAAqB,EAAE,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QAEjF,SAAI,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,aAAa,CAAC,CAAA;aAC1E;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC,CAAA;QAED,SAAI,GAAG,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QAC7B,CAAC,CAAA;QAED,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC,CAAA;QAED,YAAO,GAAG,GAAG,EAAE;YACb,IAAI,CAAC,KAAK,EAAE,CAAA;YACZ,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC3B,CAAC,CAAA;QAtCC,IAAI,GAAG,KAAK,IAAA,wBAAiB,EAAC,GAAG,CAAC,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,sDAAsD,GAAG,EAAE,CAAC,CAAA;SAC1E;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;CA4BF;AAnDD,gCAmDC"}
@@ -7,9 +7,8 @@ import { ConnectionStats } from './ConnectionStats';
7
7
  import { ConnectionAuth } from './ConnectionAuth';
8
8
  import { ConnectionSender } from './ConnectionSender';
9
9
  export declare enum ConnectionStatus {
10
- Ready = "ready",
11
- Closed = "Closed",
12
- Closing = "Closing"
10
+ Open = "open",
11
+ Closed = "Closed"
13
12
  }
14
13
  export declare class Connection extends Emitter {
15
14
  url: string;
@@ -22,5 +21,7 @@ export declare class Connection extends Emitter {
22
21
  constructor(url: string);
23
22
  emit: (type: ConnectionEvent, ...args: any[]) => boolean;
24
23
  send: (message: Message) => Promise<void>;
25
- close: () => Promise<void>;
24
+ open: () => void;
25
+ close: () => void;
26
+ cleanup: () => void;
26
27
  }
@@ -7,27 +7,33 @@ import { ConnectionAuth } from "./ConnectionAuth.mjs";
7
7
  import { ConnectionSender } from "./ConnectionSender.mjs";
8
8
  export var ConnectionStatus;
9
9
  (function (ConnectionStatus) {
10
- ConnectionStatus["Ready"] = "ready";
10
+ ConnectionStatus["Open"] = "open";
11
11
  ConnectionStatus["Closed"] = "Closed";
12
- ConnectionStatus["Closing"] = "Closing";
13
12
  })(ConnectionStatus || (ConnectionStatus = {}));
14
- const { Ready, Closed, Closing } = ConnectionStatus;
13
+ const { Open, Closed } = ConnectionStatus;
15
14
  export class Connection extends Emitter {
16
15
  constructor(url) {
17
16
  super();
18
- this.status = Ready;
17
+ this.status = Open;
19
18
  this.emit = (type, ...args) => super.emit(type, this, ...args);
20
19
  this.send = async (message) => {
21
- await this.socket.open();
22
- if (this.status === Ready) {
23
- this.sender.push(message);
20
+ if (this.status !== Open) {
21
+ throw new Error(`Attempted to send message on ${this.status} connection`);
24
22
  }
23
+ this.sender.push(message);
25
24
  };
26
- this.close = async () => {
27
- this.status = Closing;
28
- await this.sender.close();
29
- await this.socket.close();
25
+ this.open = () => {
26
+ this.status = Open;
27
+ this.socket.open();
28
+ this.sender.worker.resume();
29
+ };
30
+ this.close = () => {
30
31
  this.status = Closed;
32
+ this.socket.close();
33
+ this.sender.worker.pause();
34
+ };
35
+ this.cleanup = () => {
36
+ this.close();
31
37
  this.removeAllListeners();
32
38
  };
33
39
  if (url !== normalizeRelayUrl(url)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Connection.mjs","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":"OAAO,EAAC,OAAO,EAAC,MAAM,eAAe;OAC9B,EAAC,iBAAiB,EAAC,MAAM,gBAAgB;OACzC,EAAC,MAAM,EAAC;OAGR,EAAC,eAAe,EAAC;OACjB,EAAC,eAAe,EAAC;OACjB,EAAC,cAAc,EAAC;OAChB,EAAC,gBAAgB,EAAC;AAEzB,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;AACrB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,GAAG,gBAAgB,CAAA;AAEjD,MAAM,OAAO,UAAW,SAAQ,OAAO;IASrC,YAAY,GAAW;QACrB,KAAK,EAAE,CAAA;QAHT,WAAM,GAAG,KAAK,CAAA;QAkBd,SAAI,GAAG,CAAC,IAAqB,EAAE,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QAEjF,SAAI,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;YAChC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAExB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aAC1B;QACH,CAAC,CAAA;QAED,UAAK,GAAG,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;YAErB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YAEzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC3B,CAAC,CAAA;QA/BC,IAAI,GAAG,KAAK,iBAAiB,CAAC,GAAG,CAAC,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,sDAAsD,GAAG,EAAE,CAAC,CAAA;SAC1E;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;CAqBF"}
1
+ {"version":3,"file":"Connection.mjs","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":"OAAO,EAAC,OAAO,EAAC,MAAM,eAAe;OAC9B,EAAC,iBAAiB,EAAC,MAAM,gBAAgB;OACzC,EAAC,MAAM,EAAC;OAGR,EAAC,eAAe,EAAC;OACjB,EAAC,eAAe,EAAC;OACjB,EAAC,cAAc,EAAC;OAChB,EAAC,gBAAgB,EAAC;AAEzB,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,qCAAiB,CAAA;AACnB,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,gBAAgB,CAAA;AAEvC,MAAM,OAAO,UAAW,SAAQ,OAAO;IASrC,YAAY,GAAW;QACrB,KAAK,EAAE,CAAA;QAHT,WAAM,GAAG,IAAI,CAAA;QAkBb,SAAI,GAAG,CAAC,IAAqB,EAAE,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;QAEjF,SAAI,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE;gBACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,aAAa,CAAC,CAAA;aAC1E;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC,CAAA;QAED,SAAI,GAAG,GAAG,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;YAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QAC7B,CAAC,CAAA;QAED,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC,CAAA;QAED,YAAO,GAAG,GAAG,EAAE;YACb,IAAI,CAAC,KAAK,EAAE,CAAA;YACZ,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC3B,CAAC,CAAA;QAtCC,IAAI,GAAG,KAAK,iBAAiB,CAAC,GAAG,CAAC,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,sDAAsD,GAAG,EAAE,CAAC,CAAA;SAC1E;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;CA4BF"}
@@ -11,29 +11,26 @@ class ConnectionSender {
11
11
  this.push = (message) => {
12
12
  this.worker.push(message);
13
13
  };
14
- this.close = async () => {
15
- this.worker.pause();
16
- };
17
14
  this.worker = new lib_1.Worker({
18
15
  shouldDefer: ([verb, ...extra]) => {
16
+ // Always send CLOSE to clean up pending requests, even if the connection is closed
17
+ if (verb === 'CLOSE')
18
+ return false;
19
19
  // If we're not connected, nothing we can do
20
- if (this.cxn.socket.status !== Socket_1.SocketStatus.Open)
20
+ if (cxn.socket.status !== Socket_1.SocketStatus.Open)
21
21
  return true;
22
22
  // Always allow sending AUTH
23
23
  if (verb === 'AUTH')
24
24
  return false;
25
- // Only close reqs that have been sent
26
- if (verb === 'CLOSE')
27
- return !this.cxn.state.pendingRequests.has(extra[0]);
28
25
  // Always allow sending join requests
29
26
  if (verb === 'EVENT' && extra[0].kind === util_1.AUTH_JOIN)
30
27
  return false;
31
28
  // Wait for auth
32
- if (![ConnectionAuth_1.AuthStatus.None, ConnectionAuth_1.AuthStatus.Ok].includes(this.cxn.auth.status))
29
+ if (![ConnectionAuth_1.AuthStatus.None, ConnectionAuth_1.AuthStatus.Ok].includes(cxn.auth.status))
33
30
  return true;
34
31
  // Limit concurrent requests
35
32
  if (verb === 'REQ')
36
- return this.cxn.state.pendingRequests.size >= 8;
33
+ return cxn.state.pendingRequests.size >= 8;
37
34
  return false;
38
35
  },
39
36
  });
@@ -42,7 +39,10 @@ class ConnectionSender {
42
39
  if (verb === 'CLOSE') {
43
40
  this.worker.buffer = this.worker.buffer.filter(m => !(m[0] === 'REQ' && m[1] === extra[0]));
44
41
  }
45
- this.cxn.socket.send([verb, ...extra]);
42
+ // Re-check socket status since we let CLOSE through
43
+ if (cxn.socket.status === Socket_1.SocketStatus.Open) {
44
+ cxn.socket.send([verb, ...extra]);
45
+ }
46
46
  });
47
47
  }
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionSender.cjs","sourceRoot":"","sources":["../../src/ConnectionSender.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,yCAAwC;AACxC,yCAAqC;AAGrC,yDAA2C;AAE3C,MAAa,gBAAgB;IAG3B,YAAqB,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;QAmCpC,SAAI,GAAG,CAAC,OAAgB,EAAE,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC,CAAA;QAED,UAAK,GAAG,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC,CAAA;QAxCC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAM,CAAC;YACvB,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAU,EAAE,EAAE;gBACzC,4CAA4C;gBAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,qBAAY,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAA;gBAE7D,4BAA4B;gBAC5B,IAAI,IAAI,KAAK,MAAM;oBAAE,OAAO,KAAK,CAAA;gBAEjC,sCAAsC;gBACtC,IAAI,IAAI,KAAK,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE1E,qCAAqC;gBACrC,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAS;oBAAE,OAAO,KAAK,CAAA;gBAEjE,gBAAgB;gBAChB,IAAI,CAAC,CAAC,2BAAU,CAAC,IAAI,EAAE,2BAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAA;gBAEjF,4BAA4B;gBAC5B,IAAI,IAAI,KAAK,KAAK;oBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAA;gBAEnE,OAAO,KAAK,CAAA;YACd,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAU,EAAE,EAAE;YACzD,gFAAgF;YAChF,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aAC5F;YAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;IACJ,CAAC;CASF;AA7CD,4CA6CC"}
1
+ {"version":3,"file":"ConnectionSender.cjs","sourceRoot":"","sources":["../../src/ConnectionSender.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,yCAAwC;AACxC,yCAAqC;AAGrC,yDAA2C;AAE3C,MAAa,gBAAgB;IAG3B,YAAqB,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;QAsCpC,SAAI,GAAG,CAAC,OAAgB,EAAE,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC,CAAA;QAvCC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAM,CAAC;YACvB,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAU,EAAE,EAAE;gBACzC,mFAAmF;gBACnF,IAAI,IAAI,KAAK,OAAO;oBAAE,OAAO,KAAK,CAAA;gBAElC,4CAA4C;gBAC5C,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,qBAAY,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAA;gBAExD,4BAA4B;gBAC5B,IAAI,IAAI,KAAK,MAAM;oBAAE,OAAO,KAAK,CAAA;gBAEjC,qCAAqC;gBACrC,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAS;oBAAE,OAAO,KAAK,CAAA;gBAEjE,gBAAgB;gBAChB,IAAI,CAAC,CAAC,2BAAU,CAAC,IAAI,EAAE,2BAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAA;gBAE5E,4BAA4B;gBAC5B,IAAI,IAAI,KAAK,KAAK;oBAAE,OAAO,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAA;gBAE9D,OAAO,KAAK,CAAA;YACd,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAU,EAAE,EAAE;YACzD,gFAAgF;YAChF,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aAC5F;YAED,oDAAoD;YACpD,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,qBAAY,CAAC,IAAI,EAAE;gBAC3C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;aAClC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CAKF;AA5CD,4CA4CC"}
@@ -6,5 +6,4 @@ export declare class ConnectionSender {
6
6
  worker: Worker<Message>;
7
7
  constructor(cxn: Connection);
8
8
  push: (message: Message) => void;
9
- close: () => Promise<void>;
10
9
  }
@@ -8,29 +8,26 @@ export class ConnectionSender {
8
8
  this.push = (message) => {
9
9
  this.worker.push(message);
10
10
  };
11
- this.close = async () => {
12
- this.worker.pause();
13
- };
14
11
  this.worker = new Worker({
15
12
  shouldDefer: ([verb, ...extra]) => {
13
+ // Always send CLOSE to clean up pending requests, even if the connection is closed
14
+ if (verb === 'CLOSE')
15
+ return false;
16
16
  // If we're not connected, nothing we can do
17
- if (this.cxn.socket.status !== SocketStatus.Open)
17
+ if (cxn.socket.status !== SocketStatus.Open)
18
18
  return true;
19
19
  // Always allow sending AUTH
20
20
  if (verb === 'AUTH')
21
21
  return false;
22
- // Only close reqs that have been sent
23
- if (verb === 'CLOSE')
24
- return !this.cxn.state.pendingRequests.has(extra[0]);
25
22
  // Always allow sending join requests
26
23
  if (verb === 'EVENT' && extra[0].kind === AUTH_JOIN)
27
24
  return false;
28
25
  // Wait for auth
29
- if (![AuthStatus.None, AuthStatus.Ok].includes(this.cxn.auth.status))
26
+ if (![AuthStatus.None, AuthStatus.Ok].includes(cxn.auth.status))
30
27
  return true;
31
28
  // Limit concurrent requests
32
29
  if (verb === 'REQ')
33
- return this.cxn.state.pendingRequests.size >= 8;
30
+ return cxn.state.pendingRequests.size >= 8;
34
31
  return false;
35
32
  },
36
33
  });
@@ -39,7 +36,10 @@ export class ConnectionSender {
39
36
  if (verb === 'CLOSE') {
40
37
  this.worker.buffer = this.worker.buffer.filter(m => !(m[0] === 'REQ' && m[1] === extra[0]));
41
38
  }
42
- this.cxn.socket.send([verb, ...extra]);
39
+ // Re-check socket status since we let CLOSE through
40
+ if (cxn.socket.status === SocketStatus.Open) {
41
+ cxn.socket.send([verb, ...extra]);
42
+ }
43
43
  });
44
44
  }
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionSender.mjs","sourceRoot":"","sources":["../../src/ConnectionSender.ts"],"names":[],"mappings":"OAAO,EAAC,MAAM,EAAC,MAAM,eAAe;OAC7B,EAAC,SAAS,EAAC,MAAM,gBAAgB;OACjC,EAAC,YAAY,EAAC;OAGd,EAAC,UAAU,EAAC;AAEnB,MAAM,OAAO,gBAAgB;IAG3B,YAAqB,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;QAmCpC,SAAI,GAAG,CAAC,OAAgB,EAAE,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC,CAAA;QAED,UAAK,GAAG,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC,CAAA;QAxCC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAU,EAAE,EAAE;gBACzC,4CAA4C;gBAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAA;gBAE7D,4BAA4B;gBAC5B,IAAI,IAAI,KAAK,MAAM;oBAAE,OAAO,KAAK,CAAA;gBAEjC,sCAAsC;gBACtC,IAAI,IAAI,KAAK,OAAO;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE1E,qCAAqC;gBACrC,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAA;gBAEjE,gBAAgB;gBAChB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAA;gBAEjF,4BAA4B;gBAC5B,IAAI,IAAI,KAAK,KAAK;oBAAE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAA;gBAEnE,OAAO,KAAK,CAAA;YACd,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAU,EAAE,EAAE;YACzD,gFAAgF;YAChF,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aAC5F;YAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;IACJ,CAAC;CASF"}
1
+ {"version":3,"file":"ConnectionSender.mjs","sourceRoot":"","sources":["../../src/ConnectionSender.ts"],"names":[],"mappings":"OAAO,EAAC,MAAM,EAAC,MAAM,eAAe;OAC7B,EAAC,SAAS,EAAC,MAAM,gBAAgB;OACjC,EAAC,YAAY,EAAC;OAGd,EAAC,UAAU,EAAC;AAEnB,MAAM,OAAO,gBAAgB;IAG3B,YAAqB,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;QAsCpC,SAAI,GAAG,CAAC,OAAgB,EAAE,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC,CAAA;QAvCC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAU,EAAE,EAAE;gBACzC,mFAAmF;gBACnF,IAAI,IAAI,KAAK,OAAO;oBAAE,OAAO,KAAK,CAAA;gBAElC,4CAA4C;gBAC5C,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAA;gBAExD,4BAA4B;gBAC5B,IAAI,IAAI,KAAK,MAAM;oBAAE,OAAO,KAAK,CAAA;gBAEjC,qCAAqC;gBACrC,IAAI,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAA;gBAEjE,gBAAgB;gBAChB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBAAE,OAAO,IAAI,CAAA;gBAE5E,4BAA4B;gBAC5B,IAAI,IAAI,KAAK,KAAK;oBAAE,OAAO,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAA;gBAE9D,OAAO,KAAK,CAAA;YACd,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAU,EAAE,EAAE;YACzD,gFAAgF;YAChF,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aAC5F;YAED,oDAAoD;YACpD,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI,EAAE;gBAC3C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;aAClC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CAKF"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConnectionState = void 0;
4
+ const lib_1 = require("@welshman/lib");
4
5
  const util_1 = require("@welshman/util");
5
6
  const ConnectionEvent_1 = require("./ConnectionEvent.cjs");
6
7
  class ConnectionState {
@@ -8,7 +9,7 @@ class ConnectionState {
8
9
  this.cxn = cxn;
9
10
  this.pendingPublishes = new Map();
10
11
  this.pendingRequests = new Map();
11
- cxn.on(ConnectionEvent_1.ConnectionEvent.Send, (cxn, [verb, ...extra]) => {
12
+ cxn.sender.worker.addGlobalHandler(([verb, ...extra]) => {
12
13
  if (verb === 'REQ') {
13
14
  const [reqId, ...filters] = extra;
14
15
  this.pendingRequests.set(reqId, { filters, sent: Date.now() });
@@ -19,10 +20,10 @@ class ConnectionState {
19
20
  }
20
21
  if (verb === 'EVENT') {
21
22
  const [event] = extra;
22
- this.pendingPublishes.set(event.id, { sent: Date.now(), event: event.id });
23
+ this.pendingPublishes.set(event.id, { sent: Date.now(), event });
23
24
  }
24
25
  });
25
- cxn.on(ConnectionEvent_1.ConnectionEvent.Receive, (cxn, [verb, ...extra]) => {
26
+ cxn.socket.worker.addGlobalHandler(([verb, ...extra]) => {
26
27
  var _a;
27
28
  if (verb === 'OK') {
28
29
  const [eventId, _ok, notice] = extra;
@@ -56,12 +57,27 @@ class ConnectionState {
56
57
  this.cxn.emit(ConnectionEvent_1.ConnectionEvent.Notice, extra[1]);
57
58
  }
58
59
  }
60
+ this.pendingRequests.delete(reqId);
59
61
  }
60
62
  if (verb === 'NOTICE') {
61
63
  const [notice] = extra;
62
64
  this.cxn.emit(ConnectionEvent_1.ConnectionEvent.Notice, notice);
63
65
  }
64
66
  });
67
+ // Whenever we reconnect, re-enqueue pending stuff. Delay this so that if a connection
68
+ // is flapping we're not sending too much noise.
69
+ cxn.on(ConnectionEvent_1.ConnectionEvent.Close, async (cxn) => {
70
+ await (0, lib_1.sleep)(10000);
71
+ if (this.pendingRequests.size > 0 || this.pendingPublishes.size > 0) {
72
+ this.cxn.open();
73
+ }
74
+ for (const [reqId, req] of this.pendingRequests.entries()) {
75
+ this.cxn.send(['REQ', reqId, ...req.filters]);
76
+ }
77
+ for (const [_, pub] of this.pendingPublishes.entries()) {
78
+ this.cxn.send(['EVENT', pub.event]);
79
+ }
80
+ });
65
81
  }
66
82
  }
67
83
  exports.ConnectionState = ConnectionState;
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionState.cjs","sourceRoot":"","sources":["../../src/ConnectionState.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AAIxC,2DAAiD;AAajD,MAAa,eAAe;IAI1B,YAAqB,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;QAHpC,qBAAgB,GAAG,IAAI,GAAG,EAAwB,CAAA;QAClD,oBAAe,GAAG,IAAI,GAAG,EAAwB,CAAA;QAG/C,GAAG,CAAC,EAAE,CAAC,iCAAe,CAAC,IAAI,EAAE,CAAC,GAAe,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,CAAU,EAAE,EAAE;YAC1E,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,KAAK,CAAA;gBAEjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAA;aAC7D;YAED,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;gBAErB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;aACnC;YAED,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;gBAErB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAC,CAAC,CAAA;aACzE;QACH,CAAC,CAAC,CAAA;QAEF,GAAG,CAAC,EAAE,CAAC,iCAAe,CAAC,OAAO,EAAE,CAAC,GAAe,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,CAAU,EAAE,EAAE;;YAC7E,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,CAAA;gBACpC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAE9C,IAAI,CAAC,GAAG;oBAAE,OAAM;gBAEhB,4DAA4D;gBAC5D,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,gBAAgB,CAAC,KAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAS,EAAE;oBACxE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;iBACpC;qBAAM;oBACL,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;iBACtC;aACF;YAED,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;gBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAE3C,IAAI,GAAG,EAAE;oBACP,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;iBAChB;aACF;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;gBAErB,0DAA0D;gBAC1D,IAAI,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE;oBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;oBAE3C,IAAI,GAAG,EAAE;wBACP,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;qBAC9C;oBAED,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;wBACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;qBAChD;iBACF;aACF;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE;gBACrB,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;gBAEtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;aAC9C;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAzED,0CAyEC"}
1
+ {"version":3,"file":"ConnectionState.cjs","sourceRoot":"","sources":["../../src/ConnectionState.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { sleep } from '@welshman/lib';
1
2
  import { AUTH_JOIN } from '@welshman/util';
2
3
  import { ConnectionEvent } from "./ConnectionEvent.mjs";
3
4
  export class ConnectionState {
@@ -5,7 +6,7 @@ export class ConnectionState {
5
6
  this.cxn = cxn;
6
7
  this.pendingPublishes = new Map();
7
8
  this.pendingRequests = new Map();
8
- cxn.on(ConnectionEvent.Send, (cxn, [verb, ...extra]) => {
9
+ cxn.sender.worker.addGlobalHandler(([verb, ...extra]) => {
9
10
  if (verb === 'REQ') {
10
11
  const [reqId, ...filters] = extra;
11
12
  this.pendingRequests.set(reqId, { filters, sent: Date.now() });
@@ -16,10 +17,10 @@ export class ConnectionState {
16
17
  }
17
18
  if (verb === 'EVENT') {
18
19
  const [event] = extra;
19
- this.pendingPublishes.set(event.id, { sent: Date.now(), event: event.id });
20
+ this.pendingPublishes.set(event.id, { sent: Date.now(), event });
20
21
  }
21
22
  });
22
- cxn.on(ConnectionEvent.Receive, (cxn, [verb, ...extra]) => {
23
+ cxn.socket.worker.addGlobalHandler(([verb, ...extra]) => {
23
24
  var _a;
24
25
  if (verb === 'OK') {
25
26
  const [eventId, _ok, notice] = extra;
@@ -53,12 +54,27 @@ export class ConnectionState {
53
54
  this.cxn.emit(ConnectionEvent.Notice, extra[1]);
54
55
  }
55
56
  }
57
+ this.pendingRequests.delete(reqId);
56
58
  }
57
59
  if (verb === 'NOTICE') {
58
60
  const [notice] = extra;
59
61
  this.cxn.emit(ConnectionEvent.Notice, notice);
60
62
  }
61
63
  });
64
+ // Whenever we reconnect, re-enqueue pending stuff. Delay this so that if a connection
65
+ // is flapping we're not sending too much noise.
66
+ cxn.on(ConnectionEvent.Close, async (cxn) => {
67
+ await sleep(10000);
68
+ if (this.pendingRequests.size > 0 || this.pendingPublishes.size > 0) {
69
+ this.cxn.open();
70
+ }
71
+ for (const [reqId, req] of this.pendingRequests.entries()) {
72
+ this.cxn.send(['REQ', reqId, ...req.filters]);
73
+ }
74
+ for (const [_, pub] of this.pendingPublishes.entries()) {
75
+ this.cxn.send(['EVENT', pub.event]);
76
+ }
77
+ });
62
78
  }
63
79
  }
64
80
  //# sourceMappingURL=ConnectionState.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionState.mjs","sourceRoot":"","sources":["../../src/ConnectionState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConnectionState.mjs","sourceRoot":"","sources":["../../src/ConnectionState.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ class Executor {
29
29
  unsubscribe: () => {
30
30
  if (closed)
31
31
  return;
32
- this.target.send("CLOSE", id);
32
+ this.target.send("CLOSE", id).catch(lib_1.noop);
33
33
  this.target.off('EVENT', eventListener);
34
34
  this.target.off('EOSE', eoseListener);
35
35
  closed = true;
@@ -89,7 +89,7 @@ class Executor {
89
89
  const close = () => {
90
90
  if (closed)
91
91
  return;
92
- this.target.send('NEG-CLOSE', id);
92
+ this.target.send('NEG-CLOSE', id).catch(lib_1.noop);
93
93
  this.target.off('NEG-MSG', msgListener);
94
94
  this.target.off('NEG-ERR', errListener);
95
95
  closed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.cjs","sourceRoot":"","sources":["../../src/Executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor.cjs","sourceRoot":"","sources":["../../src/Executor.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { Message } from './Socket';
4
4
  import type { Connection } from './Connection';
5
5
  export type Target = Emitter & {
6
6
  connections: Connection[];
7
- send: (...args: Message) => void;
7
+ send: (...args: Message) => Promise<void>;
8
8
  cleanup: () => void;
9
9
  };
10
10
  export type NegentropyMessage = {
@@ -1,4 +1,4 @@
1
- import { ctx } from '@welshman/lib';
1
+ import { ctx, noop } from '@welshman/lib';
2
2
  import { Negentropy, NegentropyStorageVector } from "./Negentropy.mjs";
3
3
  const createSubId = (prefix) => [prefix, Math.random().toString().slice(2, 10)].join('-');
4
4
  export class Executor {
@@ -26,7 +26,7 @@ export class Executor {
26
26
  unsubscribe: () => {
27
27
  if (closed)
28
28
  return;
29
- this.target.send("CLOSE", id);
29
+ this.target.send("CLOSE", id).catch(noop);
30
30
  this.target.off('EVENT', eventListener);
31
31
  this.target.off('EOSE', eoseListener);
32
32
  closed = true;
@@ -86,7 +86,7 @@ export class Executor {
86
86
  const close = () => {
87
87
  if (closed)
88
88
  return;
89
- this.target.send('NEG-CLOSE', id);
89
+ this.target.send('NEG-CLOSE', id).catch(noop);
90
90
  this.target.off('NEG-MSG', msgListener);
91
91
  this.target.off('NEG-ERR', errListener);
92
92
  closed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.mjs","sourceRoot":"","sources":["../../src/Executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor.mjs","sourceRoot":"","sources":["../../src/Executor.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ class Pool extends lib_1.Emitter {
24
24
  remove(url) {
25
25
  const connection = this.data.get(url);
26
26
  if (connection) {
27
- connection.close();
27
+ connection.cleanup();
28
28
  this.data.delete(url);
29
29
  }
30
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Pool.cjs","sourceRoot":"","sources":["../../src/Pool.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AACrC,iDAAuC;AAEvC,MAAa,IAAK,SAAQ,aAAO;IAE/B;QACE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAA;IACvB,CAAC;IACD,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IACD,GAAG,CAAC,GAAW;QACb,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAExC,IAAI,aAAa,EAAE;YACjB,OAAO,aAAa,CAAA;SACrB;QAED,MAAM,aAAa,GAAG,IAAI,uBAAU,CAAC,GAAG,CAAC,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAEhC,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,MAAM,CAAC,GAAW;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAErC,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,KAAK,EAAE,CAAA;YAElB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACtB;IACH,CAAC;IACD,KAAK;QACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACjB;IACH,CAAC;CACF;AAtCD,oBAsCC"}
1
+ {"version":3,"file":"Pool.cjs","sourceRoot":"","sources":["../../src/Pool.ts"],"names":[],"mappings":";;;AAAA,uCAAqC;AACrC,iDAAuC;AAEvC,MAAa,IAAK,SAAQ,aAAO;IAG/B;QACE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAA;IACvB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAExC,IAAI,aAAa,EAAE;YACjB,OAAO,aAAa,CAAA;SACrB;QAED,MAAM,aAAa,GAAG,IAAI,uBAAU,CAAC,GAAG,CAAC,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAEhC,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAErC,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,OAAO,EAAE,CAAA;YAEpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACtB;IACH,CAAC;IAED,KAAK;QACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACjB;IACH,CAAC;CACF;AA3CD,oBA2CC"}
@@ -21,7 +21,7 @@ export class Pool extends Emitter {
21
21
  remove(url) {
22
22
  const connection = this.data.get(url);
23
23
  if (connection) {
24
- connection.close();
24
+ connection.cleanup();
25
25
  this.data.delete(url);
26
26
  }
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Pool.mjs","sourceRoot":"","sources":["../../src/Pool.ts"],"names":[],"mappings":"OAAO,EAAC,OAAO,EAAC,MAAM,eAAe;OAC9B,EAAC,UAAU,EAAC;AAEnB,MAAM,OAAO,IAAK,SAAQ,OAAO;IAE/B;QACE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAA;IACvB,CAAC;IACD,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IACD,GAAG,CAAC,GAAW;QACb,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAExC,IAAI,aAAa,EAAE;YACjB,OAAO,aAAa,CAAA;SACrB;QAED,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAEhC,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,MAAM,CAAC,GAAW;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAErC,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,KAAK,EAAE,CAAA;YAElB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACtB;IACH,CAAC;IACD,KAAK;QACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACjB;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"Pool.mjs","sourceRoot":"","sources":["../../src/Pool.ts"],"names":[],"mappings":"OAAO,EAAC,OAAO,EAAC,MAAM,eAAe;OAC9B,EAAC,UAAU,EAAC;AAEnB,MAAM,OAAO,IAAK,SAAQ,OAAO;IAG/B;QACE,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAA;IACvB,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAExC,IAAI,aAAa,EAAE;YACjB,OAAO,aAAa,CAAA;SACrB;QAED,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAEhC,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAErC,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,OAAO,EAAE,CAAA;YAEpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACtB;IACH,CAAC;IAED,KAAK;QACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;SACjB;IACH,CAAC;CACF"}