@dxos/network-manager 0.1.9 → 0.1.10
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/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/network-manager.d.ts +10 -14
- package/dist/src/network-manager.d.ts.map +1 -1
- package/dist/src/network-manager.js +28 -33
- package/dist/src/network-manager.js.map +1 -1
- package/dist/src/protocol-factory.d.ts.map +1 -1
- package/dist/src/protocol-factory.js +8 -6
- package/dist/src/protocol-factory.js.map +1 -1
- package/dist/src/signal/index.d.ts +2 -2
- package/dist/src/signal/index.d.ts.map +1 -1
- package/dist/src/signal/index.js +2 -2
- package/dist/src/signal/index.js.map +1 -1
- package/dist/src/signal/message-router.d.ts +2 -2
- package/dist/src/signal/message-router.js +3 -3
- package/dist/src/signal/message-router.js.map +1 -1
- package/dist/src/signal/{signal-messaging.d.ts → signal-messenger.d.ts} +2 -2
- package/dist/src/signal/{signal-messaging.d.ts.map → signal-messenger.d.ts.map} +1 -1
- package/dist/src/signal/{signal-messaging.js → signal-messenger.js} +1 -1
- package/dist/src/signal/signal-messenger.js.map +1 -0
- package/dist/src/swarm/connection.d.ts +6 -3
- package/dist/src/swarm/connection.d.ts.map +1 -1
- package/dist/src/swarm/connection.js +28 -15
- package/dist/src/swarm/connection.js.map +1 -1
- package/dist/src/swarm/peer.d.ts +45 -0
- package/dist/src/swarm/peer.d.ts.map +1 -0
- package/dist/src/swarm/peer.js +113 -0
- package/dist/src/swarm/peer.js.map +1 -0
- package/dist/src/swarm/swarm-mapper.d.ts +2 -2
- package/dist/src/swarm/swarm-mapper.d.ts.map +1 -1
- package/dist/src/swarm/swarm-mapper.js +12 -10
- package/dist/src/swarm/swarm-mapper.js.map +1 -1
- package/dist/src/swarm/swarm.d.ts +13 -18
- package/dist/src/swarm/swarm.d.ts.map +1 -1
- package/dist/src/swarm/swarm.js +126 -97
- package/dist/src/swarm/swarm.js.map +1 -1
- package/dist/src/swarm/swarm.test.js +2 -2
- package/dist/src/swarm/swarm.test.js.map +1 -1
- package/dist/src/testing/test-builder.d.ts +31 -18
- package/dist/src/testing/test-builder.d.ts.map +1 -1
- package/dist/src/testing/test-builder.js +120 -48
- package/dist/src/testing/test-builder.js.map +1 -1
- package/dist/src/testing/test-protocol.d.ts +5 -5
- package/dist/src/testing/test-protocol.d.ts.map +1 -1
- package/dist/src/testing/test-protocol.js +28 -24
- package/dist/src/testing/test-protocol.js.map +1 -1
- package/dist/src/tests/basic-test-suite.d.ts +6 -0
- package/dist/src/tests/basic-test-suite.d.ts.map +1 -0
- package/dist/src/tests/basic-test-suite.js +142 -0
- package/dist/src/tests/basic-test-suite.js.map +1 -0
- package/dist/src/tests/memory-transport.test.d.ts +2 -0
- package/dist/src/tests/memory-transport.test.d.ts.map +1 -0
- package/dist/src/tests/memory-transport.test.js +12 -0
- package/dist/src/tests/memory-transport.test.js.map +1 -0
- package/dist/src/{presence.test.d.ts → tests/presence.test.d.ts} +0 -0
- package/dist/src/tests/presence.test.d.ts.map +1 -0
- package/dist/src/{presence.test.js → tests/presence.test.js} +21 -20
- package/dist/src/tests/presence.test.js.map +1 -0
- package/dist/src/tests/property-test-suite.d.ts +5 -0
- package/dist/src/tests/property-test-suite.d.ts.map +1 -0
- package/dist/src/tests/property-test-suite.js +203 -0
- package/dist/src/tests/property-test-suite.js.map +1 -0
- package/dist/src/tests/utils.d.ts +21 -0
- package/dist/src/tests/utils.d.ts.map +1 -0
- package/dist/src/tests/utils.js +76 -0
- package/dist/src/tests/utils.js.map +1 -0
- package/dist/src/tests/webrtc-transport.test.d.ts +2 -0
- package/dist/src/tests/webrtc-transport.test.d.ts.map +1 -0
- package/dist/src/tests/webrtc-transport.test.js +16 -0
- package/dist/src/tests/webrtc-transport.test.js.map +1 -0
- package/dist/src/topology/fully-connected-topology.d.ts +1 -1
- package/dist/src/topology/fully-connected-topology.d.ts.map +1 -1
- package/dist/src/topology/fully-connected-topology.js +4 -3
- package/dist/src/topology/fully-connected-topology.js.map +1 -1
- package/dist/src/topology/mmst-topology.js +4 -4
- package/dist/src/topology/mmst-topology.js.map +1 -1
- package/dist/src/topology/star-topology.js +4 -4
- package/dist/src/topology/star-topology.js.map +1 -1
- package/dist/src/topology/topology.d.ts +0 -5
- package/dist/src/topology/topology.d.ts.map +1 -1
- package/dist/src/transport/memory-transport.d.ts +8 -7
- package/dist/src/transport/memory-transport.d.ts.map +1 -1
- package/dist/src/transport/memory-transport.js +79 -45
- package/dist/src/transport/memory-transport.js.map +1 -1
- package/dist/src/transport/memory-transport.test.js +3 -2
- package/dist/src/transport/memory-transport.test.js.map +1 -1
- package/dist/src/transport/transport.d.ts +8 -4
- package/dist/src/transport/transport.d.ts.map +1 -1
- package/dist/src/transport/webrtc-simple-peer.test.d.ts +2 -0
- package/dist/src/transport/webrtc-simple-peer.test.d.ts.map +1 -0
- package/dist/src/transport/{wrtc-simple-peer.test.js → webrtc-simple-peer.test.js} +2 -2
- package/dist/src/transport/webrtc-simple-peer.test.js.map +1 -0
- package/dist/src/transport/webrtc-transport-proxy.d.ts +4 -4
- package/dist/src/transport/webrtc-transport-proxy.d.ts.map +1 -1
- package/dist/src/transport/webrtc-transport-proxy.js +15 -10
- package/dist/src/transport/webrtc-transport-proxy.js.map +1 -1
- package/dist/src/transport/webrtc-transport-proxy.test.js +2 -2
- package/dist/src/transport/webrtc-transport-proxy.test.js.map +1 -1
- package/dist/src/transport/webrtc-transport-service.js +2 -2
- package/dist/src/transport/webrtc-transport-service.js.map +1 -1
- package/dist/src/transport/webrtc-transport.d.ts +3 -3
- package/dist/src/transport/webrtc-transport.d.ts.map +1 -1
- package/dist/src/transport/webrtc-transport.js +10 -10
- package/dist/src/transport/webrtc-transport.js.map +1 -1
- package/dist/src/transport/webrtc-transport.test.js +3 -3
- package/dist/src/transport/webrtc-transport.test.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +25 -18
- package/src/index.ts +2 -2
- package/src/network-manager.ts +30 -45
- package/src/protocol-factory.ts +5 -3
- package/src/signal/index.ts +2 -2
- package/src/signal/integration.test.ts +1 -1
- package/src/signal/message-router.test.ts +1 -1
- package/src/signal/message-router.ts +2 -2
- package/src/signal/{signal-messaging.ts → signal-messenger.ts} +2 -2
- package/src/swarm/connection.ts +23 -12
- package/src/swarm/peer.ts +156 -0
- package/src/swarm/swarm-mapper.ts +21 -10
- package/src/swarm/swarm.ts +142 -111
- package/src/testing/test-builder.ts +143 -63
- package/src/testing/test-protocol.ts +31 -23
- package/src/tests/basic-test-suite.ts +168 -0
- package/src/tests/memory-transport.test.ts +11 -0
- package/src/{presence.test.ts → tests/presence.test.ts} +24 -23
- package/src/tests/property-test-suite.ts +221 -0
- package/src/tests/utils.ts +85 -0
- package/src/tests/webrtc-transport.test.ts +16 -0
- package/src/topology/fully-connected-topology.ts +5 -4
- package/src/topology/topology.ts +0 -5
- package/src/transport/memory-transport.test.ts +3 -2
- package/src/transport/memory-transport.ts +79 -49
- package/src/transport/transport.ts +9 -3
- package/src/transport/{wrtc-simple-peer.test.ts → webrtc-simple-peer.test.ts} +1 -1
- package/src/transport/webrtc-transport-proxy.test.ts +2 -2
- package/src/transport/webrtc-transport-proxy.ts +17 -8
- package/src/transport/webrtc-transport-service.ts +1 -1
- package/src/transport/webrtc-transport.test.ts +4 -6
- package/src/transport/webrtc-transport.ts +4 -4
- package/dist/src/network-manager.test.d.ts +0 -2
- package/dist/src/network-manager.test.d.ts.map +0 -1
- package/dist/src/network-manager.test.js +0 -596
- package/dist/src/network-manager.test.js.map +0 -1
- package/dist/src/presence.test.d.ts.map +0 -1
- package/dist/src/presence.test.js.map +0 -1
- package/dist/src/signal/signal-messaging.js.map +0 -1
- package/dist/src/transport/wrtc-simple-peer.test.d.ts +0 -2
- package/dist/src/transport/wrtc-simple-peer.test.d.ts.map +0 -1
- package/dist/src/transport/wrtc-simple-peer.test.js.map +0 -1
- package/src/network-manager.test.ts +0 -707
package/dist/src/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
export * from './connection-log';
|
|
1
2
|
export * from './network-manager';
|
|
2
3
|
export * from './protocol-factory';
|
|
4
|
+
export * from './signal';
|
|
3
5
|
export * from './swarm';
|
|
4
6
|
export * from './topology';
|
|
5
7
|
export * from './transport';
|
|
6
|
-
export * from './signal';
|
|
7
8
|
export * from './types';
|
|
8
|
-
export * from './connection-log';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -17,12 +17,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./connection-log"), exports);
|
|
20
21
|
__exportStar(require("./network-manager"), exports);
|
|
21
22
|
__exportStar(require("./protocol-factory"), exports);
|
|
23
|
+
__exportStar(require("./signal"), exports);
|
|
22
24
|
__exportStar(require("./swarm"), exports);
|
|
23
25
|
__exportStar(require("./topology"), exports);
|
|
24
26
|
__exportStar(require("./transport"), exports);
|
|
25
|
-
__exportStar(require("./signal"), exports);
|
|
26
27
|
__exportStar(require("./types"), exports);
|
|
27
|
-
__exportStar(require("./connection-log"), exports);
|
|
28
28
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,oDAAkC;AAClC,qDAAmC;AACnC,0CAAwB;AACxB,6CAA2B;AAC3B,8CAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,mDAAiC;AACjC,oDAAkC;AAClC,qDAAmC;AACnC,2CAAyB;AACzB,0CAAwB;AACxB,6CAA2B;AAC3B,8CAA4B;AAC5B,0CAAwB"}
|
|
@@ -7,14 +7,14 @@ import { ConnectionLog } from './connection-log';
|
|
|
7
7
|
import { Swarm, SwarmMapper } from './swarm';
|
|
8
8
|
import { Topology } from './topology';
|
|
9
9
|
import { TransportFactory } from './transport';
|
|
10
|
-
export
|
|
10
|
+
export type ProtocolProvider = (opts: {
|
|
11
11
|
channel: Buffer;
|
|
12
12
|
initiator: boolean;
|
|
13
13
|
}) => Protocol;
|
|
14
|
-
export
|
|
14
|
+
export type SwarmConnection = {
|
|
15
15
|
close(): Promise<void>;
|
|
16
16
|
};
|
|
17
|
-
export
|
|
17
|
+
export type SwarmOptions = {
|
|
18
18
|
/**
|
|
19
19
|
* Swarm topic.
|
|
20
20
|
*/
|
|
@@ -41,7 +41,7 @@ export declare type SwarmOptions = {
|
|
|
41
41
|
*/
|
|
42
42
|
label?: string;
|
|
43
43
|
};
|
|
44
|
-
export
|
|
44
|
+
export type NetworkManagerOptions = {
|
|
45
45
|
transportFactory: TransportFactory;
|
|
46
46
|
signalManager: SignalManager;
|
|
47
47
|
log?: boolean;
|
|
@@ -50,32 +50,28 @@ export declare type NetworkManagerOptions = {
|
|
|
50
50
|
* Manages connection to the swarm.
|
|
51
51
|
*/
|
|
52
52
|
export declare class NetworkManager {
|
|
53
|
-
private readonly _transportFactory;
|
|
54
53
|
private readonly _swarms;
|
|
55
54
|
private readonly _mappers;
|
|
55
|
+
private readonly _transportFactory;
|
|
56
56
|
private readonly _signalManager;
|
|
57
57
|
private readonly _messenger;
|
|
58
58
|
private readonly _signalConnection;
|
|
59
59
|
private readonly _connectionLog?;
|
|
60
60
|
readonly topicsUpdated: Event<void>;
|
|
61
61
|
constructor({ transportFactory, signalManager, log }: NetworkManagerOptions);
|
|
62
|
-
get signal(): SignalManager;
|
|
63
|
-
get topics(): PublicKey[];
|
|
64
62
|
get connectionLog(): ConnectionLog | undefined;
|
|
63
|
+
get signalManager(): SignalManager;
|
|
64
|
+
get topics(): PublicKey[];
|
|
65
65
|
getSwarmMap(topic: PublicKey): SwarmMapper | undefined;
|
|
66
66
|
getSwarm(topic: PublicKey): Swarm | undefined;
|
|
67
|
+
close(): Promise<void>;
|
|
67
68
|
/**
|
|
68
69
|
* Join the swarm.
|
|
69
70
|
*/
|
|
70
|
-
|
|
71
|
+
joinSwarm({ topic, peerId, topology, protocol, presence, label }: SwarmOptions): Promise<SwarmConnection>;
|
|
71
72
|
/**
|
|
72
73
|
* Close the connection.
|
|
73
74
|
*/
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* @deprecated
|
|
77
|
-
*/
|
|
78
|
-
start(): Promise<void>;
|
|
79
|
-
destroy(): Promise<void>;
|
|
75
|
+
leaveSwarm(topic: PublicKey): Promise<void>;
|
|
80
76
|
}
|
|
81
77
|
//# sourceMappingURL=network-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-manager.d.ts","sourceRoot":"","sources":["../../src/network-manager.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAa,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,
|
|
1
|
+
{"version":3,"file":"network-manager.d.ts","sourceRoot":"","sources":["../../src/network-manager.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAa,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,KAAK,QAAQ,CAAC;AAE3F,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,gBAAgB,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;GAEG;AAEH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0D;IAEnF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAgB;IAEhD,SAAgB,aAAa,cAAqB;gBAEtC,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,qBAAqB;IAmB3E,IAAI,aAAa,8BAEhB;IAGD,IAAI,aAAa,kBAEhB;IAGD,IAAI,MAAM,gBAET;IAED,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS;IAItD,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS;IAIvC,KAAK;IAUX;;OAEG;IAEG,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IA4B/G;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,SAAS;CAsBlC"}
|
|
@@ -18,6 +18,7 @@ const swarm_1 = require("./swarm");
|
|
|
18
18
|
/**
|
|
19
19
|
* Manages connection to the swarm.
|
|
20
20
|
*/
|
|
21
|
+
// TODO(dmaretskyi): Rename SwarmManager.
|
|
21
22
|
class NetworkManager {
|
|
22
23
|
constructor({ transportFactory, signalManager, log }) {
|
|
23
24
|
this._swarms = new util_1.ComplexMap(keys_1.PublicKey.hash);
|
|
@@ -32,64 +33,75 @@ class NetworkManager {
|
|
|
32
33
|
join: (opts) => this._signalManager.join(opts),
|
|
33
34
|
leave: (opts) => this._signalManager.leave(opts)
|
|
34
35
|
};
|
|
36
|
+
// TODO(burdon): Inject listener (generic pattern).
|
|
35
37
|
if (log) {
|
|
36
38
|
this._connectionLog = new connection_log_1.ConnectionLog();
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
|
-
|
|
41
|
+
// TODO(burdon): Remove access (Devtools only).
|
|
42
|
+
get connectionLog() {
|
|
43
|
+
return this._connectionLog;
|
|
44
|
+
}
|
|
45
|
+
// TODO(burdon): Remove access (Devtools only).
|
|
46
|
+
get signalManager() {
|
|
40
47
|
return this._signalManager;
|
|
41
48
|
}
|
|
42
49
|
// TODO(burdon): Reconcile with "discovery_key".
|
|
43
50
|
get topics() {
|
|
44
51
|
return Array.from(this._swarms.keys());
|
|
45
52
|
}
|
|
46
|
-
// TODO(burdon): Factor out devtools.
|
|
47
|
-
get connectionLog() {
|
|
48
|
-
return this._connectionLog;
|
|
49
|
-
}
|
|
50
53
|
getSwarmMap(topic) {
|
|
51
54
|
return this._mappers.get(topic);
|
|
52
55
|
}
|
|
53
56
|
getSwarm(topic) {
|
|
54
57
|
return this._swarms.get(topic);
|
|
55
58
|
}
|
|
59
|
+
async close() {
|
|
60
|
+
for (const topic of this._swarms.keys()) {
|
|
61
|
+
await this.leaveSwarm(topic).catch((err) => {
|
|
62
|
+
(0, log_1.log)(err, {}, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line: 126, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
await this._signalManager.destroy();
|
|
66
|
+
}
|
|
56
67
|
/**
|
|
57
68
|
* Join the swarm.
|
|
58
69
|
*/
|
|
59
|
-
// TODO(burdon): Join/Open?
|
|
60
|
-
async
|
|
70
|
+
// TODO(burdon): Join/Open? Swarm abstraction?
|
|
71
|
+
async joinSwarm({ topic, peerId, topology, protocol, presence, label }) {
|
|
61
72
|
var _a;
|
|
62
73
|
(0, node_assert_1.default)(keys_1.PublicKey.isPublicKey(topic));
|
|
63
74
|
(0, node_assert_1.default)(keys_1.PublicKey.isPublicKey(peerId));
|
|
64
75
|
(0, node_assert_1.default)(topology);
|
|
65
76
|
(0, node_assert_1.default)(typeof protocol === 'function');
|
|
66
77
|
if (this._swarms.has(topic)) {
|
|
67
|
-
throw new Error(`Already connected to swarm: ${topic}`);
|
|
78
|
+
throw new Error(`Already connected to swarm: ${topic.truncate()}`);
|
|
68
79
|
}
|
|
69
|
-
(0, log_1.log)('joining', { topic, peerId, topology: topology.toString() }, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line:
|
|
80
|
+
(0, log_1.log)('joining', { topic, peerId, topology: topology.toString() }, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line: 146, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." }); // TODO(burdon): Log peerId.
|
|
70
81
|
const swarm = new swarm_1.Swarm(topic, peerId, topology, protocol, this._messenger, this._transportFactory, label);
|
|
71
82
|
swarm.errors.handle((error) => {
|
|
72
|
-
(0, log_1.log)(`Swarm error: ${error}`, {}, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line:
|
|
83
|
+
(0, log_1.log)(`Swarm error: ${error}`, {}, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line: 149, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
73
84
|
});
|
|
74
85
|
this._swarms.set(topic, swarm);
|
|
75
|
-
this._signalConnection.join({ topic, peerId }).catch((error) => log_1.log.catch(error, {}, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line:
|
|
86
|
+
this._signalConnection.join({ topic, peerId }).catch((error) => log_1.log.catch(error, {}, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line: 153, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." }));
|
|
76
87
|
this._mappers.set(topic, new swarm_1.SwarmMapper(swarm, presence));
|
|
77
88
|
this.topicsUpdated.emit();
|
|
78
89
|
(_a = this._connectionLog) === null || _a === void 0 ? void 0 : _a.swarmJoined(swarm);
|
|
79
|
-
(0, log_1.log)('
|
|
90
|
+
(0, log_1.log)('joined', { topic, count: this._swarms.size }, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line: 158, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
80
91
|
return {
|
|
81
|
-
close: () => this.
|
|
92
|
+
close: () => this.leaveSwarm(topic)
|
|
82
93
|
};
|
|
83
94
|
}
|
|
84
95
|
/**
|
|
85
96
|
* Close the connection.
|
|
86
97
|
*/
|
|
87
|
-
async
|
|
98
|
+
async leaveSwarm(topic) {
|
|
88
99
|
var _a;
|
|
89
100
|
if (!this._swarms.has(topic)) {
|
|
101
|
+
log_1.log.warn('swarm not open', { topic }, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line: 170, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
90
102
|
return;
|
|
91
103
|
}
|
|
92
|
-
(0, log_1.log)('
|
|
104
|
+
(0, log_1.log)('leaving', { topic }, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line: 174, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
93
105
|
const swarm = this._swarms.get(topic);
|
|
94
106
|
await this._signalConnection.leave({ topic, peerId: swarm.ownPeerId });
|
|
95
107
|
const map = this._mappers.get(topic);
|
|
@@ -99,24 +111,7 @@ class NetworkManager {
|
|
|
99
111
|
await swarm.destroy();
|
|
100
112
|
this._swarms.delete(topic);
|
|
101
113
|
await this.topicsUpdated.emit();
|
|
102
|
-
(0, log_1.log)('
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* @deprecated
|
|
106
|
-
*/
|
|
107
|
-
// TODO(dmaretskyi): Remove.
|
|
108
|
-
async start() {
|
|
109
|
-
console.warn('NetworkManger.start is deprecated.');
|
|
110
|
-
}
|
|
111
|
-
// TODO(burdon): Open/close?
|
|
112
|
-
async destroy() {
|
|
113
|
-
for (const topic of this._swarms.keys()) {
|
|
114
|
-
await this.closeSwarmConnection(topic).catch((err) => {
|
|
115
|
-
(0, log_1.log)(`Failed to leave swarm ${topic} on NetworkManager.destroy}`, {}, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line: 198 });
|
|
116
|
-
(0, log_1.log)(err, {}, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line: 199 });
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
await this._signalManager.destroy();
|
|
114
|
+
(0, log_1.log)('left', { topic, count: this._swarms.size }, { file: "packages/core/mesh/network-manager/src/network-manager.ts", line: 188, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
120
115
|
}
|
|
121
116
|
}
|
|
122
117
|
exports.NetworkManager = NetworkManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-manager.js","sourceRoot":"","sources":["../../src/network-manager.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,8DAAiC;AAEjC,uCAAoC;AACpC,qCAAuC;AACvC,mCAAgC;AAEhC,+CAA2D;AAC3D,qCAAwC;AAExC,qDAAiD;AAEjD,mCAA6C;AAkD7C;;GAEG;AACH,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"network-manager.js","sourceRoot":"","sources":["../../src/network-manager.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,8DAAiC;AAEjC,uCAAoC;AACpC,qCAAuC;AACvC,mCAAgC;AAEhC,+CAA2D;AAC3D,qCAAwC;AAExC,qDAAiD;AAEjD,mCAA6C;AAkD7C;;GAEG;AACH,yCAAyC;AACzC,MAAa,cAAc;IAYzB,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAyB;QAX1D,YAAO,GAAG,IAAI,iBAAU,CAAmB,gBAAS,CAAC,IAAI,CAAC,CAAC;QAC3D,aAAQ,GAAG,IAAI,iBAAU,CAAyB,gBAAS,CAAC,IAAI,CAAC,CAAC;QAQnE,kBAAa,GAAG,IAAI,aAAK,EAAQ,CAAC;QAGhD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAE1C,oCAAoC;QACpC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,YAAY,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAC;QAClH,IAAI,CAAC,UAAU,GAAG,IAAI,qBAAS,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,GAAG;YACvB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;SACjD,CAAC;QAEF,mDAAmD;QACnD,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,cAAc,GAAG,IAAI,8BAAa,EAAE,CAAC;SAC3C;IACH,CAAC;IAED,+CAA+C;IAC/C,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,+CAA+C;IAC/C,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,gDAAgD;IAChD,IAAI,MAAM;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,WAAW,CAAC,KAAgB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,QAAQ,CAAC,KAAgB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;YACvC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzC,IAAA,SAAG,EAAC,GAAG,4RAAC,CAAC;YACX,CAAC,CAAC,CAAC;SACJ;QAED,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,8CAA8C;IAC9C,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAgB;;QAClF,IAAA,qBAAM,EAAC,gBAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,IAAA,qBAAM,EAAC,gBAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACtC,IAAA,qBAAM,EAAC,QAAQ,CAAC,CAAC;QACjB,IAAA,qBAAM,EAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SACpE;QAED,IAAA,SAAG,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,wRAAC,CAAC,CAAC,4BAA4B;QAC9F,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC3G,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,IAAA,SAAG,EAAC,gBAAgB,KAAK,EAAE,4RAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAG,CAAC,KAAK,CAAC,KAAK,4RAAC,CAAC,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,mBAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE3D,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAA,IAAI,CAAC,cAAc,0CAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QACxC,IAAA,SAAG,EAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,wRAAC,CAAC;QAEnD,OAAO;YACL,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;SACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,KAAgB;;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC5B,SAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,wRAAC,CAAC;YACtC,OAAO;SACR;QAED,IAAA,SAAG,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,wRAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACvC,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAEvE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACtC,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5B,MAAA,IAAI,CAAC,cAAc,0CAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAChC,IAAA,SAAG,EAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,wRAAC,CAAC;IACnD,CAAC;CACF;AAxHD,wCAwHC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-factory.d.ts","sourceRoot":"","sources":["../../src/protocol-factory.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAY,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,oCAIzB,sBAAsB,KAAG,
|
|
1
|
+
{"version":3,"file":"protocol-factory.d.ts","sourceRoot":"","sources":["../../src/protocol-factory.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAY,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,oCAIzB,sBAAsB,KAAG,gBAyB3B,CAAC;AAEF,MAAM,WAAW,MAAM;IACrB,eAAe,EAAE,MAAM,SAAS,CAAC;CAClC;AAED,eAAO,MAAM,qBAAqB,UAAW,SAAS,UAAU,SAAS,WAAW,MAAM,EAAE,qBAKxF,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,yBAAyB,kBACrB,MAAM,UACb,MAAM,kBACE,GAAG,KAClB,gBAMF,CAAC"}
|
|
@@ -25,7 +25,7 @@ const protocolFactory = ({ session = {}, plugins = [], getTopics }) => {
|
|
|
25
25
|
(0, node_assert_1.default)(getTopics);
|
|
26
26
|
// eslint-disable-next-line no-unused-vars
|
|
27
27
|
return ({ channel, initiator }) => {
|
|
28
|
-
(0, log_1.log)('creating protocol', {}, { file: "packages/core/mesh/network-manager/src/protocol-factory.ts", line:
|
|
28
|
+
(0, log_1.log)('creating protocol', {}, { file: "packages/core/mesh/network-manager/src/protocol-factory.ts", line: 38, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
29
29
|
const protocol = new mesh_protocol_1.Protocol({
|
|
30
30
|
streamOptions: { live: true },
|
|
31
31
|
discoveryToPublicKey: (dk) => {
|
|
@@ -55,10 +55,12 @@ exports.createProtocolFactory = createProtocolFactory;
|
|
|
55
55
|
* Creates a ProtocolProvider for simple transport connections with only one protocol plugin.
|
|
56
56
|
* @deprecated Use `createProtocolFactory`.
|
|
57
57
|
*/
|
|
58
|
-
const transportProtocolProvider = (rendezvousKey, peerId, protocolPlugin) =>
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
const transportProtocolProvider = (rendezvousKey, peerId, protocolPlugin) => {
|
|
59
|
+
return (0, exports.protocolFactory)({
|
|
60
|
+
getTopics: () => [rendezvousKey],
|
|
61
|
+
session: { peerId: keys_1.PublicKey.stringify(peerId) },
|
|
62
|
+
plugins: [protocolPlugin]
|
|
63
|
+
});
|
|
64
|
+
};
|
|
63
65
|
exports.transportProtocolProvider = transportProtocolProvider;
|
|
64
66
|
//# sourceMappingURL=protocol-factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-factory.js","sourceRoot":"","sources":["../../src/protocol-factory.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,8DAAiC;AAEjC,yCAA4C;AAC5C,qCAAuC;AACvC,mCAAgC;AAChC,uDAA0D;AAU1D;;;;;;;;GAQG;AACI,MAAM,eAAe,GAAG,CAAC,EAC9B,OAAO,GAAG,EAAE,EACZ,OAAO,GAAG,EAAE,EACZ,SAAS,EACc,EAAoB,EAAE;IAC7C,IAAA,qBAAM,EAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol-factory.js","sourceRoot":"","sources":["../../src/protocol-factory.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,8DAAiC;AAEjC,yCAA4C;AAC5C,qCAAuC;AACvC,mCAAgC;AAChC,uDAA0D;AAU1D;;;;;;;;GAQG;AACI,MAAM,eAAe,GAAG,CAAC,EAC9B,OAAO,GAAG,EAAE,EACZ,OAAO,GAAG,EAAE,EACZ,SAAS,EACc,EAAoB,EAAE;IAC7C,IAAA,qBAAM,EAAC,SAAS,CAAC,CAAC;IAElB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;QAChC,IAAA,SAAG,EAAC,mBAAmB,4RAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,wBAAQ,CAAC;YAC5B,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YAC7B,oBAAoB,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC3B,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,qBAAY,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9E,IAAI,SAAS,EAAE;oBACb,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,gBAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;iBAChE;gBAED,IAAA,qBAAM,EAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC;gBACvD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,SAAS;YACT,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,eAAe,mBA6B1B;AAMK,MAAM,qBAAqB,GAAG,CAAC,KAAgB,EAAE,MAAiB,EAAE,OAAiB,EAAE,EAAE,CAC9F,IAAA,uBAAe,EAAC;IACd,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnC,OAAO,EAAE,EAAE,MAAM,EAAE,gBAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE;IAC3D,OAAO;CACR,CAAC,CAAC;AALQ,QAAA,qBAAqB,yBAK7B;AAEL;;;GAGG;AACI,MAAM,yBAAyB,GAAG,CACvC,aAAqB,EACrB,MAAc,EACd,cAAmB,EACD,EAAE;IACpB,OAAO,IAAA,uBAAe,EAAC;QACrB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,EAAE,MAAM,EAAE,gBAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;QAChD,OAAO,EAAE,CAAC,cAAc,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,yBAAyB,6BAUpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/signal/index.ts"],"names":[],"mappings":"AAIA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/signal/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
package/dist/src/signal/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
17
17
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
__exportStar(require("./signal-connection"), exports);
|
|
21
|
-
__exportStar(require("./signal-messaging"), exports);
|
|
22
20
|
__exportStar(require("./message-router"), exports);
|
|
21
|
+
__exportStar(require("./signal-connection"), exports);
|
|
22
|
+
__exportStar(require("./signal-messenger"), exports);
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/signal/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,sDAAoC;AACpC,qDAAmC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/signal/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,mDAAiC;AACjC,sDAAoC;AACpC,qDAAmC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Any } from '@dxos/codec-protobuf';
|
|
2
2
|
import { PublicKey } from '@dxos/keys';
|
|
3
3
|
import { Answer } from '@dxos/protocols/proto/dxos/mesh/swarm';
|
|
4
|
-
import { OfferMessage, SignalMessage,
|
|
4
|
+
import { OfferMessage, SignalMessage, SignalMessenger } from './signal-messenger';
|
|
5
5
|
interface MessageRouterOptions {
|
|
6
6
|
sendMessage: (params: {
|
|
7
7
|
author: PublicKey;
|
|
@@ -15,7 +15,7 @@ interface MessageRouterOptions {
|
|
|
15
15
|
/**
|
|
16
16
|
* Adds offer/answer and signal interfaces.
|
|
17
17
|
*/
|
|
18
|
-
export declare class MessageRouter implements
|
|
18
|
+
export declare class MessageRouter implements SignalMessenger {
|
|
19
19
|
private readonly _onSignal;
|
|
20
20
|
private readonly _sendMessage;
|
|
21
21
|
private readonly _onOffer;
|
|
@@ -34,7 +34,7 @@ class MessageRouter {
|
|
|
34
34
|
// Ignore messages from wrong topics.
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
-
(0, log_1.log)('received', { from: author, to: recipient, msg: message }, { file: "packages/core/mesh/network-manager/src/signal/message-router.ts", line: 67 });
|
|
37
|
+
(0, log_1.log)('received', { from: author, to: recipient, msg: message }, { file: "packages/core/mesh/network-manager/src/signal/message-router.ts", line: 67, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
38
38
|
if ((_a = message.data) === null || _a === void 0 ? void 0 : _a.offer) {
|
|
39
39
|
await this._handleOffer({ author, recipient, message });
|
|
40
40
|
}
|
|
@@ -75,7 +75,7 @@ class MessageRouter {
|
|
|
75
75
|
// Setting unique message_id if it not specified yet.
|
|
76
76
|
messageId: (_a = message.messageId) !== null && _a !== void 0 ? _a : keys_1.PublicKey.random()
|
|
77
77
|
};
|
|
78
|
-
(0, log_1.log)('sending', { from: author, to: recipient, msg: networkMessage }, { file: "packages/core/mesh/network-manager/src/signal/message-router.ts", line: 117 });
|
|
78
|
+
(0, log_1.log)('sending', { from: author, to: recipient, msg: networkMessage }, { file: "packages/core/mesh/network-manager/src/signal/message-router.ts", line: 117, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
79
79
|
await this._encodeAndSend({ author, recipient, message: networkMessage });
|
|
80
80
|
}
|
|
81
81
|
async _encodeAndSend({ author, recipient, message }) {
|
|
@@ -95,7 +95,7 @@ class MessageRouter {
|
|
|
95
95
|
if (offerRecord) {
|
|
96
96
|
this._offerRecords.delete(message.data.answer.offerMessageId);
|
|
97
97
|
(0, assert_1.default)((_c = message.data) === null || _c === void 0 ? void 0 : _c.answer, 'No answer');
|
|
98
|
-
(0, log_1.log)('resolving', { answer: message.data.answer }, { file: "packages/core/mesh/network-manager/src/signal/message-router.ts", line: 146 });
|
|
98
|
+
(0, log_1.log)('resolving', { answer: message.data.answer }, { file: "packages/core/mesh/network-manager/src/signal/message-router.ts", line: 146, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
99
99
|
offerRecord.resolve(message.data.answer);
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-router.js","sourceRoot":"","sources":["../../../src/signal/message-router.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAG5B,qCAAuC;AACvC,mCAAgC;AAChC,+CAAyC;AAEzC,qCAAsD;AAgBtD;;GAEG;AACH,MAAa,aAAa;IASxB,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAwB;QAF1D,kBAAa,GAAuC,IAAI,iBAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAGxG,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EACnB,MAAM,EACN,SAAS,EACT,OAAO,EAKR;;QACC,IAAI,OAAO,CAAC,QAAQ,KAAK,8BAA8B,EAAE;YACvD,6BAA6B;YAC7B,OAAO;SACR;QACD,MAAM,OAAO,GAAiB,kBAAM,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE3G,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtC,qCAAqC;YACrC,OAAO;SACR;QAED,IAAA,SAAG,EAAC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"message-router.js","sourceRoot":"","sources":["../../../src/signal/message-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ export interface SignalMessage {
|
|
|
21
21
|
/**
|
|
22
22
|
* Signal peer messaging interface.
|
|
23
23
|
*/
|
|
24
|
-
export interface
|
|
24
|
+
export interface SignalMessenger {
|
|
25
25
|
/**
|
|
26
26
|
* Offer/answer RPC.
|
|
27
27
|
*/
|
|
@@ -31,4 +31,4 @@ export interface SignalMessaging {
|
|
|
31
31
|
*/
|
|
32
32
|
signal(msg: SignalMessage): Promise<void>;
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=signal-
|
|
34
|
+
//# sourceMappingURL=signal-messenger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal-
|
|
1
|
+
{"version":3,"file":"signal-messenger.d.ts","sourceRoot":"","sources":["../../../src/signal/signal-messenger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAE9E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1B;AAED;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1C;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-messenger.js","sourceRoot":"","sources":["../../../src/signal/signal-messenger.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE"}
|
|
@@ -2,7 +2,7 @@ import { Event } from '@dxos/async';
|
|
|
2
2
|
import { ErrorStream } from '@dxos/debug';
|
|
3
3
|
import { PublicKey } from '@dxos/keys';
|
|
4
4
|
import { Protocol } from '@dxos/mesh-protocol';
|
|
5
|
-
import { SignalMessage,
|
|
5
|
+
import { SignalMessage, SignalMessenger } from '../signal';
|
|
6
6
|
import { Transport, TransportFactory } from '../transport';
|
|
7
7
|
/**
|
|
8
8
|
* State machine for each connection.
|
|
@@ -56,12 +56,15 @@ export declare class Connection {
|
|
|
56
56
|
readonly stateChanged: Event<ConnectionState>;
|
|
57
57
|
readonly errors: ErrorStream;
|
|
58
58
|
constructor(topic: PublicKey, ownId: PublicKey, // TODO(burdon): peerID?
|
|
59
|
-
remoteId: PublicKey, sessionId: PublicKey, initiator: boolean, _signalMessaging:
|
|
59
|
+
remoteId: PublicKey, sessionId: PublicKey, initiator: boolean, _signalMessaging: SignalMessenger, _protocol: Protocol, _transportFactory: TransportFactory);
|
|
60
60
|
get state(): ConnectionState;
|
|
61
61
|
get transport(): Transport | undefined;
|
|
62
62
|
get protocol(): Protocol;
|
|
63
63
|
initiate(): void;
|
|
64
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Create an underlying transport and prepares it for the connection.
|
|
66
|
+
*/
|
|
67
|
+
openConnection(): void;
|
|
65
68
|
close(): Promise<void>;
|
|
66
69
|
signal(msg: SignalMessage): Promise<void>;
|
|
67
70
|
private _changeState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/swarm/connection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE3D;;GAEG;AACH,oBAAY,eAAe;IACzB;;;OAGG;IACH,OAAO,YAAY;IAEnB;;OAEG;IACH,qBAAqB,0BAA0B;IAE/C;;OAEG;IACH,UAAU,eAAe;IAEzB;;OAEG;IACH,QAAQ,aAAa;IAErB;;OAEG;IACH,QAAQ,aAAa;IAErB;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,qBAAa,UAAU;aASH,KAAK,EAAE,SAAS;aAChB,KAAK,EAAE,SAAS;aAChB,QAAQ,EAAE,SAAS;aACnB,SAAS,EAAE,SAAS;aACpB,SAAS,EAAE,OAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAfpC,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,gBAAgB,CAAgB;IAExC,QAAQ,CAAC,YAAY,yBAAgC;IACrD,QAAQ,CAAC,MAAM,cAAqB;gBAGlB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAAE,wBAAwB;IAC1C,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,OAAO,EACjB,gBAAgB,EAAE,eAAe,EACjC,SAAS,EAAE,QAAQ,EACnB,iBAAiB,EAAE,gBAAgB;IAGtD,IAAI,KAAK,oBAER;IAED,IAAI,SAAS,0BAEZ;IAED,IAAI,QAAQ,aAEX;IAGD,QAAQ;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../src/swarm/connection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE3D;;GAEG;AACH,oBAAY,eAAe;IACzB;;;OAGG;IACH,OAAO,YAAY;IAEnB;;OAEG;IACH,qBAAqB,0BAA0B;IAE/C;;OAEG;IACH,UAAU,eAAe;IAEzB;;OAEG;IACH,QAAQ,aAAa;IAErB;;OAEG;IACH,QAAQ,aAAa;IAErB;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,qBAAa,UAAU;aASH,KAAK,EAAE,SAAS;aAChB,KAAK,EAAE,SAAS;aAChB,QAAQ,EAAE,SAAS;aACnB,SAAS,EAAE,SAAS;aACpB,SAAS,EAAE,OAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAfpC,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,gBAAgB,CAAgB;IAExC,QAAQ,CAAC,YAAY,yBAAgC;IACrD,QAAQ,CAAC,MAAM,cAAqB;gBAGlB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAAE,wBAAwB;IAC1C,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,OAAO,EACjB,gBAAgB,EAAE,eAAe,EACjC,SAAS,EAAE,QAAQ,EACnB,iBAAiB,EAAE,gBAAgB;IAGtD,IAAI,KAAK,oBAER;IAED,IAAI,SAAS,0BAEZ;IAED,IAAI,QAAQ,aAEX;IAGD,QAAQ;IAkCR;;OAEG;IAEH,cAAc;IAuCR,KAAK;IAyBL,MAAM,CAAC,GAAG,EAAE,aAAa;IAqB/B,OAAO,CAAC,YAAY;CAKrB"}
|
|
@@ -91,14 +91,14 @@ class Connection {
|
|
|
91
91
|
data: { offer: {} }
|
|
92
92
|
})
|
|
93
93
|
.then((answer) => {
|
|
94
|
-
(0, log_1.log)('received', { answer, topic: this.topic, ownId: this.ownId, remoteId: this.remoteId }, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 103 });
|
|
94
|
+
(0, log_1.log)('received', { answer, topic: this.topic, ownId: this.ownId, remoteId: this.remoteId }, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 103, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
95
95
|
if (this.state !== ConnectionState.INITIAL) {
|
|
96
|
-
(0, log_1.log)('ignoring response', {}, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 105 });
|
|
96
|
+
(0, log_1.log)('ignoring response', {}, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 105, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
99
|
if (answer.accept) {
|
|
100
100
|
try {
|
|
101
|
-
this.
|
|
101
|
+
this.openConnection();
|
|
102
102
|
}
|
|
103
103
|
catch (err) {
|
|
104
104
|
this.errors.raise(err);
|
|
@@ -114,12 +114,15 @@ class Connection {
|
|
|
114
114
|
this.errors.raise(err);
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Create an underlying transport and prepares it for the connection.
|
|
119
|
+
*/
|
|
117
120
|
// TODO(burdon): Make async?
|
|
118
|
-
|
|
121
|
+
openConnection() {
|
|
119
122
|
(0, node_assert_1.default)(this._state === ConnectionState.INITIAL, 'Invalid state.');
|
|
120
123
|
this._changeState(this.initiator ? ConnectionState.INITIATING_CONNECTION : ConnectionState.CONNECTING);
|
|
121
124
|
(0, node_assert_1.default)(!this._transport);
|
|
122
|
-
this._transport = this._transportFactory.
|
|
125
|
+
this._transport = this._transportFactory.createTransport({
|
|
123
126
|
initiator: this.initiator,
|
|
124
127
|
stream: this._protocol.stream,
|
|
125
128
|
sendSignal: async (signal) => {
|
|
@@ -151,35 +154,45 @@ class Connection {
|
|
|
151
154
|
if (this._state === ConnectionState.CLOSED) {
|
|
152
155
|
return;
|
|
153
156
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
157
|
+
(0, log_1.log)('closing...', { peerId: this.ownId }, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 175, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
158
|
+
try {
|
|
159
|
+
// Gracefully close the stream flushing any unsent data packets.
|
|
160
|
+
await this._protocol.close();
|
|
161
|
+
}
|
|
162
|
+
catch (err) {
|
|
163
|
+
log_1.log.catch(err, {}, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 181, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
164
|
+
}
|
|
165
|
+
try {
|
|
166
|
+
// After the transport is closed streams are disconnected.
|
|
167
|
+
await ((_a = this._transport) === null || _a === void 0 ? void 0 : _a.destroy());
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
log_1.log.catch(err, {}, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 188, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
171
|
+
}
|
|
172
|
+
(0, log_1.log)('closed', { peerId: this.ownId }, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 191, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
160
173
|
this._changeState(ConnectionState.CLOSED);
|
|
161
|
-
(0, log_1.log)('closed', { peerId: this.ownId }, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 182 });
|
|
162
174
|
}
|
|
163
175
|
async signal(msg) {
|
|
164
176
|
var _a, _b;
|
|
165
177
|
(0, node_assert_1.default)(msg.sessionId);
|
|
166
178
|
if (!msg.sessionId.equals(this.sessionId)) {
|
|
167
|
-
(0, log_1.log)('dropping signal for incorrect session id', {}, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line:
|
|
179
|
+
(0, log_1.log)('dropping signal for incorrect session id', {}, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 198, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
168
180
|
return;
|
|
169
181
|
}
|
|
170
182
|
(0, node_assert_1.default)(msg.data.signal);
|
|
171
183
|
(0, node_assert_1.default)((_a = msg.author) === null || _a === void 0 ? void 0 : _a.equals(this.remoteId));
|
|
172
184
|
(0, node_assert_1.default)((_b = msg.recipient) === null || _b === void 0 ? void 0 : _b.equals(this.ownId));
|
|
173
185
|
if (this._state === ConnectionState.INITIAL) {
|
|
174
|
-
(0, log_1.log)('buffered signal', { peerId: this.ownId, remoteId: this.remoteId, msg: msg.data }, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line:
|
|
186
|
+
(0, log_1.log)('buffered signal', { peerId: this.ownId, remoteId: this.remoteId, msg: msg.data }, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 206, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
175
187
|
this._bufferedSignals.push(msg.data.signal);
|
|
176
188
|
return;
|
|
177
189
|
}
|
|
178
190
|
(0, node_assert_1.default)(this._transport, 'Connection not ready to accept signals.');
|
|
179
|
-
(0, log_1.log)('received signal', { peerId: this.ownId, remoteId: this.remoteId, msg: msg.data }, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line:
|
|
191
|
+
(0, log_1.log)('received signal', { peerId: this.ownId, remoteId: this.remoteId, msg: msg.data }, { file: "packages/core/mesh/network-manager/src/swarm/connection.ts", line: 212, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
180
192
|
await this._transport.signal(msg.data.signal);
|
|
181
193
|
}
|
|
182
194
|
_changeState(state) {
|
|
195
|
+
(0, node_assert_1.default)(state !== this._state, 'Already in this state.');
|
|
183
196
|
this._state = state;
|
|
184
197
|
this.stateChanged.emit(state);
|
|
185
198
|
}
|