@dxos/network-manager 0.10.0 → 0.11.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/dist/lib/chunk-wire-protocol.mjs +3554 -0
- package/dist/lib/chunk-wire-protocol.mjs.map +1 -0
- package/dist/lib/index.mjs +294 -0
- package/dist/lib/index.mjs.map +1 -0
- package/dist/lib/testing.mjs +237 -0
- package/dist/lib/testing.mjs.map +1 -0
- package/dist/lib/transport/tcp/tcp-transport.browser.mjs +34 -0
- package/dist/lib/transport/tcp/tcp-transport.browser.mjs.map +1 -0
- package/dist/lib/transport/tcp/tcp-transport.mjs +140 -0
- package/dist/lib/transport/tcp/tcp-transport.mjs.map +1 -0
- package/dist/lib/transport/tcp.mjs +1 -0
- package/dist/types/src/network-manager.d.ts +9 -0
- package/dist/types/src/network-manager.d.ts.map +1 -1
- package/dist/types/src/signal/swarm-messenger.d.ts +2 -7
- package/dist/types/src/signal/swarm-messenger.d.ts.map +1 -1
- package/dist/types/src/testing/test-builder.d.ts +2 -6
- package/dist/types/src/testing/test-builder.d.ts.map +1 -1
- package/dist/types/src/transport/webrtc/rtc-peer-connection.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +28 -31
- package/src/network-manager.ts +17 -4
- package/src/signal/integration.node.test.ts +7 -11
- package/src/signal/swarm-messenger.node.test.ts +7 -29
- package/src/signal/swarm-messenger.ts +3 -13
- package/src/swarm/swarm.test.ts +2 -2
- package/src/testing/test-builder.ts +48 -75
- package/src/tests/webrtc-transport.test.ts +4 -15
- package/src/transport/webrtc/rtc-peer-connection.ts +0 -3
- package/src/transport/webrtc/rtc-transport-proxy.test.ts +2 -1
- package/src/transport/webrtc/rtc-transport.test.ts +2 -1
- package/dist/lib/browser/chunk-ERB3AQAF.mjs +0 -3095
- package/dist/lib/browser/chunk-ERB3AQAF.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -244
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/testing/index.mjs +0 -280
- package/dist/lib/browser/testing/index.mjs.map +0 -7
- package/dist/lib/browser/transport/tcp/index.mjs +0 -5
- package/dist/lib/browser/transport/tcp/index.mjs.map +0 -7
- package/dist/lib/browser/transport/tcp/tcp-transport.browser.mjs +0 -36
- package/dist/lib/browser/transport/tcp/tcp-transport.browser.mjs.map +0 -7
- package/dist/lib/browser/transport/tcp/tcp-transport.mjs +0 -125
- package/dist/lib/browser/transport/tcp/tcp-transport.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-KYLPLEZQ.mjs +0 -3095
- package/dist/lib/node-esm/chunk-KYLPLEZQ.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -244
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/testing/index.mjs +0 -280
- package/dist/lib/node-esm/testing/index.mjs.map +0 -7
- package/dist/lib/node-esm/transport/tcp/index.mjs +0 -5
- package/dist/lib/node-esm/transport/tcp/index.mjs.map +0 -7
- package/dist/lib/node-esm/transport/tcp/tcp-transport.browser.mjs +0 -36
- package/dist/lib/node-esm/transport/tcp/tcp-transport.browser.mjs.map +0 -7
- package/dist/lib/node-esm/transport/tcp/tcp-transport.mjs +0 -125
- package/dist/lib/node-esm/transport/tcp/tcp-transport.mjs.map +0 -7
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Event } from "@dxos/async";
|
|
2
|
+
import { ErrorStream } from "@dxos/debug";
|
|
3
|
+
import { log } from "@dxos/log";
|
|
4
|
+
import { Socket } from "node:net";
|
|
5
|
+
//#region src/transport/tcp/tcp-transport.ts
|
|
6
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/core/mesh/network-manager/src/transport/tcp/tcp-transport.ts";
|
|
7
|
+
var TcpTransportFactory = { createTransport: (options) => new TcpTransport(options) };
|
|
8
|
+
/**
|
|
9
|
+
* Fake transport.
|
|
10
|
+
*/
|
|
11
|
+
var TcpTransport = class {
|
|
12
|
+
options;
|
|
13
|
+
_server = void 0;
|
|
14
|
+
_socket = void 0;
|
|
15
|
+
_connected = false;
|
|
16
|
+
_closed = false;
|
|
17
|
+
closed = new Event();
|
|
18
|
+
connected = new Event();
|
|
19
|
+
errors = new ErrorStream();
|
|
20
|
+
constructor(options) {
|
|
21
|
+
this.options = options;
|
|
22
|
+
}
|
|
23
|
+
get isOpen() {
|
|
24
|
+
return this._connected && !this._closed;
|
|
25
|
+
}
|
|
26
|
+
async open() {
|
|
27
|
+
log("opening", void 0, {
|
|
28
|
+
"~LogMeta": "~LogMeta",
|
|
29
|
+
F: __dxlog_file,
|
|
30
|
+
L: 39,
|
|
31
|
+
S: this
|
|
32
|
+
});
|
|
33
|
+
if (this.options.initiator) setTimeout(async () => {
|
|
34
|
+
const { Server } = await import("node:net");
|
|
35
|
+
this._server = new Server((socket) => {
|
|
36
|
+
log("new connection", void 0, {
|
|
37
|
+
"~LogMeta": "~LogMeta",
|
|
38
|
+
F: __dxlog_file,
|
|
39
|
+
L: 47,
|
|
40
|
+
S: this
|
|
41
|
+
});
|
|
42
|
+
if (this._connected) socket.destroy();
|
|
43
|
+
this._handleSocket(socket);
|
|
44
|
+
});
|
|
45
|
+
this._server.on("listening", () => {
|
|
46
|
+
const { port } = this._server.address();
|
|
47
|
+
log("listening", { port }, {
|
|
48
|
+
"~LogMeta": "~LogMeta",
|
|
49
|
+
F: __dxlog_file,
|
|
50
|
+
L: 56,
|
|
51
|
+
S: this
|
|
52
|
+
});
|
|
53
|
+
this.options.sendSignal({ payload: { port } }).catch((err) => {
|
|
54
|
+
if (!this._closed) this.errors.raise(err);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
this._server.on("error", (err) => {
|
|
58
|
+
this.errors.raise(err);
|
|
59
|
+
});
|
|
60
|
+
this._server.listen(0);
|
|
61
|
+
});
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
async close() {
|
|
65
|
+
log("closing", void 0, {
|
|
66
|
+
"~LogMeta": "~LogMeta",
|
|
67
|
+
F: __dxlog_file,
|
|
68
|
+
L: 79,
|
|
69
|
+
S: this
|
|
70
|
+
});
|
|
71
|
+
this._socket?.destroy();
|
|
72
|
+
this._server?.close();
|
|
73
|
+
this._closed = true;
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
async onSignal({ payload }) {
|
|
77
|
+
log("received signal", { payload }, {
|
|
78
|
+
"~LogMeta": "~LogMeta",
|
|
79
|
+
F: __dxlog_file,
|
|
80
|
+
L: 87,
|
|
81
|
+
S: this
|
|
82
|
+
});
|
|
83
|
+
if (this.options.initiator || this._connected) return;
|
|
84
|
+
const socket = new Socket();
|
|
85
|
+
this._handleSocket(socket);
|
|
86
|
+
socket.connect({
|
|
87
|
+
port: payload.port,
|
|
88
|
+
host: "localhost"
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
async getDetails() {
|
|
92
|
+
if (this.options.initiator) {
|
|
93
|
+
const { port, address } = this._server?.address();
|
|
94
|
+
return `LISTEN ${address}:${port}`;
|
|
95
|
+
}
|
|
96
|
+
const { port, address } = this._socket?.address();
|
|
97
|
+
return `ACCEPT ${address}:${port}`;
|
|
98
|
+
}
|
|
99
|
+
async getStats() {
|
|
100
|
+
return {
|
|
101
|
+
bytesSent: 0,
|
|
102
|
+
bytesReceived: 0,
|
|
103
|
+
packetsSent: 0,
|
|
104
|
+
packetsReceived: 0
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
_handleSocket(socket) {
|
|
108
|
+
log("handling socket", {
|
|
109
|
+
remotePort: socket.remotePort,
|
|
110
|
+
localPort: socket.localPort
|
|
111
|
+
}, {
|
|
112
|
+
"~LogMeta": "~LogMeta",
|
|
113
|
+
F: __dxlog_file,
|
|
114
|
+
L: 117,
|
|
115
|
+
S: this
|
|
116
|
+
});
|
|
117
|
+
this._socket = socket;
|
|
118
|
+
this._socket.on("connect", () => {
|
|
119
|
+
log("connected to", { port: this._socket?.remotePort }, {
|
|
120
|
+
"~LogMeta": "~LogMeta",
|
|
121
|
+
F: __dxlog_file,
|
|
122
|
+
L: 121,
|
|
123
|
+
S: this
|
|
124
|
+
});
|
|
125
|
+
this._connected = true;
|
|
126
|
+
});
|
|
127
|
+
this._socket.on("error", (err) => {
|
|
128
|
+
this.errors.raise(err);
|
|
129
|
+
});
|
|
130
|
+
this._socket.on("close", () => {
|
|
131
|
+
this.closed.emit();
|
|
132
|
+
});
|
|
133
|
+
this.connected.emit();
|
|
134
|
+
this.options.stream.pipe(this._socket).pipe(this.options.stream);
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
//#endregion
|
|
138
|
+
export { TcpTransport, TcpTransportFactory };
|
|
139
|
+
|
|
140
|
+
//# sourceMappingURL=tcp-transport.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tcp-transport.mjs","names":[],"sources":["../../../../src/transport/tcp/tcp-transport.ts"],"sourcesContent":["//\n// Copyright 2020 DXOS.org\n//\n\nimport { type AddressInfo, type Server, Socket } from 'node:net';\n\nimport { Event } from '@dxos/async';\nimport { ErrorStream } from '@dxos/debug';\nimport { log } from '@dxos/log';\nimport { type Signal } from '@dxos/protocols/proto/dxos/mesh/swarm';\n\nimport { type Transport, type TransportFactory, type TransportOptions, type TransportStats } from '../transport';\n\nexport const TcpTransportFactory: TransportFactory = {\n createTransport: (options) => new TcpTransport(options),\n};\n\n/**\n * Fake transport.\n */\nexport class TcpTransport implements Transport {\n private _server?: Server = undefined;\n private _socket?: Socket = undefined;\n\n private _connected = false;\n private _closed = false;\n\n public readonly closed = new Event<void>();\n public readonly connected = new Event<void>();\n public readonly errors = new ErrorStream();\n\n constructor(private readonly options: TransportOptions) {}\n\n get isOpen() {\n return this._connected && !this._closed;\n }\n\n async open(): Promise<this> {\n log('opening');\n\n // Initiator will send a signal, the receiver will receive the unique ID and connect the streams.\n if (this.options.initiator) {\n // TODO(burdon): Why timeout?\n setTimeout(async () => {\n const { Server } = await import('node:net');\n this._server = new Server((socket) => {\n log('new connection');\n if (this._connected) {\n socket.destroy();\n }\n this._handleSocket(socket);\n });\n\n this._server.on('listening', () => {\n const { port } = this._server!.address() as AddressInfo;\n log('listening', { port });\n void this.options\n .sendSignal({\n payload: { port },\n })\n .catch((err) => {\n if (!this._closed) {\n this.errors.raise(err);\n }\n });\n });\n\n this._server.on('error', (err) => {\n this.errors.raise(err);\n });\n\n this._server.listen(0);\n });\n }\n return this;\n }\n\n async close(): Promise<this> {\n log('closing');\n this._socket?.destroy();\n this._server?.close();\n this._closed = true;\n return this;\n }\n\n async onSignal({ payload }: Signal): Promise<void> {\n log('received signal', { payload });\n if (this.options.initiator || this._connected) {\n return;\n }\n\n const socket = new Socket();\n this._handleSocket(socket);\n socket.connect({ port: payload.port, host: 'localhost' });\n }\n\n async getDetails(): Promise<string> {\n if (this.options.initiator) {\n const { port, address } = this._server?.address() as AddressInfo;\n return `LISTEN ${address}:${port}`;\n }\n\n const { port, address } = this._socket?.address() as AddressInfo;\n return `ACCEPT ${address}:${port}`;\n }\n\n async getStats(): Promise<TransportStats> {\n return {\n bytesSent: 0,\n bytesReceived: 0,\n packetsSent: 0,\n packetsReceived: 0,\n };\n }\n\n private _handleSocket(socket: Socket): void {\n log('handling socket', { remotePort: socket.remotePort, localPort: socket.localPort });\n this._socket = socket;\n\n this._socket.on('connect', () => {\n log('connected to', { port: this._socket?.remotePort });\n this._connected = true;\n });\n\n this._socket.on('error', (err) => {\n this.errors.raise(err);\n });\n\n this._socket.on('close', () => {\n this.closed.emit();\n });\n\n this.connected.emit();\n this.options.stream.pipe(this._socket!).pipe(this.options.stream);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "#tcp-transport-impl";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as EffectContext from 'effect/Context';
|
|
1
2
|
import { Event } from '@dxos/async';
|
|
2
3
|
import { Context } from '@dxos/context';
|
|
3
4
|
import { PublicKey } from '@dxos/keys';
|
|
@@ -43,6 +44,12 @@ export type SwarmNetworkManagerOptions = {
|
|
|
43
44
|
enableDevtoolsLogging?: boolean;
|
|
44
45
|
peerInfo?: PeerInfo;
|
|
45
46
|
};
|
|
47
|
+
declare const SwarmNetworkManagerService_base: EffectContext.TagClass<SwarmNetworkManagerService, "@dxos/network-manager/SwarmNetworkManager", SwarmNetworkManager>;
|
|
48
|
+
/**
|
|
49
|
+
* Effect service tag for {@link SwarmNetworkManager}.
|
|
50
|
+
*/
|
|
51
|
+
export declare class SwarmNetworkManagerService extends SwarmNetworkManagerService_base {
|
|
52
|
+
}
|
|
46
53
|
/**
|
|
47
54
|
* Manages p2p connection to the swarm.
|
|
48
55
|
*/
|
|
@@ -65,6 +72,7 @@ export declare class SwarmNetworkManager {
|
|
|
65
72
|
getSwarmMap(topic: PublicKey): SwarmMapper | undefined;
|
|
66
73
|
getSwarm(topic: PublicKey): Swarm | undefined;
|
|
67
74
|
setPeerInfo(peerInfo: PeerInfo): void;
|
|
75
|
+
getPeerInfo(): PeerInfo | undefined;
|
|
68
76
|
open(): Promise<void>;
|
|
69
77
|
close(ctx: Context): Promise<void>;
|
|
70
78
|
/**
|
|
@@ -78,4 +86,5 @@ export declare class SwarmNetworkManager {
|
|
|
78
86
|
leaveSwarm(ctx: Context, topic: PublicKey): Promise<void>;
|
|
79
87
|
setConnectionState(state: ConnectionState): Promise<void>;
|
|
80
88
|
}
|
|
89
|
+
export {};
|
|
81
90
|
//# sourceMappingURL=network-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-manager.d.ts","sourceRoot":"","sources":["../../../src/network-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAa,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAqB,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,gBAAgB,EAAE,oBAAoB,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC
|
|
1
|
+
{"version":3,"file":"network-manager.d.ts","sourceRoot":"","sources":["../../../src/network-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { type Any } from '@dxos/codec-protobuf';
|
|
2
1
|
import { Context } from '@dxos/context';
|
|
3
2
|
import { PublicKey } from '@dxos/keys';
|
|
4
|
-
import { type Message
|
|
3
|
+
import { type Message } from '@dxos/messaging';
|
|
5
4
|
import { type Answer } from '@dxos/protocols/proto/dxos/mesh/swarm';
|
|
6
5
|
import { type OfferMessage, type SignalMessage, type SignalMessenger } from './signal-messenger';
|
|
7
6
|
export type SwarmMessengerOptions = {
|
|
@@ -20,11 +19,7 @@ export declare class SwarmMessenger implements SignalMessenger {
|
|
|
20
19
|
private readonly _topic;
|
|
21
20
|
private readonly _offerRecords;
|
|
22
21
|
constructor({ sendMessage, onSignal, onOffer, topic }: SwarmMessengerOptions);
|
|
23
|
-
receiveMessage(ctx: Context, { author, recipient, payload }:
|
|
24
|
-
author: PeerInfo;
|
|
25
|
-
recipient: PeerInfo;
|
|
26
|
-
payload: Any;
|
|
27
|
-
}): Promise<void>;
|
|
22
|
+
receiveMessage(ctx: Context, { author, recipient, payload }: Message): Promise<void>;
|
|
28
23
|
signal(ctx: Context, message: SignalMessage): Promise<void>;
|
|
29
24
|
offer(ctx: Context, message: OfferMessage): Promise<Answer>;
|
|
30
25
|
private _sendReliableMessage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm-messenger.d.ts","sourceRoot":"","sources":["../../../../src/signal/swarm-messenger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"swarm-messenger.d.ts","sourceRoot":"","sources":["../../../../src/signal/swarm-messenger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,iBAAiB,CAAC;AAG9D,OAAO,EAAE,KAAK,MAAM,EAAqB,MAAM,uCAAuC,CAAC;AAGvF,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAMjG,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;AAIF;;GAEG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4E;IAE1G,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,qBAAqB,EAK3E;IAEK,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BzF;IAEK,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhE;IAEK,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAahE;YAEa,oBAAoB;YA6BpB,eAAe;YAWf,YAAY;YAwCZ,aAAa;CA0B5B"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { PublicKey } from '@dxos/keys';
|
|
2
|
-
import { MemorySignalManager
|
|
3
|
-
import { type Runtime } from '@dxos/protocols/proto/dxos/config';
|
|
2
|
+
import { MemorySignalManager } from '@dxos/messaging';
|
|
4
3
|
import { SwarmNetworkManager } from '../network-manager';
|
|
5
4
|
import { FullyConnectedTopology } from '../topology';
|
|
6
5
|
import { TransportKind } from '../transport';
|
|
7
6
|
import { type TestTeleportExtensionFactory, TestWireProtocol } from './test-wire-protocol';
|
|
8
|
-
export declare const TEST_SIGNAL_HOSTS: Runtime.Services.Signal[];
|
|
9
7
|
export type TestBuilderOptions = {
|
|
10
|
-
signalHosts?: Runtime.Services.Signal[];
|
|
11
|
-
bridge?: boolean;
|
|
12
8
|
transport?: TransportKind;
|
|
13
9
|
};
|
|
14
10
|
/**
|
|
@@ -18,7 +14,7 @@ export declare class TestBuilder {
|
|
|
18
14
|
readonly options: TestBuilderOptions;
|
|
19
15
|
private _signalContext;
|
|
20
16
|
constructor(options?: TestBuilderOptions);
|
|
21
|
-
createSignalManager():
|
|
17
|
+
createSignalManager(): MemorySignalManager;
|
|
22
18
|
createPeer(peerId?: PublicKey): TestPeer;
|
|
23
19
|
}
|
|
24
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAkD,MAAM,iBAAiB,CAAC;AAQtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAKL,aAAa,EAEd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE3F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;aAGM,OAAO,EAAE,kBAAkB;IAFvD,OAAO,CAAC,cAAc,CAAoC;IAE1D,YAA4B,OAAO,GAAE,kBAAuB,EAAI;IAEhE,mBAAmB,IAAI,mBAAmB,CAIzC;IAED,UAAU,CAAC,MAAM,GAAE,SAA8B,GAAG,QAAQ,CAE3D;CACF;AAED;;GAEG;AACH,qBAAa,QAAQ;IAiBjB,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,MAAM,EAAE,SAAS;aACjB,SAAS,EAAE,aAAa;IAlB1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkE;IAY1F,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAoB;IAErC,YACmB,WAAW,EAAE,WAAW,EACzB,MAAM,EAAE,SAAS,EACjB,SAAS,GAAE,aAAoC,EAKhE;IAGD,oBAAoB,CAAC,SAAS,EAAE,aAAa,GAAG,mBAAmB,CAmDlE;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAI1B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3B;IAED,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,mBAAmB,CAO9C;IAED,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,GAAE,4BAAuC,GAAG,mBAAmB,CAS5G;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/B;IAEK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9B;CACF;AAGD,qBAAa,mBAAmB;IAI5B,QAAQ,CAAC,IAAI,EAAE,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS;IACzB,QAAQ,CAAC,gBAAgB,EAAE,4BAA4B;IALzD,QAAQ,EAAE,gBAAgB,CAAC;IAE3B,YACW,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,EAChB,gBAAgB,EAAE,4BAA4B,EAKxD;IAIK,IAAI,CAAC,QAAQ,yBAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CASjE;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtc-peer-connection.d.ts","sourceRoot":"","sources":["../../../../../src/transport/webrtc/rtc-peer-connection.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"rtc-peer-connection.d.ts","sourceRoot":"","sources":["../../../../../src/transport/webrtc/rtc-peer-connection.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,MAAM,MAAM,4BAA4B,GAAG;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG9C,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,qBAAa,iBAAiB;IAsB1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IArB3B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA6C;IAEtF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA0C;IAC7E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;IAEnE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiB;IAErD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAe;IAErD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IAErC,OAAO,CAAC,WAAW,CAAC,CAAoB;IAExC,YACmB,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,4BAA4B,EAGxD;IAED,IAAW,qBAAqB,WAE/B;IAED,IAAW,iBAAiB,IAAI,iBAAiB,GAAG,SAAS,CAE5D;IAEY,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAsBrE;IAEM,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,mBAAmB,CAU5E;YAGa,eAAe;YA6Hf,aAAa;IAI3B,OAAO,CAAC,gBAAgB;YAoBV,uBAAuB;IASxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DnD;YAEa,oBAAoB;IAalC,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,oBAAoB;YAmBd,qBAAqB;YAarB,iBAAiB;YAoBjB,gBAAgB;IAU9B,SAAS,KAAK,eAAe;;;;;;;;;;;MAgB5B;IAGD,OAAO,KAAK,cAAc,GAOzB;CACF"}
|