@livestore/webmesh 0.3.0-dev.21 → 0.3.0-dev.23
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/dist/.tsbuildinfo +1 -1
- package/dist/channel/message-channel-internal.d.ts +3 -3
- package/dist/channel/message-channel-internal.d.ts.map +1 -1
- package/dist/channel/message-channel-internal.js +8 -8
- package/dist/channel/message-channel-internal.js.map +1 -1
- package/dist/channel/message-channel.d.ts +5 -5
- package/dist/channel/message-channel.d.ts.map +1 -1
- package/dist/channel/message-channel.js +22 -22
- package/dist/channel/message-channel.js.map +1 -1
- package/dist/channel/proxy-channel.d.ts +2 -2
- package/dist/channel/proxy-channel.d.ts.map +1 -1
- package/dist/channel/proxy-channel.js +9 -9
- package/dist/channel/proxy-channel.js.map +1 -1
- package/dist/common.d.ts +7 -12
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +5 -3
- package/dist/common.js.map +1 -1
- package/dist/mesh-schema.d.ts +10 -10
- package/dist/mesh-schema.d.ts.map +1 -1
- package/dist/mesh-schema.js +7 -7
- package/dist/mesh-schema.js.map +1 -1
- package/dist/mod.d.ts +2 -2
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +2 -2
- package/dist/mod.js.map +1 -1
- package/dist/node.d.ts +14 -14
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +86 -86
- package/dist/node.js.map +1 -1
- package/dist/node.test.js +25 -25
- package/dist/node.test.js.map +1 -1
- package/dist/websocket-connection.d.ts +1 -1
- package/dist/websocket-connection.d.ts.map +1 -1
- package/dist/websocket-connection.js +5 -5
- package/dist/websocket-connection.js.map +1 -1
- package/dist/websocket-edge.d.ts +51 -0
- package/dist/websocket-edge.d.ts.map +1 -0
- package/dist/websocket-edge.js +69 -0
- package/dist/websocket-edge.js.map +1 -0
- package/dist/websocket-server.d.ts +2 -2
- package/dist/websocket-server.d.ts.map +1 -1
- package/dist/websocket-server.js +6 -6
- package/dist/websocket-server.js.map +1 -1
- package/package.json +3 -3
- package/src/channel/message-channel-internal.ts +10 -10
- package/src/channel/message-channel.ts +25 -25
- package/src/channel/proxy-channel.ts +11 -11
- package/src/common.ts +8 -11
- package/src/mesh-schema.ts +9 -9
- package/src/mod.ts +2 -2
- package/src/node.test.ts +25 -25
- package/src/node.ts +102 -113
- package/src/{websocket-connection.ts → websocket-edge.ts} +15 -14
- package/src/websocket-server.ts +9 -9
|
@@ -6,18 +6,18 @@ export interface MakeMessageChannelArgs {
|
|
|
6
6
|
nodeName: MeshNodeName;
|
|
7
7
|
/** Queue of incoming messages for this channel */
|
|
8
8
|
incomingPacketsQueue: Queue.Queue<MessageQueueItem>;
|
|
9
|
-
|
|
9
|
+
newEdgeAvailablePubSub: PubSub.PubSub<MeshNodeName>;
|
|
10
10
|
channelName: ChannelName;
|
|
11
11
|
target: MeshNodeName;
|
|
12
12
|
sendPacket: (packet: typeof MeshSchema.MessageChannelPacket.Type) => Effect.Effect<void>;
|
|
13
|
-
|
|
13
|
+
checkTransferableEdges: (packet: typeof MeshSchema.MessageChannelPacket.Type) => typeof MeshSchema.MessageChannelResponseNoTransferables.Type | undefined;
|
|
14
14
|
schema: WebChannel.OutputSchema<any, any, any, any>;
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* The channel version is important here, as a channel will only be established once both sides have the same version.
|
|
18
18
|
* The version is used to avoid concurrency issues where both sides have different incompatible message ports.
|
|
19
19
|
*/
|
|
20
|
-
export declare const makeMessageChannelInternal: ({ nodeName, incomingPacketsQueue, target,
|
|
20
|
+
export declare const makeMessageChannelInternal: ({ nodeName, incomingPacketsQueue, target, checkTransferableEdges, channelName, schema: schema_, sendPacket, channelVersion, scope, sourceId, }: MakeMessageChannelArgs & {
|
|
21
21
|
channelVersion: number;
|
|
22
22
|
/** We're passing in the closeable scope from the wrapping message channel */
|
|
23
23
|
scope: Scope.CloseableScope;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-channel-internal.d.ts","sourceRoot":"","sources":["../../src/channel/message-channel-internal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAEL,MAAM,EAIN,KAAK,EAEL,KAAK,EAEL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAA0B,MAAM,cAAc,CAAA;AACjH,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,YAAY,CAAA;IACtB,kDAAkD;IAClD,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnD,
|
|
1
|
+
{"version":3,"file":"message-channel-internal.d.ts","sourceRoot":"","sources":["../../src/channel/message-channel-internal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAEL,MAAM,EAIN,KAAK,EAEL,KAAK,EAEL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAA0B,MAAM,cAAc,CAAA;AACjH,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,YAAY,CAAA;IACtB,kDAAkD;IAClD,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnD,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACnD,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxF,sBAAsB,EAAE,CACtB,MAAM,EAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,IAAI,KAChD,OAAO,UAAU,CAAC,qCAAqC,CAAC,IAAI,GAAG,SAAS,CAAA;IAC7E,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CACpD;AAOD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,gJAWxC,sBAAsB,GAAG;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,KAAK,EAAE,KAAK,CAAC,cAAc,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB,KAAG,MAAM,CAAC,MAAM,CACf,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,OAAO,UAAU,CAAC,qCAAqC,CAAC,IAAI,EAC5D,KAAK,CAAC,KAAK,CAuS2D,CAAA"}
|
|
@@ -7,7 +7,7 @@ const makeDeferredResult = (Deferred.make);
|
|
|
7
7
|
* The channel version is important here, as a channel will only be established once both sides have the same version.
|
|
8
8
|
* The version is used to avoid concurrency issues where both sides have different incompatible message ports.
|
|
9
9
|
*/
|
|
10
|
-
export const makeMessageChannelInternal = ({ nodeName, incomingPacketsQueue, target,
|
|
10
|
+
export const makeMessageChannelInternal = ({ nodeName, incomingPacketsQueue, target, checkTransferableEdges, channelName, schema: schema_, sendPacket, channelVersion, scope, sourceId, }) => Effect.gen(function* () {
|
|
11
11
|
// yield* Effect.addFinalizer((exit) =>
|
|
12
12
|
// Effect.spanEvent(`shutdown:${exit._tag === 'Success' ? 'Success' : Cause.pretty(exit.cause)}`),
|
|
13
13
|
// )
|
|
@@ -108,7 +108,7 @@ export const makeMessageChannelInternal = ({ nodeName, incomingPacketsQueue, tar
|
|
|
108
108
|
span?.addEvent(`winner side: creating message channel and sending response`);
|
|
109
109
|
const mc = new MessageChannel();
|
|
110
110
|
// We're using a message channel with acks here to make sure messages are not lost
|
|
111
|
-
// which might happen during re-
|
|
111
|
+
// which might happen during re-edge scenarios.
|
|
112
112
|
// Also we need to eagerly start listening since we're using the channel "ourselves"
|
|
113
113
|
// for the initial ping-pong sequence.
|
|
114
114
|
const channel = yield* WebChannel.messagePortChannelWithAck({
|
|
@@ -190,7 +190,7 @@ export const makeMessageChannelInternal = ({ nodeName, incomingPacketsQueue, tar
|
|
|
190
190
|
if (channelState._tag !== 'Initial') {
|
|
191
191
|
return shouldNeverHappen(`Expected channel to be in Initial state, but was in ${channelState._tag} state`);
|
|
192
192
|
}
|
|
193
|
-
const
|
|
193
|
+
const edgeRequest = Effect.gen(function* () {
|
|
194
194
|
const packet = MeshSchema.MessageChannelRequest.make({
|
|
195
195
|
source: nodeName,
|
|
196
196
|
sourceId,
|
|
@@ -201,16 +201,16 @@ export const makeMessageChannelInternal = ({ nodeName, incomingPacketsQueue, tar
|
|
|
201
201
|
reqId: undefined,
|
|
202
202
|
});
|
|
203
203
|
channelStateRef.current = { _tag: 'RequestSent', reqPacketId: packet.id };
|
|
204
|
-
// yield* Effect.log(`${nodeName}→${channelName}→${target}:
|
|
205
|
-
const noTransferableResponse =
|
|
204
|
+
// yield* Effect.log(`${nodeName}→${channelName}→${target}:edgeRequest [${channelVersion}]`)
|
|
205
|
+
const noTransferableResponse = checkTransferableEdges(packet);
|
|
206
206
|
if (noTransferableResponse !== undefined) {
|
|
207
|
-
yield* Effect.spanEvent(`No transferable
|
|
207
|
+
yield* Effect.spanEvent(`No transferable edges found for ${packet.source}→${packet.target}`);
|
|
208
208
|
return yield* Effect.fail(noTransferableResponse);
|
|
209
209
|
}
|
|
210
210
|
yield* sendPacket(packet);
|
|
211
|
-
span?.addEvent(`initial
|
|
211
|
+
span?.addEvent(`initial edge request sent (${packet.id})`);
|
|
212
212
|
});
|
|
213
|
-
yield*
|
|
213
|
+
yield* edgeRequest;
|
|
214
214
|
const channel = yield* deferred;
|
|
215
215
|
return channel;
|
|
216
216
|
}).pipe(Effect.withSpanScoped(`makeMessageChannel:${channelVersion}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-channel-internal.js","sourceRoot":"","sources":["../../src/channel/message-channel-internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,EACL,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,UAAU,GACX,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAA8D,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACjH,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAgB/C,MAAM,kBAAkB,GAAG,CAAA,QAAQ,CAAC,IAGnC,CAAA,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,QAAQ,EACR,oBAAoB,EACpB,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"message-channel-internal.js","sourceRoot":"","sources":["../../src/channel/message-channel-internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { Deferred, Effect, Scope, WebChannel } from '@livestore/utils/effect';
|
|
|
2
2
|
import type { MakeMessageChannelArgs } from './message-channel-internal.js';
|
|
3
3
|
/**
|
|
4
4
|
* Behaviour:
|
|
5
|
-
* - Waits until there is an initial
|
|
5
|
+
* - Waits until there is an initial edge
|
|
6
6
|
* - Automatically reconnects on disconnect
|
|
7
7
|
*
|
|
8
8
|
* Implementation notes:
|
|
@@ -10,13 +10,13 @@ import type { MakeMessageChannelArgs } from './message-channel-internal.js';
|
|
|
10
10
|
* - The wrapper channel is responsible for:
|
|
11
11
|
* - Forwarding send/listen messages to the internal channel (via a queue)
|
|
12
12
|
* - Establishing the initial channel and reconnecting on disconnect
|
|
13
|
-
* - Listening for new
|
|
14
|
-
* - The wrapper channel maintains a
|
|
13
|
+
* - Listening for new edges as a hint to reconnect if not already connected
|
|
14
|
+
* - The wrapper channel maintains a edge counter which is used as the channel version
|
|
15
15
|
*
|
|
16
16
|
* If needed we can also implement further functionality (like heartbeat) in this wrapper channel.
|
|
17
17
|
*/
|
|
18
|
-
export declare const makeMessageChannel: ({ schema,
|
|
18
|
+
export declare const makeMessageChannel: ({ schema, newEdgeAvailablePubSub, channelName, checkTransferableEdges, nodeName, incomingPacketsQueue, target, sendPacket, }: MakeMessageChannelArgs) => Effect.Effect<{
|
|
19
19
|
webChannel: WebChannel.WebChannel<any, any>;
|
|
20
|
-
|
|
20
|
+
initialEdgeDeferred: Deferred.Deferred<void, never>;
|
|
21
21
|
}, never, Scope.Scope>;
|
|
22
22
|
//# sourceMappingURL=message-channel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-channel.d.ts","sourceRoot":"","sources":["../../src/channel/message-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAMN,KAAK,EAGL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAIhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAG3E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAAI,
|
|
1
|
+
{"version":3,"file":"message-channel.d.ts","sourceRoot":"","sources":["../../src/channel/message-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAMN,KAAK,EAGL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAIhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAG3E;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAAI,8HAShC,sBAAsB;gBAyLS,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;;sBAI9D,CAAA"}
|
|
@@ -4,7 +4,7 @@ import * as WebmeshSchema from '../mesh-schema.js';
|
|
|
4
4
|
import { makeMessageChannelInternal } from './message-channel-internal.js';
|
|
5
5
|
/**
|
|
6
6
|
* Behaviour:
|
|
7
|
-
* - Waits until there is an initial
|
|
7
|
+
* - Waits until there is an initial edge
|
|
8
8
|
* - Automatically reconnects on disconnect
|
|
9
9
|
*
|
|
10
10
|
* Implementation notes:
|
|
@@ -12,17 +12,17 @@ import { makeMessageChannelInternal } from './message-channel-internal.js';
|
|
|
12
12
|
* - The wrapper channel is responsible for:
|
|
13
13
|
* - Forwarding send/listen messages to the internal channel (via a queue)
|
|
14
14
|
* - Establishing the initial channel and reconnecting on disconnect
|
|
15
|
-
* - Listening for new
|
|
16
|
-
* - The wrapper channel maintains a
|
|
15
|
+
* - Listening for new edges as a hint to reconnect if not already connected
|
|
16
|
+
* - The wrapper channel maintains a edge counter which is used as the channel version
|
|
17
17
|
*
|
|
18
18
|
* If needed we can also implement further functionality (like heartbeat) in this wrapper channel.
|
|
19
19
|
*/
|
|
20
|
-
export const makeMessageChannel = ({ schema,
|
|
20
|
+
export const makeMessageChannel = ({ schema, newEdgeAvailablePubSub, channelName, checkTransferableEdges, nodeName, incomingPacketsQueue, target, sendPacket, }) => Effect.scopeWithCloseable((scope) => Effect.gen(function* () {
|
|
21
21
|
/** Only used to identify whether a source is the same instance to know when to reconnect */
|
|
22
22
|
const sourceId = nanoid();
|
|
23
23
|
const listenQueue = yield* Queue.unbounded();
|
|
24
24
|
const sendQueue = yield* TQueue.unbounded();
|
|
25
|
-
const
|
|
25
|
+
const initialEdgeDeferred = yield* Deferred.make();
|
|
26
26
|
const debugInfo = {
|
|
27
27
|
pendingSends: 0,
|
|
28
28
|
totalSends: 0,
|
|
@@ -42,39 +42,39 @@ export const makeMessageChannel = ({ schema, newConnectionAvailablePubSub, chann
|
|
|
42
42
|
yield* Effect.addFinalizer((ex) => Scope.close(makeMessageChannelScope, ex));
|
|
43
43
|
/**
|
|
44
44
|
* Expected concurrency behaviour:
|
|
45
|
-
* - We're concurrently running the
|
|
45
|
+
* - We're concurrently running the edge setup and the waitForNewEdgeFiber
|
|
46
46
|
* - Happy path:
|
|
47
|
-
* - The
|
|
47
|
+
* - The edge setup succeeds and we can interrupt the waitForNewEdgeFiber
|
|
48
48
|
* - Tricky paths:
|
|
49
|
-
* - While a
|
|
50
|
-
* - If the
|
|
51
|
-
* we want to wait for a new
|
|
49
|
+
* - While a edge is still being setup, we want to re-try when there is a new edge
|
|
50
|
+
* - If the edge setup returns a `MessageChannelResponseNoTransferables` error,
|
|
51
|
+
* we want to wait for a new edge and then re-try
|
|
52
52
|
* - Further notes:
|
|
53
|
-
* - If the parent scope closes, we want to also interrupt both the
|
|
54
|
-
* - We're creating a separate scope for each
|
|
53
|
+
* - If the parent scope closes, we want to also interrupt both the edge setup and the waitForNewEdgeFiber
|
|
54
|
+
* - We're creating a separate scope for each edge attempt, which
|
|
55
55
|
* - we'll use to fork the message channel in which allows us to interrupt it later
|
|
56
56
|
* - We need to make sure that "interruption" isn't "bubbling out"
|
|
57
57
|
*/
|
|
58
|
-
const
|
|
58
|
+
const waitForNewEdgeFiber = yield* Stream.fromPubSub(newEdgeAvailablePubSub).pipe(Stream.tap((edgeName) => Effect.spanEvent(`new-conn:${edgeName}`)), Stream.take(1), Stream.runDrain, Effect.as('new-edge'), Effect.fork);
|
|
59
59
|
const makeChannel = makeMessageChannelInternal({
|
|
60
60
|
nodeName,
|
|
61
61
|
sourceId,
|
|
62
62
|
incomingPacketsQueue,
|
|
63
63
|
target,
|
|
64
|
-
|
|
64
|
+
checkTransferableEdges,
|
|
65
65
|
channelName,
|
|
66
66
|
schema,
|
|
67
67
|
channelVersion,
|
|
68
|
-
|
|
68
|
+
newEdgeAvailablePubSub,
|
|
69
69
|
sendPacket,
|
|
70
70
|
scope: makeMessageChannelScope,
|
|
71
71
|
}).pipe(Scope.extend(makeMessageChannelScope), Effect.forkIn(makeMessageChannelScope),
|
|
72
72
|
// Given we only call `Effect.exit` later when joining the fiber,
|
|
73
73
|
// we don't want Effect to produce a "unhandled error" log message
|
|
74
74
|
Effect.withUnhandledErrorLogLevel(Option.none()));
|
|
75
|
-
const raceResult = yield* Effect.raceFirst(makeChannel,
|
|
76
|
-
if (raceResult === 'new-
|
|
77
|
-
yield* Scope.close(makeMessageChannelScope, Exit.fail('new-
|
|
75
|
+
const raceResult = yield* Effect.raceFirst(makeChannel, waitForNewEdgeFiber.pipe(Effect.disconnect));
|
|
76
|
+
if (raceResult === 'new-edge') {
|
|
77
|
+
yield* Scope.close(makeMessageChannelScope, Exit.fail('new-edge'));
|
|
78
78
|
// We'll try again
|
|
79
79
|
}
|
|
80
80
|
else {
|
|
@@ -83,8 +83,8 @@ export const makeMessageChannel = ({ schema, newConnectionAvailablePubSub, chann
|
|
|
83
83
|
yield* Scope.close(makeMessageChannelScope, channelExit);
|
|
84
84
|
if (Cause.isFailType(channelExit.cause) &&
|
|
85
85
|
Schema.is(WebmeshSchema.MessageChannelResponseNoTransferables)(channelExit.cause.error)) {
|
|
86
|
-
// Only retry when there is a new
|
|
87
|
-
yield*
|
|
86
|
+
// Only retry when there is a new edge available
|
|
87
|
+
yield* waitForNewEdgeFiber.pipe(Effect.exit);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
else {
|
|
@@ -99,7 +99,7 @@ export const makeMessageChannel = ({ schema, newConnectionAvailablePubSub, chann
|
|
|
99
99
|
yield* Effect.spanEvent(`Connected#${channelVersion}`);
|
|
100
100
|
debugInfo.isConnected = true;
|
|
101
101
|
debugInfo.innerChannelRef.current = channel;
|
|
102
|
-
yield* Deferred.succeed(
|
|
102
|
+
yield* Deferred.succeed(initialEdgeDeferred, void 0);
|
|
103
103
|
// We'll now forward all incoming messages to the listen queue
|
|
104
104
|
yield* channel.listen.pipe(Stream.flatten(),
|
|
105
105
|
// Stream.tap((msg) => Effect.log(`${target}→${channelName}→${nodeName}:message:${msg.message}`)),
|
|
@@ -147,7 +147,7 @@ export const makeMessageChannel = ({ schema, newConnectionAvailablePubSub, chann
|
|
|
147
147
|
};
|
|
148
148
|
return {
|
|
149
149
|
webChannel: webChannel,
|
|
150
|
-
|
|
150
|
+
initialEdgeDeferred,
|
|
151
151
|
};
|
|
152
152
|
}));
|
|
153
153
|
//# sourceMappingURL=message-channel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-channel.js","sourceRoot":"","sources":["../../src/channel/message-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,IAAI,EACJ,MAAM,EACN,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,GACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAA;AAE1E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,MAAM,EACN,
|
|
1
|
+
{"version":3,"file":"message-channel.js","sourceRoot":"","sources":["../../src/channel/message-channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import * as MeshSchema from '../mesh-schema.js';
|
|
|
5
5
|
interface MakeProxyChannelArgs {
|
|
6
6
|
queue: Queue.Queue<ProxyQueueItem>;
|
|
7
7
|
nodeName: MeshNodeName;
|
|
8
|
-
|
|
8
|
+
newEdgeAvailablePubSub: PubSub.PubSub<MeshNodeName>;
|
|
9
9
|
sendPacket: (packet: typeof MeshSchema.ProxyChannelPacket.Type) => Effect.Effect<void>;
|
|
10
10
|
channelName: ChannelName;
|
|
11
11
|
target: MeshNodeName;
|
|
@@ -14,6 +14,6 @@ interface MakeProxyChannelArgs {
|
|
|
14
14
|
listen: Schema.Schema<any, any>;
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
export declare const makeProxyChannel: ({ queue, nodeName,
|
|
17
|
+
export declare const makeProxyChannel: ({ queue, nodeName, newEdgeAvailablePubSub, sendPacket, target, channelName, schema, }: MakeProxyChannelArgs) => Effect.Effect<WebChannel.WebChannel<any, any, never>, never, Scope.Scope>;
|
|
18
18
|
export {};
|
|
19
19
|
//# sourceMappingURL=proxy-channel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-channel.d.ts","sourceRoot":"","sources":["../../src/channel/proxy-channel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAEL,MAAM,EAKN,KAAK,EAEL,MAAM,EACN,KAAK,EAGL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAEjB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,UAAU,oBAAoB;IAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAClC,QAAQ,EAAE,YAAY,CAAA;IACtB,
|
|
1
|
+
{"version":3,"file":"proxy-channel.d.ts","sourceRoot":"","sources":["../../src/channel/proxy-channel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAEL,MAAM,EAKN,KAAK,EAEL,MAAM,EACN,KAAK,EAGL,UAAU,EACX,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAEjB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,UAAU,oBAAoB;IAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAClC,QAAQ,EAAE,YAAY,CAAA;IACtB,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IACnD,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,UAAU,CAAC,kBAAkB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtF,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAChC,CAAA;CACF;AAED,eAAO,MAAM,gBAAgB,GAAI,uFAQ9B,oBAAoB,8EAsTpB,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { Deferred, Effect, Either, Exit, Fiber, FiberHandle, Queue, Schedule, Sc
|
|
|
3
3
|
import { nanoid } from '@livestore/utils/nanoid';
|
|
4
4
|
import { packetAsOtelAttributes, } from '../common.js';
|
|
5
5
|
import * as MeshSchema from '../mesh-schema.js';
|
|
6
|
-
export const makeProxyChannel = ({ queue, nodeName,
|
|
6
|
+
export const makeProxyChannel = ({ queue, nodeName, newEdgeAvailablePubSub, sendPacket, target, channelName, schema, }) => Effect.scopeWithCloseable((scope) => Effect.gen(function* () {
|
|
7
7
|
const channelStateRef = { current: { _tag: 'Initial' } };
|
|
8
8
|
const debugInfo = {
|
|
9
9
|
pendingSends: 0,
|
|
@@ -24,7 +24,7 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
24
24
|
return state;
|
|
25
25
|
});
|
|
26
26
|
const setStateToEstablished = (channelId) => Effect.gen(function* () {
|
|
27
|
-
// TODO avoid "double" `Connected` events (we might call `setStateToEstablished` twice during initial
|
|
27
|
+
// TODO avoid "double" `Connected` events (we might call `setStateToEstablished` twice during initial edge)
|
|
28
28
|
yield* Effect.spanEvent(`Connected (${channelId})`).pipe(Effect.withParentSpan(channelSpan));
|
|
29
29
|
channelStateRef.current = {
|
|
30
30
|
_tag: 'Established',
|
|
@@ -36,7 +36,7 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
36
36
|
yield* SubscriptionRef.set(connectedStateRef, channelStateRef.current);
|
|
37
37
|
debugInfo.isConnected = true;
|
|
38
38
|
});
|
|
39
|
-
const
|
|
39
|
+
const edgeRequest = Effect.suspend(() => sendPacket(MeshSchema.ProxyChannelRequest.make({ channelName, hops: [], source: nodeName, target, channelIdCandidate })));
|
|
40
40
|
const getCombinedChannelId = (otherSideChannelIdCandidate) => [channelIdCandidate, otherSideChannelIdCandidate].sort().join('_');
|
|
41
41
|
const processProxyPacket = ({ packet, respondToSender }) => Effect.gen(function* () {
|
|
42
42
|
// yield* Effect.log(`${nodeName}:processing packet ${packet._tag} from ${packet.source}`)
|
|
@@ -52,9 +52,9 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
52
52
|
yield* Effect.spanEvent(`Reconnecting`).pipe(Effect.withParentSpan(channelSpan));
|
|
53
53
|
debugInfo.isConnected = false;
|
|
54
54
|
debugInfo.connectCounter++;
|
|
55
|
-
// If we're already connected, we need to re-establish the
|
|
55
|
+
// If we're already connected, we need to re-establish the edge
|
|
56
56
|
if (channelState._tag === 'Established' && channelState.combinedChannelId !== combinedChannelId) {
|
|
57
|
-
yield*
|
|
57
|
+
yield* edgeRequest;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
yield* respondToSender(MeshSchema.ProxyChannelResponseSuccess.make({
|
|
@@ -132,17 +132,17 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
132
132
|
yield* Effect.spanEvent(`Connecting`);
|
|
133
133
|
const ackMap = new Map();
|
|
134
134
|
// check if already established via incoming `ProxyChannelRequest` from other side
|
|
135
|
-
// which indicates we already have a
|
|
135
|
+
// which indicates we already have a edge to the target node
|
|
136
136
|
// const channelState = channelStateRef.current
|
|
137
137
|
{
|
|
138
138
|
if (channelStateRef.current._tag !== 'Initial') {
|
|
139
139
|
return shouldNeverHappen('Expected proxy channel to be Initial');
|
|
140
140
|
}
|
|
141
141
|
channelStateRef.current = { _tag: 'Pending', initiatedVia: 'outgoing-request' };
|
|
142
|
-
yield*
|
|
143
|
-
const
|
|
142
|
+
yield* edgeRequest;
|
|
143
|
+
const retryOnNewEdgeFiber = yield* Stream.fromPubSub(newEdgeAvailablePubSub).pipe(Stream.tap(() => edgeRequest), Stream.runDrain, Effect.forkScoped);
|
|
144
144
|
const { combinedChannelId: channelId } = yield* waitForEstablished;
|
|
145
|
-
yield* Fiber.interrupt(
|
|
145
|
+
yield* Fiber.interrupt(retryOnNewEdgeFiber);
|
|
146
146
|
yield* setStateToEstablished(channelId);
|
|
147
147
|
}
|
|
148
148
|
const send = (message) => Effect.gen(function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-channel.js","sourceRoot":"","sources":["../../src/channel/proxy-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,EACL,QAAQ,EACR,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,eAAe,EACf,UAAU,GACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAIL,sBAAsB,GAEvB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAe/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"proxy-channel.js","sourceRoot":"","sources":["../../src/channel/proxy-channel.ts"],"names":[],"mappings":"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"}
|
package/dist/common.d.ts
CHANGED
|
@@ -11,17 +11,12 @@ export type MessageQueueItem = {
|
|
|
11
11
|
export type MeshNodeName = string;
|
|
12
12
|
export type ChannelName = string;
|
|
13
13
|
export type ChannelKey = `target:${MeshNodeName}, channelName:${ChannelName}`;
|
|
14
|
-
declare const
|
|
15
|
-
readonly _tag: Schema.tag<"
|
|
16
|
-
}>;
|
|
17
|
-
export declare class NoConnectionRouteSignal extends NoConnectionRouteSignal_base {
|
|
18
|
-
}
|
|
19
|
-
declare const ConnectionAlreadyExistsError_base: Schema.TaggedErrorClass<ConnectionAlreadyExistsError, "ConnectionAlreadyExistsError", {
|
|
20
|
-
readonly _tag: Schema.tag<"ConnectionAlreadyExistsError">;
|
|
14
|
+
declare const EdgeAlreadyExistsError_base: Schema.TaggedErrorClass<EdgeAlreadyExistsError, "EdgeAlreadyExistsError", {
|
|
15
|
+
readonly _tag: Schema.tag<"EdgeAlreadyExistsError">;
|
|
21
16
|
} & {
|
|
22
17
|
target: typeof Schema.String;
|
|
23
18
|
}>;
|
|
24
|
-
export declare class
|
|
19
|
+
export declare class EdgeAlreadyExistsError extends EdgeAlreadyExistsError_base {
|
|
25
20
|
}
|
|
26
21
|
export declare const packetAsOtelAttributes: (packet: typeof Packet.Type) => {
|
|
27
22
|
packet?: {
|
|
@@ -78,22 +73,22 @@ export declare const packetAsOtelAttributes: (packet: typeof Packet.Type) => {
|
|
|
78
73
|
readonly id: string;
|
|
79
74
|
readonly target: string;
|
|
80
75
|
readonly source: string;
|
|
81
|
-
readonly _tag: "
|
|
76
|
+
readonly _tag: "NetworkEdgeAdded";
|
|
82
77
|
} | {
|
|
83
78
|
readonly id: string;
|
|
84
79
|
readonly target: "-";
|
|
85
80
|
readonly source: string;
|
|
86
81
|
readonly hops: readonly string[];
|
|
87
|
-
readonly _tag: "
|
|
82
|
+
readonly _tag: "NetworkTopologyRequest";
|
|
88
83
|
} | {
|
|
89
84
|
readonly remainingHops: readonly string[];
|
|
90
85
|
readonly reqId: string;
|
|
91
86
|
readonly id: string;
|
|
92
87
|
readonly target: "-";
|
|
93
88
|
readonly source: string;
|
|
94
|
-
readonly _tag: "
|
|
89
|
+
readonly _tag: "NetworkTopologyResponse";
|
|
95
90
|
readonly nodeName: string;
|
|
96
|
-
readonly
|
|
91
|
+
readonly edges: readonly string[];
|
|
97
92
|
} | {
|
|
98
93
|
readonly id: string;
|
|
99
94
|
readonly target: "-";
|
package/dist/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAExF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,OAAO,kBAAkB,CAAC,IAAI,CAAA;IACtC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,kBAAkB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC9E,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,oBAAoB,CAAC,IAAI,CAAA;IACxC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,oBAAoB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAChF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAChC,MAAM,MAAM,UAAU,GAAG,UAAU,YAAY,iBAAiB,WAAW,EAAE,CAAA
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAExF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,OAAO,kBAAkB,CAAC,IAAI,CAAA;IACtC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,kBAAkB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC9E,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,OAAO,oBAAoB,CAAC,IAAI,CAAA;IACxC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,oBAAoB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAChF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAChC,MAAM,MAAM,UAAU,GAAG,UAAU,YAAY,iBAAiB,WAAW,EAAE,CAAA;;;;;;AAQ7E,qBAAa,sBAAuB,SAAQ,2BAE1C;CAAG;AAEL,eAAO,MAAM,sBAAsB,GAAI,QAAQ,OAAO,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/D,CAAA"}
|
package/dist/common.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Predicate, Schema } from '@livestore/utils/effect';
|
|
2
2
|
// TODO actually use this to avoid timeouts in certain cases
|
|
3
|
-
export class NoConnectionRouteSignal extends Schema.TaggedError()(
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
// export class NoConnectionRouteSignal extends Schema.TaggedError<NoConnectionRouteSignal>()(
|
|
4
|
+
// 'NoConnectionRouteSignal',
|
|
5
|
+
// {},
|
|
6
|
+
// ) {}
|
|
7
|
+
export class EdgeAlreadyExistsError extends Schema.TaggedError()('EdgeAlreadyExistsError', {
|
|
6
8
|
target: Schema.String,
|
|
7
9
|
}) {
|
|
8
10
|
}
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAmBxE,4DAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAmBxE,4DAA4D;AAC5D,8FAA8F;AAC9F,+BAA+B;AAC/B,QAAQ;AACR,OAAO;AAEP,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,WAAW,EAA0B,CAAC,wBAAwB,EAAE;IACjH,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;CAAG;AAEL,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAA0B,EAAE,EAAE,CAAC,CAAC;IACrE,QAAQ,EAAE,MAAM,CAAC,EAAE;IACnB,YAAY,EACV,MAAM,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClH,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,+BAA+B,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAChH,CAAC,CAAA"}
|
package/dist/mesh-schema.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ declare const MessageChannelRequest_base: Schema.TaggedStruct<"MessageChannelReq
|
|
|
16
16
|
hops: Schema.Array$<typeof Schema.String>;
|
|
17
17
|
}>;
|
|
18
18
|
/**
|
|
19
|
-
* Needs to go through already existing MessageChannel
|
|
19
|
+
* Needs to go through already existing MessageChannel edges, times out otherwise
|
|
20
20
|
*
|
|
21
21
|
* Can't yet contain the `port` because the request might be duplicated while forwarding to multiple nodes.
|
|
22
22
|
* We need a clear path back to the sender to avoid this, thus we respond with a separate
|
|
@@ -96,37 +96,37 @@ declare const ProxyChannelPayloadAck_base: Schema.TaggedStruct<"ProxyChannelPayl
|
|
|
96
96
|
}>;
|
|
97
97
|
export declare class ProxyChannelPayloadAck extends ProxyChannelPayloadAck_base {
|
|
98
98
|
}
|
|
99
|
-
declare const
|
|
99
|
+
declare const NetworkEdgeAdded_base: Schema.TaggedStruct<"NetworkEdgeAdded", {
|
|
100
100
|
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
101
101
|
source: typeof Schema.String;
|
|
102
102
|
target: typeof Schema.String;
|
|
103
103
|
}>;
|
|
104
104
|
/**
|
|
105
|
-
* Broadcast to all nodes when a new
|
|
105
|
+
* Broadcast to all nodes when a new edge is added.
|
|
106
106
|
* Mostly used for auto-reconnect purposes.
|
|
107
107
|
*/
|
|
108
|
-
export declare class
|
|
108
|
+
export declare class NetworkEdgeAdded extends NetworkEdgeAdded_base {
|
|
109
109
|
}
|
|
110
|
-
declare const
|
|
110
|
+
declare const NetworkTopologyRequest_base: Schema.TaggedStruct<"NetworkTopologyRequest", {
|
|
111
111
|
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
112
112
|
hops: Schema.Array$<typeof Schema.String>;
|
|
113
113
|
/** Always fixed to who requested the topology */
|
|
114
114
|
source: typeof Schema.String;
|
|
115
115
|
target: Schema.Literal<["-"]>;
|
|
116
116
|
}>;
|
|
117
|
-
export declare class
|
|
117
|
+
export declare class NetworkTopologyRequest extends NetworkTopologyRequest_base {
|
|
118
118
|
}
|
|
119
|
-
declare const
|
|
119
|
+
declare const NetworkTopologyResponse_base: Schema.TaggedStruct<"NetworkTopologyResponse", {
|
|
120
120
|
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
121
121
|
reqId: typeof Schema.String;
|
|
122
122
|
remainingHops: Schema.Array$<typeof Schema.String>;
|
|
123
123
|
nodeName: typeof Schema.String;
|
|
124
|
-
|
|
124
|
+
edges: Schema.Array$<typeof Schema.String>;
|
|
125
125
|
/** Always fixed to who requested the topology */
|
|
126
126
|
source: typeof Schema.String;
|
|
127
127
|
target: Schema.Literal<["-"]>;
|
|
128
128
|
}>;
|
|
129
|
-
export declare class
|
|
129
|
+
export declare class NetworkTopologyResponse extends NetworkTopologyResponse_base {
|
|
130
130
|
}
|
|
131
131
|
export declare const BroadcastChannelPacket: Schema.TaggedStruct<"BroadcastChannelPacket", {
|
|
132
132
|
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
@@ -146,7 +146,7 @@ export declare class MessageChannelPacket extends MessageChannelPacket_base {
|
|
|
146
146
|
declare const ProxyChannelPacket_base: Schema.Union<[typeof ProxyChannelRequest, typeof ProxyChannelResponseSuccess, typeof ProxyChannelPayload, typeof ProxyChannelPayloadAck]>;
|
|
147
147
|
export declare class ProxyChannelPacket extends ProxyChannelPacket_base {
|
|
148
148
|
}
|
|
149
|
-
declare const Packet_base: Schema.Union<[typeof MessageChannelPacket, typeof ProxyChannelPacket, typeof
|
|
149
|
+
declare const Packet_base: Schema.Union<[typeof MessageChannelPacket, typeof ProxyChannelPacket, typeof NetworkEdgeAdded, typeof NetworkTopologyRequest, typeof NetworkTopologyResponse, Schema.TaggedStruct<"BroadcastChannelPacket", {
|
|
150
150
|
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
151
151
|
channelName: typeof Schema.String;
|
|
152
152
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-schema.d.ts","sourceRoot":"","sources":["../src/mesh-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,yBAAyB,CAAA;;;;IA6B5D,oEAAoE;;IAEpE;;;OAGG;;;;;;;;AAhBL;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,0BAWzC;CAAG;;;;;;;;;;;;AAEL,qBAAa,6BAA8B,SAAQ,kCAOjD;CAAG;;;;;;;;;;AAEL,qBAAa,qCAAsC,SAAQ,0CAO1D;CAAG;;;;;;;;;;AAEJ,qBAAa,mBAAoB,SAAQ,wBAIvC;CAAG;;;;;;;;;;;;AAEL,qBAAa,2BAA4B,SAAQ,gCAM/C;CAAG;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAKvC;CAAG;;;;;;;;;;;AAEL,qBAAa,sBAAuB,SAAQ,2BAK1C;CAAG;;;;;;AAEL;;;GAGG;AACH,qBAAa,
|
|
1
|
+
{"version":3,"file":"mesh-schema.d.ts","sourceRoot":"","sources":["../src/mesh-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,yBAAyB,CAAA;;;;IA6B5D,oEAAoE;;IAEpE;;;OAGG;;;;;;;;AAhBL;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,0BAWzC;CAAG;;;;;;;;;;;;AAEL,qBAAa,6BAA8B,SAAQ,kCAOjD;CAAG;;;;;;;;;;AAEL,qBAAa,qCAAsC,SAAQ,0CAO1D;CAAG;;;;;;;;;;AAEJ,qBAAa,mBAAoB,SAAQ,wBAIvC;CAAG;;;;;;;;;;;;AAEL,qBAAa,2BAA4B,SAAQ,gCAM/C;CAAG;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAKvC;CAAG;;;;;;;;;;;AAEL,qBAAa,sBAAuB,SAAQ,2BAK1C;CAAG;;;;;;AAEL;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAIpC;CAAG;;;;IAKH,iDAAiD;;;;AAHnD,qBAAa,sBAAuB,SAAQ,2BAM1C;CAAG;;;;;;;IAQH,iDAAiD;;;;AANnD,qBAAa,uBAAwB,SAAQ,4BAS3C;CAAG;AAEL,eAAO,MAAM,sBAAsB;;;IAGjC;;;OAGG;;;;;EAKH,CAAA;;AAEF,qBAAa,oBAAqB,SAAQ,yBAIzC;CAAG;;AAEJ,qBAAa,kBAAmB,SAAQ,uBAKvC;CAAG;;;;IArBF;;;OAGG;;;;;;AAoBL,qBAAa,MAAO,SAAQ,WAO3B;CAAG;;AAEJ,qBAAa,kBAAmB,SAAQ,uBAA6C;CAAG;;AACxF,qBAAa,kBAAmB,SAAQ,uBAA6C;CAAG"}
|