@livestore/webmesh 0.3.0-dev.5 → 0.3.0-dev.51
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/README.md +43 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/channel/direct-channel-internal.d.ts +26 -0
- package/dist/channel/direct-channel-internal.d.ts.map +1 -0
- package/dist/channel/direct-channel-internal.js +217 -0
- package/dist/channel/direct-channel-internal.js.map +1 -0
- package/dist/channel/direct-channel.d.ts +22 -0
- package/dist/channel/direct-channel.d.ts.map +1 -0
- package/dist/channel/direct-channel.js +153 -0
- package/dist/channel/direct-channel.js.map +1 -0
- package/dist/channel/proxy-channel.d.ts +3 -3
- package/dist/channel/proxy-channel.d.ts.map +1 -1
- package/dist/channel/proxy-channel.js +119 -37
- package/dist/channel/proxy-channel.js.map +1 -1
- package/dist/common.d.ts +47 -19
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +13 -5
- package/dist/common.js.map +1 -1
- package/dist/mesh-schema.d.ts +79 -13
- package/dist/mesh-schema.d.ts.map +1 -1
- package/dist/mesh-schema.js +59 -10
- 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 +56 -23
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +323 -115
- package/dist/node.js.map +1 -1
- package/dist/node.test.d.ts +1 -1
- package/dist/node.test.d.ts.map +1 -1
- package/dist/node.test.js +489 -157
- package/dist/node.test.js.map +1 -1
- package/dist/utils.d.ts +4 -4
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +7 -1
- package/dist/utils.js.map +1 -1
- package/dist/websocket-edge.d.ts +56 -0
- package/dist/websocket-edge.d.ts.map +1 -0
- package/dist/websocket-edge.js +93 -0
- package/dist/websocket-edge.js.map +1 -0
- package/package.json +10 -6
- package/src/channel/direct-channel-internal.ts +356 -0
- package/src/channel/direct-channel.ts +234 -0
- package/src/channel/proxy-channel.ts +344 -234
- package/src/common.ts +24 -17
- package/src/mesh-schema.ts +73 -20
- package/src/mod.ts +2 -2
- package/src/node.test.ts +723 -190
- package/src/node.ts +482 -156
- package/src/utils.ts +13 -2
- package/src/websocket-edge.ts +191 -0
- package/dist/channel/message-channel.d.ts +0 -20
- package/dist/channel/message-channel.d.ts.map +0 -1
- package/dist/channel/message-channel.js +0 -183
- package/dist/channel/message-channel.js.map +0 -1
- package/dist/websocket-connection.d.ts +0 -51
- package/dist/websocket-connection.d.ts.map +0 -1
- package/dist/websocket-connection.js +0 -74
- package/dist/websocket-connection.js.map +0 -1
- package/dist/websocket-server.d.ts +0 -7
- package/dist/websocket-server.d.ts.map +0 -1
- package/dist/websocket-server.js +0 -24
- package/dist/websocket-server.js.map +0 -1
- package/src/channel/message-channel.ts +0 -354
- package/src/websocket-connection.ts +0 -158
- package/src/websocket-server.ts +0 -40
- package/tsconfig.json +0 -11
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import { casesHandled, shouldNeverHappen } from '@livestore/utils';
|
|
2
|
-
import { Deferred, Effect, Either, Fiber, FiberHandle, Queue, Schedule, Schema, Stream, SubscriptionRef, WebChannel, } from '@livestore/utils/effect';
|
|
2
|
+
import { Deferred, Effect, Either, Exit, Fiber, FiberHandle, Queue, Schedule, Schema, Scope, Stream, SubscriptionRef, WebChannel, } from '@livestore/utils/effect';
|
|
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
|
+
const debugInfo = {
|
|
9
|
+
kind: 'proxy-channel',
|
|
10
|
+
pendingSends: 0,
|
|
11
|
+
totalSends: 0,
|
|
12
|
+
connectCounter: 0,
|
|
13
|
+
isConnected: false,
|
|
14
|
+
};
|
|
8
15
|
/**
|
|
9
16
|
* We need to unique identify a channel as multiple channels might exist between the same two nodes.
|
|
10
17
|
* We do this by letting each channel end generate a unique id and then combining them in a deterministic way.
|
|
@@ -18,7 +25,7 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
18
25
|
return state;
|
|
19
26
|
});
|
|
20
27
|
const setStateToEstablished = (channelId) => Effect.gen(function* () {
|
|
21
|
-
// TODO avoid "double" `Connected` events (we might call `setStateToEstablished` twice during initial
|
|
28
|
+
// TODO avoid "double" `Connected` events (we might call `setStateToEstablished` twice during initial edge)
|
|
22
29
|
yield* Effect.spanEvent(`Connected (${channelId})`).pipe(Effect.withParentSpan(channelSpan));
|
|
23
30
|
channelStateRef.current = {
|
|
24
31
|
_tag: 'Established',
|
|
@@ -28,26 +35,56 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
28
35
|
combinedChannelId: channelId,
|
|
29
36
|
};
|
|
30
37
|
yield* SubscriptionRef.set(connectedStateRef, channelStateRef.current);
|
|
38
|
+
debugInfo.isConnected = true;
|
|
31
39
|
});
|
|
32
|
-
const
|
|
40
|
+
const edgeRequest = Effect.suspend(() => sendPacket(MeshSchema.ProxyChannelRequest.make({ channelName, hops: [], source: nodeName, target, channelIdCandidate })));
|
|
33
41
|
const getCombinedChannelId = (otherSideChannelIdCandidate) => [channelIdCandidate, otherSideChannelIdCandidate].sort().join('_');
|
|
42
|
+
const earlyPayloadBuffer = yield* Queue.unbounded().pipe(Effect.acquireRelease(Queue.shutdown));
|
|
34
43
|
const processProxyPacket = ({ packet, respondToSender }) => Effect.gen(function* () {
|
|
35
|
-
// yield* Effect.
|
|
44
|
+
// yield* Effect.logDebug(
|
|
45
|
+
// `[${nodeName}] processProxyPacket received: ${packet._tag} from ${packet.source} (reqId: ${packet.id})`,
|
|
46
|
+
// )
|
|
36
47
|
const otherSideName = packet.source;
|
|
37
|
-
const channelKey =
|
|
48
|
+
const channelKey = `target:${otherSideName}, channelName:${packet.channelName}`;
|
|
38
49
|
const channelState = channelStateRef.current;
|
|
39
50
|
switch (packet._tag) {
|
|
40
51
|
case 'ProxyChannelRequest': {
|
|
41
52
|
const combinedChannelId = getCombinedChannelId(packet.channelIdCandidate);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
yield*
|
|
53
|
+
// Handle Established state explicitly
|
|
54
|
+
if (channelState._tag === 'Established') {
|
|
55
|
+
// Check if the incoming request is for the *same* channel instance
|
|
56
|
+
if (channelState.combinedChannelId === combinedChannelId) {
|
|
57
|
+
// Already established with the same ID, likely a redundant request.
|
|
58
|
+
// Just respond and stay established.
|
|
59
|
+
// yield* Effect.logDebug(
|
|
60
|
+
// `[${nodeName}] Received redundant ProxyChannelRequest for already established channel instance ${combinedChannelId}. Responding.`,
|
|
61
|
+
// )
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// Established, but the incoming request has a different ID.
|
|
65
|
+
// This implies a reconnect scenario where IDs don't match. Reset to Pending and re-initiate.
|
|
66
|
+
yield* Effect.logWarning(`[${nodeName}] Received ProxyChannelRequest with different channel ID (${combinedChannelId}) while established with ${channelState.combinedChannelId}. Re-establishing.`);
|
|
67
|
+
yield* SubscriptionRef.set(connectedStateRef, false);
|
|
68
|
+
channelStateRef.current = { _tag: 'Pending', initiatedVia: 'incoming-request' };
|
|
69
|
+
yield* Effect.spanEvent(`Reconnecting (received conflicting ProxyChannelRequest)`).pipe(Effect.withParentSpan(channelSpan));
|
|
70
|
+
debugInfo.isConnected = false;
|
|
71
|
+
debugInfo.connectCounter++;
|
|
72
|
+
// We need to send our own request as well to complete the handshake for the new ID
|
|
73
|
+
yield* edgeRequest;
|
|
49
74
|
}
|
|
50
75
|
}
|
|
76
|
+
else if (channelState._tag === 'Initial') {
|
|
77
|
+
// Standard initial connection: set to Pending
|
|
78
|
+
yield* SubscriptionRef.set(connectedStateRef, false); // Ensure connectedStateRef is false if we were somehow Initial but it wasn't false
|
|
79
|
+
channelStateRef.current = { _tag: 'Pending', initiatedVia: 'incoming-request' };
|
|
80
|
+
yield* Effect.spanEvent(`Connecting (received ProxyChannelRequest)`).pipe(Effect.withParentSpan(channelSpan));
|
|
81
|
+
debugInfo.isConnected = false; // Should be false already, but ensure consistency
|
|
82
|
+
debugInfo.connectCounter++;
|
|
83
|
+
// No need to send edgeRequest here, the response acts as our part of the handshake for the incoming request's ID
|
|
84
|
+
}
|
|
85
|
+
// If state is 'Pending', we are already trying to connect.
|
|
86
|
+
// Just let the response go out, don't change state.
|
|
87
|
+
// Send the response regardless of the initial state (unless an error occurred)
|
|
51
88
|
yield* respondToSender(MeshSchema.ProxyChannelResponseSuccess.make({
|
|
52
89
|
reqId: packet.id,
|
|
53
90
|
remainingHops: packet.hops,
|
|
@@ -62,30 +99,50 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
62
99
|
}
|
|
63
100
|
case 'ProxyChannelResponseSuccess': {
|
|
64
101
|
if (channelState._tag !== 'Pending') {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
return shouldNeverHappen(`Expected proxy channel to have the same combinedChannelId as the packet:\n${channelState.combinedChannelId} (channel) === ${packet.combinedChannelId} (packet)`);
|
|
102
|
+
if (channelState._tag === 'Established' &&
|
|
103
|
+
channelState.combinedChannelId !== packet.combinedChannelId) {
|
|
104
|
+
return shouldNeverHappen(`ProxyChannel[${channelKey}]: Expected proxy channel to have the same combinedChannelId as the packet:\n${channelState.combinedChannelId} (channel) === ${packet.combinedChannelId} (packet)`);
|
|
105
|
+
}
|
|
106
|
+
else if (channelState._tag === 'Established') {
|
|
107
|
+
// yield* Effect.logDebug(`[${nodeName}] Ignoring redundant ResponseSuccess with same ID ${packet.id}`)
|
|
108
|
+
return;
|
|
68
109
|
}
|
|
69
110
|
else {
|
|
70
|
-
|
|
111
|
+
yield* Effect.logWarning(`[${nodeName}] Ignoring ResponseSuccess ${packet.id} received in unexpected state ${channelState._tag}`);
|
|
112
|
+
return;
|
|
71
113
|
}
|
|
72
114
|
}
|
|
73
115
|
const combinedChannelId = getCombinedChannelId(packet.channelIdCandidate);
|
|
74
116
|
if (combinedChannelId !== packet.combinedChannelId) {
|
|
75
|
-
return yield* Effect.die(`Expected proxy channel to have the same combinedChannelId as the packet:\n${combinedChannelId} (channel) === ${packet.combinedChannelId} (packet)`);
|
|
117
|
+
return yield* Effect.die(`ProxyChannel[${channelKey}]: Expected proxy channel to have the same combinedChannelId as the packet:\n${combinedChannelId} (channel) === ${packet.combinedChannelId} (packet)`);
|
|
76
118
|
}
|
|
77
119
|
yield* setStateToEstablished(packet.combinedChannelId);
|
|
120
|
+
const establishedState = channelStateRef.current;
|
|
121
|
+
if (establishedState._tag === 'Established') {
|
|
122
|
+
//
|
|
123
|
+
const bufferedPackets = yield* Queue.takeAll(earlyPayloadBuffer);
|
|
124
|
+
// yield* Effect.logDebug(
|
|
125
|
+
// `[${nodeName}] Draining early payload buffer (${bufferedPackets.length}) after ResponseSuccess`,
|
|
126
|
+
// )
|
|
127
|
+
for (const bufferedPacket of bufferedPackets) {
|
|
128
|
+
if (establishedState.combinedChannelId !== bufferedPacket.combinedChannelId) {
|
|
129
|
+
yield* Effect.logWarning(`[${nodeName}] Discarding buffered payload ${bufferedPacket.id}: Combined channel ID mismatch during drain. Expected ${establishedState.combinedChannelId}, got ${bufferedPacket.combinedChannelId}`);
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
const decodedMessage = yield* Schema.decodeUnknown(establishedState.listenSchema)(bufferedPacket.payload);
|
|
133
|
+
yield* establishedState.listenQueue.pipe(Queue.offer(decodedMessage));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
yield* Effect.logError(`[${nodeName}] State is not Established immediately after setStateToEstablished was called. Cannot drain buffer. State: ${establishedState._tag}`);
|
|
138
|
+
}
|
|
78
139
|
return;
|
|
79
140
|
}
|
|
80
141
|
case 'ProxyChannelPayload': {
|
|
81
|
-
if (channelState._tag
|
|
82
|
-
|
|
83
|
-
yield* Effect.spanEvent(`Not yet connected to ${target}. dropping message`, { packet });
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
if (channelState.combinedChannelId !== packet.combinedChannelId) {
|
|
87
|
-
return yield* Effect.die(`Expected proxy channel to have the same combinedChannelId as the packet:\n${channelState.combinedChannelId} (channel) === ${packet.combinedChannelId} (packet)`);
|
|
142
|
+
if (channelState._tag === 'Established' && channelState.combinedChannelId !== packet.combinedChannelId) {
|
|
143
|
+
return yield* Effect.die(`ProxyChannel[${channelKey}]: Expected proxy channel to have the same combinedChannelId as the packet:\n${channelState.combinedChannelId} (channel) === ${packet.combinedChannelId} (packet)`);
|
|
88
144
|
}
|
|
145
|
+
// yield* Effect.logDebug(`[${nodeName}] Received payload reqId: ${packet.id}. Sending Ack.`)
|
|
89
146
|
yield* respondToSender(MeshSchema.ProxyChannelPayloadAck.make({
|
|
90
147
|
reqId: packet.id,
|
|
91
148
|
remainingHops: packet.hops,
|
|
@@ -93,19 +150,29 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
93
150
|
target,
|
|
94
151
|
source: nodeName,
|
|
95
152
|
channelName,
|
|
96
|
-
combinedChannelId: channelState.combinedChannelId,
|
|
153
|
+
combinedChannelId: channelState._tag === 'Established' ? channelState.combinedChannelId : packet.combinedChannelId,
|
|
97
154
|
}));
|
|
98
|
-
|
|
99
|
-
|
|
155
|
+
if (channelState._tag === 'Established') {
|
|
156
|
+
const decodedMessage = yield* Schema.decodeUnknown(channelState.listenSchema)(packet.payload);
|
|
157
|
+
yield* channelState.listenQueue.pipe(Queue.offer(decodedMessage));
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
// yield* Effect.logDebug(
|
|
161
|
+
// `[${nodeName}] Buffering early payload reqId: ${packet.id} (state: ${channelState._tag})`,
|
|
162
|
+
// )
|
|
163
|
+
yield* Queue.offer(earlyPayloadBuffer, packet);
|
|
164
|
+
}
|
|
100
165
|
return;
|
|
101
166
|
}
|
|
102
167
|
case 'ProxyChannelPayloadAck': {
|
|
168
|
+
// yield* Effect.logDebug(`[${nodeName}] Received Ack for reqId: ${packet.reqId}`)
|
|
103
169
|
if (channelState._tag !== 'Established') {
|
|
104
170
|
yield* Effect.spanEvent(`Not yet connected to ${target}. dropping message`);
|
|
171
|
+
yield* Effect.logWarning(`[${nodeName}] Received Ack but not established (State: ${channelState._tag}). Dropping Ack for ${packet.reqId}`);
|
|
105
172
|
return;
|
|
106
173
|
}
|
|
107
174
|
const ack = channelState.ackMap.get(packet.reqId) ??
|
|
108
|
-
shouldNeverHappen(`Expected ack for ${packet.reqId}
|
|
175
|
+
shouldNeverHappen(`[ProxyChannel[${channelKey}]] Expected ack for ${packet.reqId}`);
|
|
109
176
|
yield* Deferred.succeed(ack, void 0);
|
|
110
177
|
channelState.ackMap.delete(packet.reqId);
|
|
111
178
|
return;
|
|
@@ -122,23 +189,25 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
122
189
|
yield* Effect.spanEvent(`Connecting`);
|
|
123
190
|
const ackMap = new Map();
|
|
124
191
|
// check if already established via incoming `ProxyChannelRequest` from other side
|
|
125
|
-
// which indicates we already have a
|
|
192
|
+
// which indicates we already have a edge to the target node
|
|
126
193
|
// const channelState = channelStateRef.current
|
|
127
194
|
{
|
|
128
195
|
if (channelStateRef.current._tag !== 'Initial') {
|
|
129
196
|
return shouldNeverHappen('Expected proxy channel to be Initial');
|
|
130
197
|
}
|
|
131
198
|
channelStateRef.current = { _tag: 'Pending', initiatedVia: 'outgoing-request' };
|
|
132
|
-
yield*
|
|
133
|
-
const
|
|
199
|
+
yield* edgeRequest;
|
|
200
|
+
const retryOnNewEdgeFiber = yield* Stream.fromPubSub(newEdgeAvailablePubSub).pipe(Stream.tap(() => edgeRequest), Stream.runDrain, Effect.forkScoped);
|
|
134
201
|
const { combinedChannelId: channelId } = yield* waitForEstablished;
|
|
135
|
-
yield* Fiber.interrupt(
|
|
202
|
+
yield* Fiber.interrupt(retryOnNewEdgeFiber);
|
|
136
203
|
yield* setStateToEstablished(channelId);
|
|
137
204
|
}
|
|
138
205
|
const send = (message) => Effect.gen(function* () {
|
|
139
206
|
const payload = yield* Schema.encodeUnknown(schema.send)(message);
|
|
140
207
|
const sendFiberHandle = yield* FiberHandle.make();
|
|
141
208
|
const sentDeferred = yield* Deferred.make();
|
|
209
|
+
debugInfo.pendingSends++;
|
|
210
|
+
debugInfo.totalSends++;
|
|
142
211
|
const trySend = Effect.gen(function* () {
|
|
143
212
|
const { combinedChannelId } = (yield* SubscriptionRef.waitUntil(connectedStateRef, (channel) => channel !== false));
|
|
144
213
|
const innerSend = Effect.gen(function* () {
|
|
@@ -152,12 +221,17 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
152
221
|
target,
|
|
153
222
|
combinedChannelId,
|
|
154
223
|
});
|
|
224
|
+
// TODO consider handling previous ackMap entries which might leak/fill-up memory
|
|
225
|
+
// as only successful acks are removed from the map
|
|
155
226
|
ackMap.set(packet.id, ack);
|
|
156
227
|
yield* sendPacket(packet);
|
|
157
228
|
yield* ack;
|
|
158
229
|
yield* Deferred.succeed(sentDeferred, void 0);
|
|
230
|
+
debugInfo.pendingSends--;
|
|
159
231
|
});
|
|
160
|
-
|
|
232
|
+
// TODO make this configurable
|
|
233
|
+
// Schedule.exponential(10): 10, 20, 40, 80, 160, 320, ...
|
|
234
|
+
yield* innerSend.pipe(Effect.timeout(100), Effect.retry(Schedule.exponential(10)), Effect.orDie);
|
|
161
235
|
}).pipe(Effect.tapErrorCause(Effect.logError));
|
|
162
236
|
const rerunOnNewChannelFiber = yield* connectedStateRef.changes.pipe(Stream.filter((_) => _ === false), Stream.tap(() => FiberHandle.run(sendFiberHandle, trySend)), Stream.runDrain, Effect.fork);
|
|
163
237
|
yield* FiberHandle.run(sendFiberHandle, trySend);
|
|
@@ -165,15 +239,23 @@ export const makeProxyChannel = ({ queue, nodeName, newConnectionAvailablePubSub
|
|
|
165
239
|
yield* Fiber.interrupt(rerunOnNewChannelFiber);
|
|
166
240
|
}).pipe(Effect.scoped, Effect.withSpan(`sendAckWithRetry:ProxyChannelPayload`), Effect.withParentSpan(channelSpan));
|
|
167
241
|
const listen = Stream.fromQueue(listenQueue).pipe(Stream.map(Either.right));
|
|
168
|
-
const closedDeferred = yield* Deferred.make();
|
|
242
|
+
const closedDeferred = yield* Deferred.make().pipe(Effect.acquireRelease(Deferred.done(Exit.void)));
|
|
243
|
+
const runtime = yield* Effect.runtime();
|
|
169
244
|
const webChannel = {
|
|
170
245
|
[WebChannel.WebChannelSymbol]: WebChannel.WebChannelSymbol,
|
|
171
246
|
send,
|
|
172
247
|
listen,
|
|
173
248
|
closedDeferred,
|
|
174
|
-
supportsTransferables:
|
|
249
|
+
supportsTransferables: false,
|
|
175
250
|
schema,
|
|
251
|
+
shutdown: Scope.close(scope, Exit.void),
|
|
252
|
+
debugInfo,
|
|
253
|
+
...{
|
|
254
|
+
debug: {
|
|
255
|
+
ping: (message = 'ping') => send(WebChannel.DebugPingMessage.make({ message })).pipe(Effect.provide(runtime), Effect.tapCauseLogPretty, Effect.runFork),
|
|
256
|
+
},
|
|
257
|
+
},
|
|
176
258
|
};
|
|
177
259
|
return webChannel;
|
|
178
|
-
}).pipe(Effect.withSpanScoped('makeProxyChannel'));
|
|
260
|
+
}).pipe(Effect.withSpanScoped('makeProxyChannel')));
|
|
179
261
|
//# sourceMappingURL=proxy-channel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-channel.js","sourceRoot":"","sources":["../../src/channel/proxy-channel.ts"],"names":[],"mappings":"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"}
|
|
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
|
@@ -1,46 +1,44 @@
|
|
|
1
1
|
import { type Effect, Schema } from '@livestore/utils/effect';
|
|
2
|
-
import type {
|
|
2
|
+
import type { DirectChannelPacket, Packet, ProxyChannelPacket } from './mesh-schema.js';
|
|
3
3
|
export type ProxyQueueItem = {
|
|
4
4
|
packet: typeof ProxyChannelPacket.Type;
|
|
5
5
|
respondToSender: (msg: typeof ProxyChannelPacket.Type) => Effect.Effect<void>;
|
|
6
6
|
};
|
|
7
7
|
export type MessageQueueItem = {
|
|
8
|
-
packet: typeof
|
|
9
|
-
respondToSender: (msg: typeof
|
|
8
|
+
packet: typeof DirectChannelPacket.Type;
|
|
9
|
+
respondToSender: (msg: typeof DirectChannelPacket.Type) => Effect.Effect<void>;
|
|
10
10
|
};
|
|
11
11
|
export type MeshNodeName = string;
|
|
12
12
|
export type ChannelName = string;
|
|
13
|
-
export type ChannelKey =
|
|
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">;
|
|
13
|
+
export type ChannelKey = `target:${MeshNodeName}, channelName:${ChannelName}`;
|
|
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?: {
|
|
28
|
-
readonly remainingHops?: undefined;
|
|
23
|
+
readonly remainingHops?: readonly string[] | undefined;
|
|
24
|
+
readonly channelVersion: number;
|
|
25
|
+
readonly reqId: string | undefined;
|
|
26
|
+
readonly sourceId: string;
|
|
29
27
|
readonly id: string;
|
|
30
28
|
readonly target: string;
|
|
31
29
|
readonly source: string;
|
|
32
30
|
readonly channelName: string;
|
|
33
31
|
readonly hops: readonly string[];
|
|
34
|
-
readonly _tag: "
|
|
32
|
+
readonly _tag: "DirectChannelRequest";
|
|
35
33
|
} | {
|
|
36
34
|
readonly remainingHops: readonly string[];
|
|
35
|
+
readonly reqId: string;
|
|
37
36
|
readonly id: string;
|
|
38
37
|
readonly target: string;
|
|
39
38
|
readonly source: string;
|
|
40
39
|
readonly channelName: string;
|
|
41
40
|
readonly hops: readonly string[];
|
|
42
|
-
readonly _tag: "
|
|
43
|
-
readonly reqId: string;
|
|
41
|
+
readonly _tag: "DirectChannelResponseNoTransferables";
|
|
44
42
|
} | {
|
|
45
43
|
readonly remainingHops?: undefined;
|
|
46
44
|
readonly id: string;
|
|
@@ -52,32 +50,62 @@ export declare const packetAsOtelAttributes: (packet: typeof Packet.Type) => {
|
|
|
52
50
|
readonly channelIdCandidate: string;
|
|
53
51
|
} | {
|
|
54
52
|
readonly remainingHops: readonly string[];
|
|
53
|
+
readonly reqId: string;
|
|
55
54
|
readonly id: string;
|
|
56
55
|
readonly target: string;
|
|
57
56
|
readonly source: string;
|
|
58
57
|
readonly channelName: string;
|
|
59
58
|
readonly hops: readonly string[];
|
|
60
59
|
readonly _tag: "ProxyChannelResponseSuccess";
|
|
61
|
-
readonly reqId: string;
|
|
62
60
|
readonly channelIdCandidate: string;
|
|
63
61
|
readonly combinedChannelId: string;
|
|
64
62
|
} | {
|
|
65
63
|
readonly remainingHops: readonly string[];
|
|
64
|
+
readonly reqId: string;
|
|
66
65
|
readonly id: string;
|
|
67
66
|
readonly target: string;
|
|
68
67
|
readonly source: string;
|
|
69
68
|
readonly channelName: string;
|
|
70
69
|
readonly hops: readonly string[];
|
|
71
70
|
readonly _tag: "ProxyChannelPayloadAck";
|
|
72
|
-
readonly reqId: string;
|
|
73
71
|
readonly combinedChannelId: string;
|
|
74
72
|
} | {
|
|
75
73
|
readonly id: string;
|
|
76
74
|
readonly target: string;
|
|
77
75
|
readonly source: string;
|
|
78
|
-
readonly _tag: "
|
|
76
|
+
readonly _tag: "NetworkEdgeAdded";
|
|
77
|
+
} | {
|
|
78
|
+
readonly id: string;
|
|
79
|
+
readonly target: "-";
|
|
80
|
+
readonly source: string;
|
|
81
|
+
readonly hops: readonly string[];
|
|
82
|
+
readonly _tag: "NetworkTopologyRequest";
|
|
83
|
+
} | {
|
|
84
|
+
readonly remainingHops: readonly string[];
|
|
85
|
+
readonly reqId: string;
|
|
86
|
+
readonly id: string;
|
|
87
|
+
readonly target: "-";
|
|
88
|
+
readonly source: string;
|
|
89
|
+
readonly _tag: "NetworkTopologyResponse";
|
|
90
|
+
readonly nodeName: string;
|
|
91
|
+
readonly edges: readonly string[];
|
|
92
|
+
} | {
|
|
93
|
+
readonly id: string;
|
|
94
|
+
readonly target: "-";
|
|
95
|
+
readonly source: string;
|
|
96
|
+
readonly channelName: string;
|
|
97
|
+
readonly hops: readonly string[];
|
|
98
|
+
readonly _tag: "BroadcastChannelPacket";
|
|
99
|
+
readonly payload: any;
|
|
79
100
|
} | undefined;
|
|
80
101
|
packetId: string;
|
|
102
|
+
'span.label': string;
|
|
81
103
|
};
|
|
104
|
+
export declare const ListenForChannelResult: Schema.Struct<{
|
|
105
|
+
channelName: typeof Schema.String;
|
|
106
|
+
source: typeof Schema.String;
|
|
107
|
+
mode: Schema.Union<[Schema.Literal<["proxy"]>, Schema.Literal<["direct"]>]>;
|
|
108
|
+
}>;
|
|
109
|
+
export type ListenForChannelResult = typeof ListenForChannelResult.Type;
|
|
82
110
|
export {};
|
|
83
111
|
//# sourceMappingURL=common.d.ts.map
|
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,
|
|
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,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEvF,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,mBAAmB,CAAC,IAAI,CAAA;IACvC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,mBAAmB,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC/E,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;AAEF,eAAO,MAAM,sBAAsB;;;;EAIjC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC,IAAI,CAAA"}
|
package/dist/common.js
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
import { Schema } from '@livestore/utils/effect';
|
|
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
|
}
|
|
9
11
|
export const packetAsOtelAttributes = (packet) => ({
|
|
10
12
|
packetId: packet.id,
|
|
11
|
-
|
|
13
|
+
'span.label': packet.id + (Predicate.hasProperty(packet, 'reqId') && packet.reqId !== undefined ? ` for ${packet.reqId}` : ''),
|
|
14
|
+
...(packet._tag !== 'DirectChannelResponseSuccess' && packet._tag !== 'ProxyChannelPayload' ? { packet } : {}),
|
|
15
|
+
});
|
|
16
|
+
export const ListenForChannelResult = Schema.Struct({
|
|
17
|
+
channelName: Schema.String,
|
|
18
|
+
source: Schema.String,
|
|
19
|
+
mode: Schema.Union(Schema.Literal('proxy'), Schema.Literal('direct')),
|
|
12
20
|
});
|
|
13
21
|
//# sourceMappingURL=common.js.map
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,MAAM,EAAE,MAAM,yBAAyB,CAAA;
|
|
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,8BAA8B,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/G,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtE,CAAC,CAAA"}
|
package/dist/mesh-schema.d.ts
CHANGED
|
@@ -1,27 +1,43 @@
|
|
|
1
1
|
import { Schema } from '@livestore/utils/effect';
|
|
2
|
-
declare const
|
|
3
|
-
remainingHops: Schema.optional<typeof Schema.
|
|
2
|
+
declare const DirectChannelRequest_base: Schema.TaggedStruct<"DirectChannelRequest", {
|
|
3
|
+
remainingHops: Schema.optional<Schema.Array$<typeof Schema.String>>;
|
|
4
|
+
channelVersion: typeof Schema.Number;
|
|
5
|
+
/** Only set if the request is in response to an incoming request */
|
|
6
|
+
reqId: Schema.UndefinedOr<typeof Schema.String>;
|
|
7
|
+
/**
|
|
8
|
+
* Additionally to the `source` field, we use this field to track whether the instance of a
|
|
9
|
+
* source has changed.
|
|
10
|
+
*/
|
|
11
|
+
sourceId: typeof Schema.String;
|
|
4
12
|
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
5
13
|
target: typeof Schema.String;
|
|
6
14
|
source: typeof Schema.String;
|
|
7
15
|
channelName: typeof Schema.String;
|
|
8
16
|
hops: Schema.Array$<typeof Schema.String>;
|
|
9
17
|
}>;
|
|
10
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Needs to go through already existing DirectChannel edges, times out otherwise
|
|
20
|
+
*
|
|
21
|
+
* Can't yet contain the `port` because the request might be duplicated while forwarding to multiple nodes.
|
|
22
|
+
* We need a clear path back to the sender to avoid this, thus we respond with a separate
|
|
23
|
+
* `DirectChannelResponseSuccess` which contains the `port`.
|
|
24
|
+
*/
|
|
25
|
+
export declare class DirectChannelRequest extends DirectChannelRequest_base {
|
|
11
26
|
}
|
|
12
|
-
declare const
|
|
27
|
+
declare const DirectChannelResponseSuccess_base: Schema.TaggedStruct<"DirectChannelResponseSuccess", {
|
|
13
28
|
reqId: typeof Schema.String;
|
|
14
29
|
port: Schema.Schema<MessagePort, MessagePort, never>;
|
|
15
30
|
remainingHops: Schema.Array$<typeof Schema.String>;
|
|
31
|
+
channelVersion: typeof Schema.Number;
|
|
16
32
|
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
17
33
|
target: typeof Schema.String;
|
|
18
34
|
source: typeof Schema.String;
|
|
19
35
|
channelName: typeof Schema.String;
|
|
20
36
|
hops: Schema.Array$<typeof Schema.String>;
|
|
21
37
|
}>;
|
|
22
|
-
export declare class
|
|
38
|
+
export declare class DirectChannelResponseSuccess extends DirectChannelResponseSuccess_base {
|
|
23
39
|
}
|
|
24
|
-
declare const
|
|
40
|
+
declare const DirectChannelResponseNoTransferables_base: Schema.TaggedStruct<"DirectChannelResponseNoTransferables", {
|
|
25
41
|
reqId: typeof Schema.String;
|
|
26
42
|
remainingHops: Schema.Array$<typeof Schema.String>;
|
|
27
43
|
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
@@ -30,7 +46,7 @@ declare const MessageChannelResponseNoTransferables_base: Schema.TaggedStruct<"M
|
|
|
30
46
|
channelName: typeof Schema.String;
|
|
31
47
|
hops: Schema.Array$<typeof Schema.String>;
|
|
32
48
|
}>;
|
|
33
|
-
export declare class
|
|
49
|
+
export declare class DirectChannelResponseNoTransferables extends DirectChannelResponseNoTransferables_base {
|
|
34
50
|
}
|
|
35
51
|
declare const ProxyChannelRequest_base: Schema.TaggedStruct<"ProxyChannelRequest", {
|
|
36
52
|
remainingHops: Schema.optional<typeof Schema.Undefined>;
|
|
@@ -80,25 +96,75 @@ declare const ProxyChannelPayloadAck_base: Schema.TaggedStruct<"ProxyChannelPayl
|
|
|
80
96
|
}>;
|
|
81
97
|
export declare class ProxyChannelPayloadAck extends ProxyChannelPayloadAck_base {
|
|
82
98
|
}
|
|
83
|
-
declare const
|
|
99
|
+
declare const NetworkEdgeAdded_base: Schema.TaggedStruct<"NetworkEdgeAdded", {
|
|
84
100
|
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
85
101
|
source: typeof Schema.String;
|
|
86
102
|
target: typeof Schema.String;
|
|
87
103
|
}>;
|
|
88
104
|
/**
|
|
89
|
-
* Broadcast to all nodes when a new
|
|
105
|
+
* Broadcast to all nodes when a new edge is added.
|
|
90
106
|
* Mostly used for auto-reconnect purposes.
|
|
91
107
|
*/
|
|
92
|
-
export declare class
|
|
108
|
+
export declare class NetworkEdgeAdded extends NetworkEdgeAdded_base {
|
|
109
|
+
}
|
|
110
|
+
declare const NetworkTopologyRequest_base: Schema.TaggedStruct<"NetworkTopologyRequest", {
|
|
111
|
+
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
112
|
+
hops: Schema.Array$<typeof Schema.String>;
|
|
113
|
+
/** Always fixed to who requested the topology */
|
|
114
|
+
source: typeof Schema.String;
|
|
115
|
+
target: Schema.Literal<["-"]>;
|
|
116
|
+
}>;
|
|
117
|
+
export declare class NetworkTopologyRequest extends NetworkTopologyRequest_base {
|
|
93
118
|
}
|
|
94
|
-
declare const
|
|
95
|
-
|
|
119
|
+
declare const NetworkTopologyResponse_base: Schema.TaggedStruct<"NetworkTopologyResponse", {
|
|
120
|
+
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
121
|
+
reqId: typeof Schema.String;
|
|
122
|
+
remainingHops: Schema.Array$<typeof Schema.String>;
|
|
123
|
+
nodeName: typeof Schema.String;
|
|
124
|
+
edges: Schema.Array$<typeof Schema.String>;
|
|
125
|
+
/** Always fixed to who requested the topology */
|
|
126
|
+
source: typeof Schema.String;
|
|
127
|
+
target: Schema.Literal<["-"]>;
|
|
128
|
+
}>;
|
|
129
|
+
export declare class NetworkTopologyResponse extends NetworkTopologyResponse_base {
|
|
130
|
+
}
|
|
131
|
+
export declare const BroadcastChannelPacket: Schema.TaggedStruct<"BroadcastChannelPacket", {
|
|
132
|
+
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
133
|
+
channelName: typeof Schema.String;
|
|
134
|
+
/**
|
|
135
|
+
* The payload is expected to be encoded/decoded by the send/listen schema.
|
|
136
|
+
* Transferables are not supported.
|
|
137
|
+
*/
|
|
138
|
+
payload: typeof Schema.Any;
|
|
139
|
+
hops: Schema.Array$<typeof Schema.String>;
|
|
140
|
+
source: typeof Schema.String;
|
|
141
|
+
target: Schema.Literal<["-"]>;
|
|
142
|
+
}>;
|
|
143
|
+
declare const DirectChannelPacket_base: Schema.Union<[typeof DirectChannelRequest, typeof DirectChannelResponseSuccess, typeof DirectChannelResponseNoTransferables]>;
|
|
144
|
+
export declare class DirectChannelPacket extends DirectChannelPacket_base {
|
|
96
145
|
}
|
|
97
146
|
declare const ProxyChannelPacket_base: Schema.Union<[typeof ProxyChannelRequest, typeof ProxyChannelResponseSuccess, typeof ProxyChannelPayload, typeof ProxyChannelPayloadAck]>;
|
|
98
147
|
export declare class ProxyChannelPacket extends ProxyChannelPacket_base {
|
|
99
148
|
}
|
|
100
|
-
declare const Packet_base: Schema.Union<[typeof
|
|
149
|
+
declare const Packet_base: Schema.Union<[typeof DirectChannelPacket, typeof ProxyChannelPacket, typeof NetworkEdgeAdded, typeof NetworkTopologyRequest, typeof NetworkTopologyResponse, Schema.TaggedStruct<"BroadcastChannelPacket", {
|
|
150
|
+
id: Schema.PropertySignature<":", string, never, "?:", string | undefined, true, never>;
|
|
151
|
+
channelName: typeof Schema.String;
|
|
152
|
+
/**
|
|
153
|
+
* The payload is expected to be encoded/decoded by the send/listen schema.
|
|
154
|
+
* Transferables are not supported.
|
|
155
|
+
*/
|
|
156
|
+
payload: typeof Schema.Any;
|
|
157
|
+
hops: Schema.Array$<typeof Schema.String>;
|
|
158
|
+
source: typeof Schema.String;
|
|
159
|
+
target: Schema.Literal<["-"]>;
|
|
160
|
+
}>]>;
|
|
101
161
|
export declare class Packet extends Packet_base {
|
|
102
162
|
}
|
|
163
|
+
declare const DirectChannelPing_base: Schema.TaggedStruct<"DirectChannelPing", {}>;
|
|
164
|
+
export declare class DirectChannelPing extends DirectChannelPing_base {
|
|
165
|
+
}
|
|
166
|
+
declare const DirectChannelPong_base: Schema.TaggedStruct<"DirectChannelPong", {}>;
|
|
167
|
+
export declare class DirectChannelPong extends DirectChannelPong_base {
|
|
168
|
+
}
|
|
103
169
|
export {};
|
|
104
170
|
//# sourceMappingURL=mesh-schema.d.ts.map
|