@welshman/net 0.0.48 → 0.1.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/build/src/adapter.d.ts +46 -0
- package/build/src/adapter.js +91 -0
- package/build/src/adapter.js.map +1 -0
- package/build/src/auth.d.ts +57 -0
- package/build/src/auth.js +137 -0
- package/build/src/auth.js.map +1 -0
- package/build/src/context.d.ts +10 -0
- package/build/src/context.js +10 -0
- package/build/src/context.js.map +1 -0
- package/build/src/diff.d.ts +55 -0
- package/build/src/diff.js +148 -0
- package/build/src/diff.js.map +1 -0
- package/build/src/index.d.ts +12 -25
- package/build/src/index.js +12 -19
- package/build/src/index.js.map +1 -1
- package/build/src/message.d.ts +59 -0
- package/build/src/message.js +35 -0
- package/build/src/message.js.map +1 -0
- package/build/src/{Negentropy.js → negentropy.js} +1 -1
- package/build/src/{Negentropy.js.map → negentropy.js.map} +1 -1
- package/build/src/policy.d.ts +32 -0
- package/build/src/policy.js +202 -0
- package/build/src/policy.js.map +1 -0
- package/build/src/pool.d.ts +20 -0
- package/build/src/pool.js +67 -0
- package/build/src/pool.js.map +1 -0
- package/build/src/publish.d.ts +60 -0
- package/build/src/publish.js +120 -0
- package/build/src/publish.js.map +1 -0
- package/build/src/request.d.ts +79 -0
- package/build/src/request.js +191 -0
- package/build/src/request.js.map +1 -0
- package/build/src/socket.d.ts +41 -0
- package/build/src/socket.js +108 -0
- package/build/src/socket.js.map +1 -0
- package/build/src/{Tracker.js → tracker.js} +2 -2
- package/build/src/{Tracker.js.map → tracker.js.map} +1 -1
- package/build/src/util.d.ts +3 -0
- package/build/src/util.js +2 -0
- package/build/src/util.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -9
- package/build/src/Connection.d.ts +0 -27
- package/build/src/Connection.js +0 -58
- package/build/src/Connection.js.map +0 -1
- package/build/src/ConnectionAuth.d.ts +0 -28
- package/build/src/ConnectionAuth.js +0 -99
- package/build/src/ConnectionAuth.js.map +0 -1
- package/build/src/ConnectionEvent.d.ts +0 -11
- package/build/src/ConnectionEvent.js +0 -13
- package/build/src/ConnectionEvent.js.map +0 -1
- package/build/src/ConnectionSender.d.ts +0 -9
- package/build/src/ConnectionSender.js +0 -51
- package/build/src/ConnectionSender.js.map +0 -1
- package/build/src/ConnectionState.d.ts +0 -17
- package/build/src/ConnectionState.js +0 -80
- package/build/src/ConnectionState.js.map +0 -1
- package/build/src/ConnectionStats.d.ts +0 -26
- package/build/src/ConnectionStats.js +0 -83
- package/build/src/ConnectionStats.js.map +0 -1
- package/build/src/Context.d.ts +0 -33
- package/build/src/Context.js +0 -40
- package/build/src/Context.js.map +0 -1
- package/build/src/Executor.d.ts +0 -51
- package/build/src/Executor.js +0 -106
- package/build/src/Executor.js.map +0 -1
- package/build/src/Pool.d.ts +0 -10
- package/build/src/Pool.js +0 -35
- package/build/src/Pool.js.map +0 -1
- package/build/src/Publish.d.ts +0 -42
- package/build/src/Publish.js +0 -68
- package/build/src/Publish.js.map +0 -1
- package/build/src/Socket.d.ts +0 -26
- package/build/src/Socket.js +0 -111
- package/build/src/Socket.js.map +0 -1
- package/build/src/Subscribe.d.ts +0 -60
- package/build/src/Subscribe.js +0 -293
- package/build/src/Subscribe.js.map +0 -1
- package/build/src/Sync.d.ts +0 -42
- package/build/src/Sync.js +0 -125
- package/build/src/Sync.js.map +0 -1
- package/build/src/target/Echo.d.ts +0 -7
- package/build/src/target/Echo.js +0 -13
- package/build/src/target/Echo.js.map +0 -1
- package/build/src/target/Local.d.ts +0 -11
- package/build/src/target/Local.js +0 -25
- package/build/src/target/Local.js.map +0 -1
- package/build/src/target/Multi.d.ts +0 -10
- package/build/src/target/Multi.js +0 -22
- package/build/src/target/Multi.js.map +0 -1
- package/build/src/target/Relay.d.ts +0 -11
- package/build/src/target/Relay.js +0 -24
- package/build/src/target/Relay.js.map +0 -1
- package/build/src/target/Relays.d.ts +0 -10
- package/build/src/target/Relays.js +0 -25
- package/build/src/target/Relays.js.map +0 -1
- /package/build/src/{Negentropy.d.ts → negentropy.d.ts} +0 -0
- /package/build/src/{Tracker.d.ts → tracker.d.ts} +0 -0
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { SignedEvent, Filter } from "@welshman/util";
|
|
2
|
+
export declare enum RelayMessageType {
|
|
3
|
+
Auth = "AUTH",
|
|
4
|
+
Closed = "CLOSED",
|
|
5
|
+
Eose = "EOSE",
|
|
6
|
+
Event = "EVENT",
|
|
7
|
+
NegErr = "NEG-ERR",
|
|
8
|
+
NegMsg = "NEG-MSG",
|
|
9
|
+
Ok = "OK"
|
|
10
|
+
}
|
|
11
|
+
export type RelayMessage = any[];
|
|
12
|
+
export type RelayAuthPayload = [string];
|
|
13
|
+
export type RelayClosedPayload = [string, string];
|
|
14
|
+
export type RelayEosePayload = [string, SignedEvent];
|
|
15
|
+
export type RelayEventPayload = [string, SignedEvent];
|
|
16
|
+
export type RelayNegErrPayload = [string, string];
|
|
17
|
+
export type RelayNegMsgPayload = [string, string];
|
|
18
|
+
export type RelayOkPayload = [string, boolean, string];
|
|
19
|
+
export type RelayAuth = [RelayMessageType.Auth, ...RelayAuthPayload];
|
|
20
|
+
export type RelayClosed = [RelayMessageType.Closed, ...RelayClosedPayload];
|
|
21
|
+
export type RelayEose = [RelayMessageType.Eose, ...RelayEosePayload];
|
|
22
|
+
export type RelayEvent = [RelayMessageType.Event, ...RelayEventPayload];
|
|
23
|
+
export type RelayNegErr = [RelayMessageType.NegErr, ...RelayNegErrPayload];
|
|
24
|
+
export type RelayNegMsg = [RelayMessageType.NegMsg, ...RelayNegMsgPayload];
|
|
25
|
+
export type RelayOk = [RelayMessageType.Ok, ...RelayOkPayload];
|
|
26
|
+
export declare const isRelayAuth: (m: RelayMessage) => m is RelayAuth;
|
|
27
|
+
export declare const isRelayClosed: (m: RelayMessage) => m is RelayClosed;
|
|
28
|
+
export declare const isRelayEose: (m: RelayMessage) => m is RelayEose;
|
|
29
|
+
export declare const isRelayEvent: (m: RelayMessage) => m is RelayEvent;
|
|
30
|
+
export declare const isRelayNegErr: (m: RelayMessage) => m is RelayNegErr;
|
|
31
|
+
export declare const isRelayNegMsg: (m: RelayMessage) => m is RelayNegMsg;
|
|
32
|
+
export declare const isRelayOk: (m: RelayMessage) => m is RelayOk;
|
|
33
|
+
export declare enum ClientMessageType {
|
|
34
|
+
Auth = "AUTH",
|
|
35
|
+
Close = "CLOSE",
|
|
36
|
+
Event = "EVENT",
|
|
37
|
+
NegClose = "NEG-CLOSE",
|
|
38
|
+
NegOpen = "NEG-OPEN",
|
|
39
|
+
Req = "REQ"
|
|
40
|
+
}
|
|
41
|
+
export type ClientMessage = any[];
|
|
42
|
+
export type ClientAuthPayload = [string];
|
|
43
|
+
export type ClientClosePayload = [string];
|
|
44
|
+
export type ClientEventPayload = [SignedEvent];
|
|
45
|
+
export type ClientNegClosePayload = [string];
|
|
46
|
+
export type ClientNegOpenPayload = [string, Filter, string];
|
|
47
|
+
export type ClientReqPayload = [string, Filter];
|
|
48
|
+
export type ClientAuth = [ClientMessageType.Auth, ...ClientAuthPayload];
|
|
49
|
+
export type ClientClose = [ClientMessageType.Close, ...ClientClosePayload];
|
|
50
|
+
export type ClientEvent = [ClientMessageType.Event, ...ClientEventPayload];
|
|
51
|
+
export type ClientNegClose = [ClientMessageType.NegClose, ...ClientNegClosePayload];
|
|
52
|
+
export type ClientNegOpen = [ClientMessageType.NegOpen, ...ClientNegOpenPayload];
|
|
53
|
+
export type ClientReq = [ClientMessageType.Req, ...ClientReqPayload];
|
|
54
|
+
export declare const isClientAuth: (m: ClientMessage) => m is ClientAuth;
|
|
55
|
+
export declare const isClientClose: (m: ClientMessage) => m is ClientClose;
|
|
56
|
+
export declare const isClientEvent: (m: ClientMessage) => m is ClientEvent;
|
|
57
|
+
export declare const isClientNegClose: (m: ClientMessage) => m is ClientNegClose;
|
|
58
|
+
export declare const isClientNegOpen: (m: ClientMessage) => m is ClientNegOpen;
|
|
59
|
+
export declare const isClientReq: (m: ClientMessage) => m is ClientReq;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// relay -> client
|
|
2
|
+
export var RelayMessageType;
|
|
3
|
+
(function (RelayMessageType) {
|
|
4
|
+
RelayMessageType["Auth"] = "AUTH";
|
|
5
|
+
RelayMessageType["Closed"] = "CLOSED";
|
|
6
|
+
RelayMessageType["Eose"] = "EOSE";
|
|
7
|
+
RelayMessageType["Event"] = "EVENT";
|
|
8
|
+
RelayMessageType["NegErr"] = "NEG-ERR";
|
|
9
|
+
RelayMessageType["NegMsg"] = "NEG-MSG";
|
|
10
|
+
RelayMessageType["Ok"] = "OK";
|
|
11
|
+
})(RelayMessageType || (RelayMessageType = {}));
|
|
12
|
+
export const isRelayAuth = (m) => m[0] === RelayMessageType.Auth;
|
|
13
|
+
export const isRelayClosed = (m) => m[0] === RelayMessageType.Closed;
|
|
14
|
+
export const isRelayEose = (m) => m[0] === RelayMessageType.Eose;
|
|
15
|
+
export const isRelayEvent = (m) => m[0] === RelayMessageType.Event;
|
|
16
|
+
export const isRelayNegErr = (m) => m[0] === RelayMessageType.NegErr;
|
|
17
|
+
export const isRelayNegMsg = (m) => m[0] === RelayMessageType.NegMsg;
|
|
18
|
+
export const isRelayOk = (m) => m[0] === RelayMessageType.Ok;
|
|
19
|
+
// client -> relay
|
|
20
|
+
export var ClientMessageType;
|
|
21
|
+
(function (ClientMessageType) {
|
|
22
|
+
ClientMessageType["Auth"] = "AUTH";
|
|
23
|
+
ClientMessageType["Close"] = "CLOSE";
|
|
24
|
+
ClientMessageType["Event"] = "EVENT";
|
|
25
|
+
ClientMessageType["NegClose"] = "NEG-CLOSE";
|
|
26
|
+
ClientMessageType["NegOpen"] = "NEG-OPEN";
|
|
27
|
+
ClientMessageType["Req"] = "REQ";
|
|
28
|
+
})(ClientMessageType || (ClientMessageType = {}));
|
|
29
|
+
export const isClientAuth = (m) => m[0] === ClientMessageType.Auth;
|
|
30
|
+
export const isClientClose = (m) => m[0] === ClientMessageType.Close;
|
|
31
|
+
export const isClientEvent = (m) => m[0] === ClientMessageType.Event;
|
|
32
|
+
export const isClientNegClose = (m) => m[0] === ClientMessageType.NegClose;
|
|
33
|
+
export const isClientNegOpen = (m) => m[0] === ClientMessageType.NegOpen;
|
|
34
|
+
export const isClientReq = (m) => m[0] === ClientMessageType.Req;
|
|
35
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/message.ts"],"names":[],"mappings":"AAEA,kBAAkB;AAElB,MAAM,CAAN,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,iCAAa,CAAA;IACb,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,sCAAkB,CAAA;IAClB,sCAAkB,CAAA;IAClB,6BAAS,CAAA;AACX,CAAC,EARW,gBAAgB,KAAhB,gBAAgB,QAQ3B;AAgCD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAe,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAA;AAE9F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAA;AAEpG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAe,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAA;AAE9F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAe,EAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,KAAK,CAAA;AAEjG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAA;AAEpG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAA;AAEpG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAe,EAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,EAAE,CAAA;AAExF,kBAAkB;AAElB,MAAM,CAAN,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,oCAAe,CAAA;IACf,2CAAsB,CAAA;IACtB,yCAAoB,CAAA;IACpB,gCAAW,CAAA;AACb,CAAC,EAPW,iBAAiB,KAAjB,iBAAiB,QAO5B;AA4BD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAgB,EAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,IAAI,CAAA;AAElG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAoB,EAAE,CAClE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,KAAK,CAAA;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAoB,EAAE,CAClE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,KAAK,CAAA;AAElC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAgB,EAAuB,EAAE,CACxE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAA;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAsB,EAAE,CACtE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,OAAO,CAAA;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,GAAG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Negentropy.js","sourceRoot":"","sources":["../../src/Negentropy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"negentropy.js","sourceRoot":"","sources":["../../src/negentropy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Socket } from "./socket.js";
|
|
2
|
+
/**
|
|
3
|
+
* Defers sending messages when a challenge has been presented and not answered yet
|
|
4
|
+
* @param socket - a Socket object
|
|
5
|
+
* @return a cleanup function
|
|
6
|
+
*/
|
|
7
|
+
export declare const socketPolicyDeferOnAuth: (socket: Socket) => () => void;
|
|
8
|
+
/**
|
|
9
|
+
* Re-enqueues event/req messages once if rejected due to auth-required
|
|
10
|
+
* @param socket - a Socket object
|
|
11
|
+
* @return a cleanup function
|
|
12
|
+
*/
|
|
13
|
+
export declare const socketPolicyRetryAuthRequired: (socket: Socket) => () => void;
|
|
14
|
+
/**
|
|
15
|
+
* Auto-connects a closed socket when a message is sent unless there was a recent error
|
|
16
|
+
* @param socket - a Socket object
|
|
17
|
+
* @return a cleanup function
|
|
18
|
+
*/
|
|
19
|
+
export declare const socketPolicyConnectOnSend: (socket: Socket) => () => void;
|
|
20
|
+
/**
|
|
21
|
+
* Auto-closes a socket after 30 seconds of inactivity
|
|
22
|
+
* @param socket - a Socket object
|
|
23
|
+
* @return a cleanup function
|
|
24
|
+
*/
|
|
25
|
+
export declare const socketPolicyCloseOnTimeout: (socket: Socket) => () => void;
|
|
26
|
+
/**
|
|
27
|
+
* Automatically re-opens a socket if there are active requests or publishes
|
|
28
|
+
* @param socket - a Socket object
|
|
29
|
+
* @return a cleanup function
|
|
30
|
+
*/
|
|
31
|
+
export declare const socketPolicyReopenActive: (socket: Socket) => () => void;
|
|
32
|
+
export declare const defaultSocketPolicies: ((socket: Socket) => () => void)[];
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { on, call, sleep, spec, ago, now } from "@welshman/lib";
|
|
2
|
+
import { AUTH_JOIN } from "@welshman/util";
|
|
3
|
+
import { isClientAuth, isClientClose, isClientEvent, isClientReq, ClientMessageType, isRelayOk, isRelayClosed, } from "./message.js";
|
|
4
|
+
import { SocketStatus, SocketEvent } from "./socket.js";
|
|
5
|
+
import { AuthState, AuthStatus, AuthStateEvent } from "./auth.js";
|
|
6
|
+
/**
|
|
7
|
+
* Defers sending messages when a challenge has been presented and not answered yet
|
|
8
|
+
* @param socket - a Socket object
|
|
9
|
+
* @return a cleanup function
|
|
10
|
+
*/
|
|
11
|
+
export const socketPolicyDeferOnAuth = (socket) => {
|
|
12
|
+
const buffer = [];
|
|
13
|
+
const authState = new AuthState(socket);
|
|
14
|
+
const okStatuses = [AuthStatus.None, AuthStatus.Ok];
|
|
15
|
+
const unsubscribers = [
|
|
16
|
+
// Pause sending certain messages when we're not authenticated
|
|
17
|
+
on(socket, SocketEvent.Enqueue, (message) => {
|
|
18
|
+
// If we're closing a request, but it never got sent, remove both from the queue
|
|
19
|
+
// Otherwise, always send CLOSE
|
|
20
|
+
if (isClientClose(message)) {
|
|
21
|
+
const req = buffer.find(spec([ClientMessageType.Req, message[1]]));
|
|
22
|
+
if (req) {
|
|
23
|
+
socket._sendQueue.remove(req);
|
|
24
|
+
socket._sendQueue.remove(message);
|
|
25
|
+
}
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// Always allow sending auth
|
|
29
|
+
if (isClientAuth(message))
|
|
30
|
+
return;
|
|
31
|
+
// Always allow sending join requests
|
|
32
|
+
if (isClientEvent(message) && message[1].kind === AUTH_JOIN)
|
|
33
|
+
return;
|
|
34
|
+
// If we're not ok, remove the message and save it for later
|
|
35
|
+
if (!okStatuses.includes(authState.status)) {
|
|
36
|
+
buffer.push(message);
|
|
37
|
+
socket._sendQueue.remove(message);
|
|
38
|
+
}
|
|
39
|
+
}),
|
|
40
|
+
// Send buffered messages when we get successful auth
|
|
41
|
+
on(authState, AuthStateEvent.Status, (status) => {
|
|
42
|
+
if (okStatuses.includes(status) && buffer.length > 0) {
|
|
43
|
+
for (const message of buffer.splice(0)) {
|
|
44
|
+
socket.send(message);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}),
|
|
48
|
+
];
|
|
49
|
+
return () => {
|
|
50
|
+
unsubscribers.forEach(call);
|
|
51
|
+
authState.cleanup();
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Re-enqueues event/req messages once if rejected due to auth-required
|
|
56
|
+
* @param socket - a Socket object
|
|
57
|
+
* @return a cleanup function
|
|
58
|
+
*/
|
|
59
|
+
export const socketPolicyRetryAuthRequired = (socket) => {
|
|
60
|
+
const retried = new Set();
|
|
61
|
+
const pending = new Map();
|
|
62
|
+
const unsubscribers = [
|
|
63
|
+
// Watch outgoing events and requests and keep a copy
|
|
64
|
+
on(socket, SocketEvent.Send, (message) => {
|
|
65
|
+
if (isClientEvent(message)) {
|
|
66
|
+
const [_, event] = message;
|
|
67
|
+
if (!retried.has(event.id) && event.kind !== AUTH_JOIN) {
|
|
68
|
+
pending.set(event.id, message);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (isClientReq(message)) {
|
|
72
|
+
const [_, id] = message;
|
|
73
|
+
if (!retried.has(id)) {
|
|
74
|
+
pending.set(id, message);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}),
|
|
78
|
+
// If a message is rejected with auth-required, re-enqueue it one time
|
|
79
|
+
on(socket, SocketEvent.Receive, (message) => {
|
|
80
|
+
if (isRelayOk(message)) {
|
|
81
|
+
const [_, id, ok, detail] = message;
|
|
82
|
+
const pendingMessage = pending.get(id);
|
|
83
|
+
if (pendingMessage && !ok && detail?.startsWith("auth-required:")) {
|
|
84
|
+
socket.send(pendingMessage);
|
|
85
|
+
retried.add(id);
|
|
86
|
+
}
|
|
87
|
+
pending.delete(id);
|
|
88
|
+
}
|
|
89
|
+
if (isRelayClosed(message)) {
|
|
90
|
+
const [_, id, detail] = message;
|
|
91
|
+
const pendingMessage = pending.get(id);
|
|
92
|
+
if (pendingMessage && detail?.startsWith("auth-required:")) {
|
|
93
|
+
socket.send(pendingMessage);
|
|
94
|
+
retried.add(id);
|
|
95
|
+
}
|
|
96
|
+
pending.delete(id);
|
|
97
|
+
}
|
|
98
|
+
}),
|
|
99
|
+
];
|
|
100
|
+
return () => unsubscribers.forEach(call);
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Auto-connects a closed socket when a message is sent unless there was a recent error
|
|
104
|
+
* @param socket - a Socket object
|
|
105
|
+
* @return a cleanup function
|
|
106
|
+
*/
|
|
107
|
+
export const socketPolicyConnectOnSend = (socket) => {
|
|
108
|
+
let lastError = 0;
|
|
109
|
+
let currentStatus = SocketStatus.Closed;
|
|
110
|
+
const unsubscribers = [
|
|
111
|
+
on(socket, SocketEvent.Status, (newStatus) => {
|
|
112
|
+
// Keep track of the most recent error
|
|
113
|
+
if (newStatus === SocketStatus.Error) {
|
|
114
|
+
lastError = now();
|
|
115
|
+
}
|
|
116
|
+
// Keep track of the current status
|
|
117
|
+
currentStatus = newStatus;
|
|
118
|
+
}),
|
|
119
|
+
on(socket, SocketEvent.Enqueue, (message) => {
|
|
120
|
+
// When a new message is sent, make sure the socket is open (unless there was a recent error)
|
|
121
|
+
if (currentStatus === SocketStatus.Closed && lastError < ago(30)) {
|
|
122
|
+
socket.open();
|
|
123
|
+
}
|
|
124
|
+
}),
|
|
125
|
+
];
|
|
126
|
+
return () => unsubscribers.forEach(call);
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Auto-closes a socket after 30 seconds of inactivity
|
|
130
|
+
* @param socket - a Socket object
|
|
131
|
+
* @return a cleanup function
|
|
132
|
+
*/
|
|
133
|
+
export const socketPolicyCloseOnTimeout = (socket) => {
|
|
134
|
+
let lastActivity = now();
|
|
135
|
+
const unsubscribers = [
|
|
136
|
+
on(socket, SocketEvent.Send, (message) => {
|
|
137
|
+
lastActivity = now();
|
|
138
|
+
}),
|
|
139
|
+
on(socket, SocketEvent.Receive, (message) => {
|
|
140
|
+
lastActivity = now();
|
|
141
|
+
}),
|
|
142
|
+
];
|
|
143
|
+
const interval = setInterval(() => {
|
|
144
|
+
if (socket.status === SocketStatus.Open && lastActivity < ago(30)) {
|
|
145
|
+
socket.close();
|
|
146
|
+
}
|
|
147
|
+
}, 3000);
|
|
148
|
+
return () => {
|
|
149
|
+
unsubscribers.forEach(call);
|
|
150
|
+
clearInterval(interval);
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Automatically re-opens a socket if there are active requests or publishes
|
|
155
|
+
* @param socket - a Socket object
|
|
156
|
+
* @return a cleanup function
|
|
157
|
+
*/
|
|
158
|
+
export const socketPolicyReopenActive = (socket) => {
|
|
159
|
+
const pending = new Map();
|
|
160
|
+
let lastOpen = Date.now();
|
|
161
|
+
const unsubscribers = [
|
|
162
|
+
on(socket, SocketEvent.Status, (newStatus) => {
|
|
163
|
+
// Keep track of the most recent error
|
|
164
|
+
if (newStatus === SocketStatus.Open) {
|
|
165
|
+
lastOpen = Date.now();
|
|
166
|
+
}
|
|
167
|
+
// If the socket closed and we have no error, reopen it but don't flap
|
|
168
|
+
if (newStatus === SocketStatus.Closed && pending.size) {
|
|
169
|
+
sleep(Math.max(0, 30_000 - (Date.now() - lastOpen))).then(() => {
|
|
170
|
+
for (const message of pending.values()) {
|
|
171
|
+
socket.send(message);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}),
|
|
176
|
+
on(socket, SocketEvent.Send, (message) => {
|
|
177
|
+
if (isClientEvent(message)) {
|
|
178
|
+
pending.set(message[1].id, message);
|
|
179
|
+
}
|
|
180
|
+
if (isClientReq(message)) {
|
|
181
|
+
pending.set(message[1], message);
|
|
182
|
+
}
|
|
183
|
+
if (isClientClose(message)) {
|
|
184
|
+
pending.delete(message[1]);
|
|
185
|
+
}
|
|
186
|
+
}),
|
|
187
|
+
on(socket, SocketEvent.Receive, (message) => {
|
|
188
|
+
if (isRelayClosed(message) || isRelayOk(message)) {
|
|
189
|
+
pending.delete(message[1]);
|
|
190
|
+
}
|
|
191
|
+
}),
|
|
192
|
+
];
|
|
193
|
+
return () => unsubscribers.forEach(call);
|
|
194
|
+
};
|
|
195
|
+
export const defaultSocketPolicies = [
|
|
196
|
+
socketPolicyDeferOnAuth,
|
|
197
|
+
socketPolicyRetryAuthRequired,
|
|
198
|
+
socketPolicyConnectOnSend,
|
|
199
|
+
socketPolicyCloseOnTimeout,
|
|
200
|
+
socketPolicyReopenActive,
|
|
201
|
+
];
|
|
202
|
+
//# sourceMappingURL=policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Socket } from "./socket.js";
|
|
2
|
+
export declare const makeSocket: (url: string, policies?: ((socket: Socket) => () => void)[]) => Socket;
|
|
3
|
+
export type PoolSubscription = (socket: Socket) => void;
|
|
4
|
+
export type PoolOptions = {
|
|
5
|
+
makeSocket?: (url: string) => Socket;
|
|
6
|
+
};
|
|
7
|
+
export declare let poolSingleton: Pool;
|
|
8
|
+
export declare class Pool {
|
|
9
|
+
readonly options: PoolOptions;
|
|
10
|
+
_data: Map<string, Socket>;
|
|
11
|
+
_subs: PoolSubscription[];
|
|
12
|
+
static getSingleton(): Pool;
|
|
13
|
+
constructor(options?: PoolOptions);
|
|
14
|
+
has(url: string): boolean;
|
|
15
|
+
makeSocket(url: string): Socket;
|
|
16
|
+
get(_url: string): Socket;
|
|
17
|
+
subscribe(cb: PoolSubscription): () => void;
|
|
18
|
+
remove(url: string): void;
|
|
19
|
+
clear(): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { remove } from "@welshman/lib";
|
|
2
|
+
import { normalizeRelayUrl } from "@welshman/util";
|
|
3
|
+
import { Socket } from "./socket.js";
|
|
4
|
+
import { defaultSocketPolicies } from "./policy.js";
|
|
5
|
+
export const makeSocket = (url, policies = defaultSocketPolicies) => {
|
|
6
|
+
const socket = new Socket(url);
|
|
7
|
+
for (const applyPolicy of policies) {
|
|
8
|
+
applyPolicy(socket);
|
|
9
|
+
}
|
|
10
|
+
return socket;
|
|
11
|
+
};
|
|
12
|
+
export let poolSingleton;
|
|
13
|
+
export class Pool {
|
|
14
|
+
options;
|
|
15
|
+
_data = new Map();
|
|
16
|
+
_subs = [];
|
|
17
|
+
static getSingleton() {
|
|
18
|
+
if (!poolSingleton) {
|
|
19
|
+
poolSingleton = new Pool();
|
|
20
|
+
}
|
|
21
|
+
return poolSingleton;
|
|
22
|
+
}
|
|
23
|
+
constructor(options = {}) {
|
|
24
|
+
this.options = options;
|
|
25
|
+
}
|
|
26
|
+
has(url) {
|
|
27
|
+
return this._data.has(normalizeRelayUrl(url));
|
|
28
|
+
}
|
|
29
|
+
makeSocket(url) {
|
|
30
|
+
if (this.options.makeSocket) {
|
|
31
|
+
return this.options.makeSocket(url);
|
|
32
|
+
}
|
|
33
|
+
return makeSocket(url);
|
|
34
|
+
}
|
|
35
|
+
get(_url) {
|
|
36
|
+
const url = normalizeRelayUrl(_url);
|
|
37
|
+
const oldSocket = this._data.get(url);
|
|
38
|
+
if (oldSocket) {
|
|
39
|
+
return oldSocket;
|
|
40
|
+
}
|
|
41
|
+
const socket = this.makeSocket(url);
|
|
42
|
+
this._data.set(url, socket);
|
|
43
|
+
for (const cb of this._subs) {
|
|
44
|
+
cb(socket);
|
|
45
|
+
}
|
|
46
|
+
return socket;
|
|
47
|
+
}
|
|
48
|
+
subscribe(cb) {
|
|
49
|
+
this._subs.push(cb);
|
|
50
|
+
return () => {
|
|
51
|
+
this._subs = remove(cb, this._subs);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
remove(url) {
|
|
55
|
+
const socket = this._data.get(url);
|
|
56
|
+
if (socket) {
|
|
57
|
+
socket.cleanup();
|
|
58
|
+
this._data.delete(url);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
clear() {
|
|
62
|
+
for (const url of this._data.keys()) {
|
|
63
|
+
this.remove(url);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAA;AACpC,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAA;AAEjD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,QAAQ,GAAG,qBAAqB,EAAE,EAAE;IAC1E,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAA;IAE9B,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACnC,WAAW,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAQD,MAAM,CAAC,IAAI,aAAmB,CAAA;AAE9B,MAAM,OAAO,IAAI;IAYM;IAXrB,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACjC,KAAK,GAAuB,EAAE,CAAA;IAE9B,MAAM,CAAC,YAAY;QACjB,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,IAAI,IAAI,EAAE,CAAA;QAC5B,CAAC;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,YAAqB,UAAuB,EAAE;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAG,CAAC;IAElD,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACrC,CAAC;QAED,OAAO,UAAU,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,GAAG,CAAC,IAAY;QACd,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAErC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAEnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAE3B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,EAAE,CAAC,MAAM,CAAC,CAAA;QACZ,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,SAAS,CAAC,EAAoB;QAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEnB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACrC,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAElC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,EAAE,CAAA;YAEhB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,KAAK;QACH,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { SignedEvent } from "@welshman/util";
|
|
2
|
+
import { AbstractAdapter, AdapterContext } from "./adapter.js";
|
|
3
|
+
import { TypedEmitter } from "./util.js";
|
|
4
|
+
export declare enum PublishStatus {
|
|
5
|
+
Pending = "publish:status:pending",
|
|
6
|
+
Success = "publish:status:success",
|
|
7
|
+
Failure = "publish:status:failure",
|
|
8
|
+
Timeout = "publish:status:timeout",
|
|
9
|
+
Aborted = "publish:status:aborted"
|
|
10
|
+
}
|
|
11
|
+
export declare enum PublishEvent {
|
|
12
|
+
Success = "publish:event:success",
|
|
13
|
+
Failure = "publish:event:failure",
|
|
14
|
+
Timeout = "publish:event:timeout",
|
|
15
|
+
Aborted = "publish:event:aborted",
|
|
16
|
+
Complete = "publish:event:complete"
|
|
17
|
+
}
|
|
18
|
+
export type SinglePublishEvents = {
|
|
19
|
+
[PublishEvent.Success]: (id: string, detail: string) => void;
|
|
20
|
+
[PublishEvent.Failure]: (id: string, detail: string) => void;
|
|
21
|
+
[PublishEvent.Timeout]: () => void;
|
|
22
|
+
[PublishEvent.Aborted]: () => void;
|
|
23
|
+
[PublishEvent.Complete]: () => void;
|
|
24
|
+
};
|
|
25
|
+
export type SinglePublishOptions = {
|
|
26
|
+
event: SignedEvent;
|
|
27
|
+
relay: string;
|
|
28
|
+
context?: AdapterContext;
|
|
29
|
+
timeout?: number;
|
|
30
|
+
};
|
|
31
|
+
declare const SinglePublish_base: new () => TypedEmitter<SinglePublishEvents>;
|
|
32
|
+
export declare class SinglePublish extends SinglePublish_base {
|
|
33
|
+
readonly options: SinglePublishOptions;
|
|
34
|
+
status: PublishStatus;
|
|
35
|
+
_unsubscriber: () => void;
|
|
36
|
+
_adapter: AbstractAdapter;
|
|
37
|
+
constructor(options: SinglePublishOptions);
|
|
38
|
+
abort: () => void;
|
|
39
|
+
cleanup: () => void;
|
|
40
|
+
}
|
|
41
|
+
export type MultiPublishEvents = {
|
|
42
|
+
[PublishEvent.Success]: (id: string, detail: string, url: string) => void;
|
|
43
|
+
[PublishEvent.Failure]: (id: string, detail: string, url: string) => void;
|
|
44
|
+
[PublishEvent.Timeout]: (url: string) => void;
|
|
45
|
+
[PublishEvent.Aborted]: (url: string) => void;
|
|
46
|
+
[PublishEvent.Complete]: () => void;
|
|
47
|
+
};
|
|
48
|
+
export type MultiPublishOptions = Omit<SinglePublishOptions, "relay"> & {
|
|
49
|
+
relays: string[];
|
|
50
|
+
};
|
|
51
|
+
declare const MultiPublish_base: new () => TypedEmitter<MultiPublishEvents>;
|
|
52
|
+
export declare class MultiPublish extends MultiPublish_base {
|
|
53
|
+
status: Record<string, PublishStatus>;
|
|
54
|
+
_children: SinglePublish[];
|
|
55
|
+
_completed: Set<string>;
|
|
56
|
+
constructor({ relays, ...options }: MultiPublishOptions);
|
|
57
|
+
abort(): void;
|
|
58
|
+
cleanup(): void;
|
|
59
|
+
}
|
|
60
|
+
export {};
|