@dxos/network-manager 0.1.8 → 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.
Files changed (153) hide show
  1. package/dist/src/index.d.ts +2 -2
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +2 -2
  4. package/dist/src/index.js.map +1 -1
  5. package/dist/src/network-manager.d.ts +10 -14
  6. package/dist/src/network-manager.d.ts.map +1 -1
  7. package/dist/src/network-manager.js +28 -33
  8. package/dist/src/network-manager.js.map +1 -1
  9. package/dist/src/protocol-factory.d.ts.map +1 -1
  10. package/dist/src/protocol-factory.js +8 -6
  11. package/dist/src/protocol-factory.js.map +1 -1
  12. package/dist/src/signal/index.d.ts +2 -2
  13. package/dist/src/signal/index.d.ts.map +1 -1
  14. package/dist/src/signal/index.js +2 -2
  15. package/dist/src/signal/index.js.map +1 -1
  16. package/dist/src/signal/message-router.d.ts +2 -2
  17. package/dist/src/signal/message-router.js +3 -3
  18. package/dist/src/signal/message-router.js.map +1 -1
  19. package/dist/src/signal/{signal-messaging.d.ts → signal-messenger.d.ts} +2 -2
  20. package/dist/src/signal/{signal-messaging.d.ts.map → signal-messenger.d.ts.map} +1 -1
  21. package/dist/src/signal/{signal-messaging.js → signal-messenger.js} +1 -1
  22. package/dist/src/signal/signal-messenger.js.map +1 -0
  23. package/dist/src/swarm/connection.d.ts +6 -3
  24. package/dist/src/swarm/connection.d.ts.map +1 -1
  25. package/dist/src/swarm/connection.js +28 -15
  26. package/dist/src/swarm/connection.js.map +1 -1
  27. package/dist/src/swarm/peer.d.ts +45 -0
  28. package/dist/src/swarm/peer.d.ts.map +1 -0
  29. package/dist/src/swarm/peer.js +113 -0
  30. package/dist/src/swarm/peer.js.map +1 -0
  31. package/dist/src/swarm/swarm-mapper.d.ts +2 -2
  32. package/dist/src/swarm/swarm-mapper.d.ts.map +1 -1
  33. package/dist/src/swarm/swarm-mapper.js +12 -10
  34. package/dist/src/swarm/swarm-mapper.js.map +1 -1
  35. package/dist/src/swarm/swarm.d.ts +13 -18
  36. package/dist/src/swarm/swarm.d.ts.map +1 -1
  37. package/dist/src/swarm/swarm.js +126 -97
  38. package/dist/src/swarm/swarm.js.map +1 -1
  39. package/dist/src/swarm/swarm.test.js +2 -2
  40. package/dist/src/swarm/swarm.test.js.map +1 -1
  41. package/dist/src/testing/test-builder.d.ts +31 -18
  42. package/dist/src/testing/test-builder.d.ts.map +1 -1
  43. package/dist/src/testing/test-builder.js +120 -48
  44. package/dist/src/testing/test-builder.js.map +1 -1
  45. package/dist/src/testing/test-protocol.d.ts +5 -5
  46. package/dist/src/testing/test-protocol.d.ts.map +1 -1
  47. package/dist/src/testing/test-protocol.js +28 -24
  48. package/dist/src/testing/test-protocol.js.map +1 -1
  49. package/dist/src/tests/basic-test-suite.d.ts +6 -0
  50. package/dist/src/tests/basic-test-suite.d.ts.map +1 -0
  51. package/dist/src/tests/basic-test-suite.js +142 -0
  52. package/dist/src/tests/basic-test-suite.js.map +1 -0
  53. package/dist/src/tests/memory-transport.test.d.ts +2 -0
  54. package/dist/src/tests/memory-transport.test.d.ts.map +1 -0
  55. package/dist/src/tests/memory-transport.test.js +12 -0
  56. package/dist/src/tests/memory-transport.test.js.map +1 -0
  57. package/dist/src/{presence.test.d.ts → tests/presence.test.d.ts} +0 -0
  58. package/dist/src/tests/presence.test.d.ts.map +1 -0
  59. package/dist/src/{presence.test.js → tests/presence.test.js} +21 -20
  60. package/dist/src/tests/presence.test.js.map +1 -0
  61. package/dist/src/tests/property-test-suite.d.ts +5 -0
  62. package/dist/src/tests/property-test-suite.d.ts.map +1 -0
  63. package/dist/src/tests/property-test-suite.js +203 -0
  64. package/dist/src/tests/property-test-suite.js.map +1 -0
  65. package/dist/src/tests/utils.d.ts +21 -0
  66. package/dist/src/tests/utils.d.ts.map +1 -0
  67. package/dist/src/tests/utils.js +76 -0
  68. package/dist/src/tests/utils.js.map +1 -0
  69. package/dist/src/tests/webrtc-transport.test.d.ts +2 -0
  70. package/dist/src/tests/webrtc-transport.test.d.ts.map +1 -0
  71. package/dist/src/tests/webrtc-transport.test.js +16 -0
  72. package/dist/src/tests/webrtc-transport.test.js.map +1 -0
  73. package/dist/src/topology/fully-connected-topology.d.ts +1 -1
  74. package/dist/src/topology/fully-connected-topology.d.ts.map +1 -1
  75. package/dist/src/topology/fully-connected-topology.js +4 -3
  76. package/dist/src/topology/fully-connected-topology.js.map +1 -1
  77. package/dist/src/topology/mmst-topology.js +4 -4
  78. package/dist/src/topology/mmst-topology.js.map +1 -1
  79. package/dist/src/topology/star-topology.js +4 -4
  80. package/dist/src/topology/star-topology.js.map +1 -1
  81. package/dist/src/topology/topology.d.ts +0 -5
  82. package/dist/src/topology/topology.d.ts.map +1 -1
  83. package/dist/src/transport/memory-transport.d.ts +8 -7
  84. package/dist/src/transport/memory-transport.d.ts.map +1 -1
  85. package/dist/src/transport/memory-transport.js +79 -45
  86. package/dist/src/transport/memory-transport.js.map +1 -1
  87. package/dist/src/transport/memory-transport.test.js +3 -2
  88. package/dist/src/transport/memory-transport.test.js.map +1 -1
  89. package/dist/src/transport/transport.d.ts +8 -4
  90. package/dist/src/transport/transport.d.ts.map +1 -1
  91. package/dist/src/transport/webrtc-simple-peer.test.d.ts +2 -0
  92. package/dist/src/transport/webrtc-simple-peer.test.d.ts.map +1 -0
  93. package/dist/src/transport/{wrtc-simple-peer.test.js → webrtc-simple-peer.test.js} +2 -2
  94. package/dist/src/transport/webrtc-simple-peer.test.js.map +1 -0
  95. package/dist/src/transport/webrtc-transport-proxy.d.ts +4 -4
  96. package/dist/src/transport/webrtc-transport-proxy.d.ts.map +1 -1
  97. package/dist/src/transport/webrtc-transport-proxy.js +15 -10
  98. package/dist/src/transport/webrtc-transport-proxy.js.map +1 -1
  99. package/dist/src/transport/webrtc-transport-proxy.test.js +2 -2
  100. package/dist/src/transport/webrtc-transport-proxy.test.js.map +1 -1
  101. package/dist/src/transport/webrtc-transport-service.js +2 -2
  102. package/dist/src/transport/webrtc-transport-service.js.map +1 -1
  103. package/dist/src/transport/webrtc-transport.d.ts +3 -3
  104. package/dist/src/transport/webrtc-transport.d.ts.map +1 -1
  105. package/dist/src/transport/webrtc-transport.js +10 -10
  106. package/dist/src/transport/webrtc-transport.js.map +1 -1
  107. package/dist/src/transport/webrtc-transport.test.js +3 -3
  108. package/dist/src/transport/webrtc-transport.test.js.map +1 -1
  109. package/dist/src/types.d.ts +1 -1
  110. package/dist/src/types.d.ts.map +1 -1
  111. package/package.json +25 -18
  112. package/src/index.ts +2 -2
  113. package/src/network-manager.ts +30 -45
  114. package/src/protocol-factory.ts +5 -3
  115. package/src/signal/index.ts +2 -2
  116. package/src/signal/integration.test.ts +1 -1
  117. package/src/signal/message-router.test.ts +1 -1
  118. package/src/signal/message-router.ts +2 -2
  119. package/src/signal/{signal-messaging.ts → signal-messenger.ts} +2 -2
  120. package/src/swarm/connection.ts +23 -12
  121. package/src/swarm/peer.ts +156 -0
  122. package/src/swarm/swarm-mapper.ts +21 -10
  123. package/src/swarm/swarm.ts +142 -111
  124. package/src/testing/test-builder.ts +143 -63
  125. package/src/testing/test-protocol.ts +31 -23
  126. package/src/tests/basic-test-suite.ts +168 -0
  127. package/src/tests/memory-transport.test.ts +11 -0
  128. package/src/{presence.test.ts → tests/presence.test.ts} +24 -23
  129. package/src/tests/property-test-suite.ts +221 -0
  130. package/src/tests/utils.ts +85 -0
  131. package/src/tests/webrtc-transport.test.ts +16 -0
  132. package/src/topology/fully-connected-topology.ts +5 -4
  133. package/src/topology/topology.ts +0 -5
  134. package/src/transport/memory-transport.test.ts +3 -2
  135. package/src/transport/memory-transport.ts +79 -49
  136. package/src/transport/transport.ts +9 -3
  137. package/src/transport/{wrtc-simple-peer.test.ts → webrtc-simple-peer.test.ts} +1 -1
  138. package/src/transport/webrtc-transport-proxy.test.ts +2 -2
  139. package/src/transport/webrtc-transport-proxy.ts +17 -8
  140. package/src/transport/webrtc-transport-service.ts +1 -1
  141. package/src/transport/webrtc-transport.test.ts +4 -6
  142. package/src/transport/webrtc-transport.ts +4 -4
  143. package/dist/src/network-manager.test.d.ts +0 -2
  144. package/dist/src/network-manager.test.d.ts.map +0 -1
  145. package/dist/src/network-manager.test.js +0 -596
  146. package/dist/src/network-manager.test.js.map +0 -1
  147. package/dist/src/presence.test.d.ts.map +0 -1
  148. package/dist/src/presence.test.js.map +0 -1
  149. package/dist/src/signal/signal-messaging.js.map +0 -1
  150. package/dist/src/transport/wrtc-simple-peer.test.d.ts +0 -2
  151. package/dist/src/transport/wrtc-simple-peer.test.d.ts.map +0 -1
  152. package/dist/src/transport/wrtc-simple-peer.test.js.map +0 -1
  153. package/src/network-manager.test.ts +0 -707
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/swarm/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/swarm/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { PublicKey } from '@dxos/keys';
2
+ import { Protocol } from '@dxos/mesh-protocol';
3
+ import { SignalMessage, SignalMessenger } from '../signal';
4
+ import { TransportFactory } from '../transport';
5
+ import { Connection } from './connection';
6
+ interface PeerCallbacks {
7
+ /**
8
+ * Connection opened.
9
+ */
10
+ onConnected: () => void;
11
+ /**
12
+ * Connection closed.
13
+ */
14
+ onDisconnected: () => void;
15
+ /**
16
+ * Peer accepted our offer to connect.
17
+ */
18
+ onAccepted: () => void;
19
+ /**
20
+ * Peer rejected our offer to connect.
21
+ */
22
+ onRejected: () => void;
23
+ }
24
+ export declare class Peer {
25
+ readonly id: PublicKey;
26
+ readonly topic: PublicKey;
27
+ readonly localPeerId: PublicKey;
28
+ private readonly _callbacks;
29
+ connection?: Connection;
30
+ /**
31
+ * Whether the peer is currently advertizing itself on the signal-network.
32
+ */
33
+ advertizing: boolean;
34
+ constructor(id: PublicKey, topic: PublicKey, localPeerId: PublicKey, _callbacks: PeerCallbacks);
35
+ /**
36
+ * Create new connection.
37
+ * Either we're initiating a connection or creating one in response to an offer from the other peer.
38
+ */
39
+ createConnection(signalMessaging: SignalMessenger, initiator: boolean, sessionId: PublicKey, protocol: Protocol, transportFactory: TransportFactory): Connection;
40
+ closeConnection(): Promise<void>;
41
+ onSignal(message: SignalMessage): Promise<void>;
42
+ destroy(): Promise<void>;
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=peer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../../src/swarm/peer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAE3D,UAAU,aAAa;IACrB;;OAEG;IACH,WAAW,EAAE,MAAM,IAAI,CAAC;IAExB;;OAEG;IACH,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,qBAAa,IAAI;aASG,EAAE,EAAE,SAAS;aACb,KAAK,EAAE,SAAS;aAChB,WAAW,EAAE,SAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAXtB,UAAU,CAAC,EAAE,UAAU,CAAC;IAE/B;;OAEG;IACI,WAAW,UAAS;gBAGT,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,SAAS,EACrB,UAAU,EAAE,aAAa;IAG5C;;;OAGG;IACH,gBAAgB,CAEd,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB;IA6D9B,eAAe;IAiBf,QAAQ,CAAC,OAAO,EAAE,aAAa;IAS/B,OAAO;CAMd"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
6
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
7
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
8
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.Peer = void 0;
16
+ const assert_1 = __importDefault(require("assert"));
17
+ const async_1 = require("@dxos/async");
18
+ const log_1 = require("@dxos/log");
19
+ const connection_1 = require("./connection");
20
+ class Peer {
21
+ constructor(id, topic, localPeerId, _callbacks) {
22
+ this.id = id;
23
+ this.topic = topic;
24
+ this.localPeerId = localPeerId;
25
+ this._callbacks = _callbacks;
26
+ /**
27
+ * Whether the peer is currently advertizing itself on the signal-network.
28
+ */
29
+ this.advertizing = false;
30
+ }
31
+ /**
32
+ * Create new connection.
33
+ * Either we're initiating a connection or creating one in response to an offer from the other peer.
34
+ */
35
+ createConnection(
36
+ // TODO(dmaretskyi): Move into constructor?
37
+ signalMessaging, initiator, sessionId, protocol, transportFactory) {
38
+ (0, log_1.log)('creating connection', {
39
+ topic: this.topic,
40
+ peerId: this.localPeerId,
41
+ remoteId: this.id,
42
+ initiator,
43
+ sessionId
44
+ }, { file: "packages/core/mesh/network-manager/src/swarm/peer.ts", line: 65, 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." });
45
+ (0, assert_1.default)(!this.connection, 'Already connected.');
46
+ const connection = new connection_1.Connection(this.topic, this.localPeerId, this.id, sessionId, initiator, signalMessaging, protocol, transportFactory);
47
+ connection.stateChanged.on((state) => {
48
+ switch (state) {
49
+ case connection_1.ConnectionState.CONNECTED: {
50
+ this._callbacks.onConnected();
51
+ break;
52
+ }
53
+ case connection_1.ConnectionState.REJECTED: {
54
+ this._callbacks.onRejected();
55
+ break;
56
+ }
57
+ case connection_1.ConnectionState.ACCEPTED: {
58
+ this._callbacks.onAccepted();
59
+ break;
60
+ }
61
+ case connection_1.ConnectionState.CLOSED: {
62
+ (0, log_1.log)('connection closed', { topic: this.topic, peerId: this.localPeerId, remoteId: this.id, initiator }, { file: "packages/core/mesh/network-manager/src/swarm/peer.ts", line: 101, 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
+ (0, assert_1.default)(this.connection === connection, 'Connection mismatch (race condition).');
64
+ this.connection = undefined;
65
+ this._callbacks.onDisconnected();
66
+ break;
67
+ }
68
+ }
69
+ });
70
+ connection.errors.handle((err) => {
71
+ log_1.log.warn('connection error', { topic: this.topic, peerId: this.localPeerId, remoteId: this.id, initiator, err }, { file: "packages/core/mesh/network-manager/src/swarm/peer.ts", line: 111, 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." });
72
+ // Calls `onStateChange` with CLOSED state.
73
+ void this.closeConnection().catch(() => {
74
+ log_1.log.catch(err, {}, { file: "packages/core/mesh/network-manager/src/swarm/peer.ts", line: 115, 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." });
75
+ });
76
+ });
77
+ this.connection = connection;
78
+ return connection;
79
+ }
80
+ async closeConnection() {
81
+ if (!this.connection) {
82
+ return;
83
+ }
84
+ const connection = this.connection;
85
+ (0, log_1.log)('closing...', { peerId: this.id, sessionId: connection.sessionId }, { file: "packages/core/mesh/network-manager/src/swarm/peer.ts", line: 129, 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." });
86
+ try {
87
+ // Triggers `onStateChange` callback which will clean up the connection.
88
+ await connection.close();
89
+ }
90
+ catch (err) {
91
+ log_1.log.catch(err, {}, { file: "packages/core/mesh/network-manager/src/swarm/peer.ts", line: 135, 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." });
92
+ }
93
+ (0, log_1.log)('closed', { peerId: this.id, sessionId: connection.sessionId }, { file: "packages/core/mesh/network-manager/src/swarm/peer.ts", line: 138, 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." });
94
+ }
95
+ async onSignal(message) {
96
+ if (!this.connection) {
97
+ (0, log_1.log)('dropping signal message for non-existent connection', { message }, { file: "packages/core/mesh/network-manager/src/swarm/peer.ts", line: 143, 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." });
98
+ return;
99
+ }
100
+ await this.connection.signal(message);
101
+ }
102
+ async destroy() {
103
+ var _a;
104
+ (0, log_1.log)('Destroying peer', { peerId: this.id, topic: this.topic }, { file: "packages/core/mesh/network-manager/src/swarm/peer.ts", line: 151, 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." });
105
+ // Won't throw.
106
+ await ((_a = this === null || this === void 0 ? void 0 : this.connection) === null || _a === void 0 ? void 0 : _a.close());
107
+ }
108
+ }
109
+ __decorate([
110
+ async_1.synchronized
111
+ ], Peer.prototype, "destroy", null);
112
+ exports.Peer = Peer;
113
+ //# sourceMappingURL=peer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peer.js","sourceRoot":"","sources":["../../../src/swarm/peer.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { Swarm } from './swarm';
6
6
  /**
7
7
  * State of the connection to the remote peer with additional info derived from network mapping.
8
8
  */
9
- export declare type PeerState = ConnectionState | 'INDIRECTLY_CONNECTED' | 'ME';
9
+ export type PeerState = ConnectionState | 'INDIRECTLY_CONNECTED' | 'ME';
10
10
  /**
11
11
  * Information about remote peer, directly or indirectly connected.
12
12
  */
@@ -21,8 +21,8 @@ export declare class SwarmMapper {
21
21
  private readonly _subscriptions;
22
22
  private readonly _connectionSubscriptions;
23
23
  private readonly _peers;
24
- get peers(): PeerInfo[];
25
24
  readonly mapUpdated: Event<PeerInfo[]>;
25
+ get peers(): PeerInfo[];
26
26
  constructor(_swarm: Swarm, _presence: PresencePlugin | undefined);
27
27
  private _update;
28
28
  destroy(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-mapper.d.ts","sourceRoot":"","sources":["../../../src/swarm/swarm-mapper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAsB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;GAEG;AACH,oBAAY,SAAS,GAAG,eAAe,GAAG,sBAAsB,GAAG,IAAI,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,SAAS,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,SAAS,EAAE,CAAC;CAC1B;AAID,qBAAa,WAAW;IAcpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAd5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA0D;IAEnG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAE9E,IAAI,KAAK,IAAI,QAAQ,EAAE,CAEtB;IAED,QAAQ,CAAC,UAAU,oBAA2B;gBAI3B,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,cAAc,GAAG,SAAS;IA6BxD,OAAO,CAAC,OAAO;IA0Cf,OAAO;CAIR"}
1
+ {"version":3,"file":"swarm-mapper.d.ts","sourceRoot":"","sources":["../../../src/swarm/swarm-mapper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAsB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,sBAAsB,GAAG,IAAI,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,SAAS,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,SAAS,EAAE,CAAC;CAC1B;AAID,qBAAa,WAAW;IAapB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAb5B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA0D;IACnG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAE9E,QAAQ,CAAC,UAAU,oBAA2B;IAE9C,IAAI,KAAK,IAAI,QAAQ,EAAE,CAEtB;gBAIkB,MAAM,EAAE,KAAK,EACb,SAAS,EAAE,cAAc,GAAG,SAAS;IAgCxD,OAAO,CAAC,OAAO;IAmDf,OAAO;CAIR"}
@@ -9,6 +9,9 @@ const keys_1 = require("@dxos/keys");
9
9
  const log_1 = require("@dxos/log");
10
10
  const util_1 = require("@dxos/util");
11
11
  class SwarmMapper {
12
+ get peers() {
13
+ return Array.from(this._peers.values());
14
+ }
12
15
  // prettier-ignore
13
16
  constructor(_swarm, _presence) {
14
17
  this._swarm = _swarm;
@@ -23,24 +26,22 @@ class SwarmMapper {
23
26
  this._update();
24
27
  }));
25
28
  }));
26
- this._subscriptions.add(_swarm.connectionRemoved.on((connection) => {
29
+ this._subscriptions.add(_swarm.disconnected.on((peerId) => {
27
30
  var _a;
28
- (_a = this._connectionSubscriptions.get(connection.remoteId)) === null || _a === void 0 ? void 0 : _a();
29
- this._connectionSubscriptions.delete(connection.remoteId);
31
+ (_a = this._connectionSubscriptions.get(peerId)) === null || _a === void 0 ? void 0 : _a();
32
+ this._connectionSubscriptions.delete(peerId);
30
33
  this._update();
31
34
  }));
32
35
  if (_presence) {
33
- const cb = () => {
36
+ this._subscriptions.add(_presence.graphUpdated.on(() => {
34
37
  this._update();
35
- };
36
- this._subscriptions.add(_presence.graphUpdated.on(cb));
38
+ }));
37
39
  }
40
+ // TODO(burdon): Do not call from constructor.
38
41
  this._update();
39
42
  }
40
- get peers() {
41
- return Array.from(this._peers.values());
42
- }
43
43
  _update() {
44
+ (0, log_1.log)('updating swarm', {}, { file: "packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts", line: 77, 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." });
44
45
  this._peers.clear();
45
46
  this._peers.set(this._swarm.ownPeerId, {
46
47
  id: this._swarm.ownPeerId,
@@ -78,9 +79,10 @@ class SwarmMapper {
78
79
  (0, log_1.log)('graph changed', {
79
80
  directConnections: this._swarm.connections.length,
80
81
  totalPeersInSwarm: this._peers.size
81
- }, { file: "packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts", line: 109 });
82
+ }, { file: "packages/core/mesh/network-manager/src/swarm/swarm-mapper.ts", line: 118, 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." });
82
83
  this.mapUpdated.emit(Array.from(this._peers.values()));
83
84
  }
85
+ // TODO(burdon): Async open/close.
84
86
  destroy() {
85
87
  Array.from(this._connectionSubscriptions.values()).forEach((cb) => cb());
86
88
  this._subscriptions.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"swarm-mapper.js","sourceRoot":"","sources":["../../../src/swarm/swarm-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarm-mapper.js","sourceRoot":"","sources":["../../../src/swarm/swarm-mapper.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- import { Event } from '@dxos/async';
2
1
  import { ErrorStream } from '@dxos/debug';
3
2
  import { PublicKey } from '@dxos/keys';
4
3
  import { Messenger } from '@dxos/messaging';
5
4
  import { SwarmEvent } from '@dxos/protocols/proto/dxos/mesh/signal';
6
5
  import { Answer } from '@dxos/protocols/proto/dxos/mesh/swarm';
7
6
  import { ProtocolProvider } from '../network-manager';
8
- import { OfferMessage, SignalMessage } from '../signal/signal-messaging';
7
+ import { OfferMessage, SignalMessage } from '../signal';
9
8
  import { Topology } from '../topology';
10
9
  import { TransportFactory } from '../transport';
11
10
  import { Topic } from '../types';
@@ -23,25 +22,13 @@ export declare class Swarm {
23
22
  private readonly _messenger;
24
23
  private readonly _transportFactory;
25
24
  private readonly _label;
26
- private readonly _connections;
27
- private readonly _discoveredPeers;
25
+ private readonly _peers;
28
26
  private readonly _swarmMessenger;
27
+ private _destroyed;
29
28
  /**
30
29
  * Unique id of the swarm, local to the current peer, generated when swarm is joined.
31
30
  */
32
31
  readonly id: PublicKey;
33
- /**
34
- * New connection to a peer is started.
35
- */
36
- readonly connectionAdded: Event<Connection>;
37
- /**
38
- * Connection to a peer is dropped.
39
- */
40
- readonly connectionRemoved: Event<Connection>;
41
- /**
42
- * Connection is established to a new peer.
43
- */
44
- readonly connected: Event<PublicKey>;
45
32
  readonly errors: ErrorStream;
46
33
  constructor(_topic: PublicKey, _ownPeerId: PublicKey, _topology: Topology, _protocolProvider: ProtocolProvider, _messenger: Messenger, _transportFactory: TransportFactory, _label: string | undefined);
47
34
  get connections(): Connection[];
@@ -51,13 +38,21 @@ export declare class Swarm {
51
38
  */
52
39
  get label(): string | undefined;
53
40
  get topic(): Topic;
41
+ destroy(): Promise<void>;
42
+ setTopology(topology: Topology): Promise<void>;
43
+ private _getOrCreatePeer;
44
+ private _destroyPeer;
54
45
  onSwarmEvent(swarmEvent: SwarmEvent): void;
55
46
  onOffer(message: OfferMessage): Promise<Answer>;
56
47
  onSignal(message: SignalMessage): Promise<void>;
57
- setTopology(topology: Topology): Promise<void>;
58
- destroy(): Promise<void>;
59
48
  private _getSwarmController;
49
+ /**
50
+ * Creates a connection then sends message over signal network.
51
+ */
60
52
  private _initiateConnection;
53
+ /**
54
+ * Synchronously create a connection, which must be initialized.
55
+ */
61
56
  private _createConnection;
62
57
  private _closeConnection;
63
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../../src/swarm/swarm.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAS,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAmB,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAO3D;;;;GAIG;AACH,qBAAa,KAAK;IA6Bd,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAlCzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyD;IACtF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6C;IAC9E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAEhD;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAsB;IAEjC;;OAEG;IACH,QAAQ,CAAC,eAAe,oBAA2B;IAEnD;;OAEG;IACH,QAAQ,CAAC,iBAAiB,oBAA2B;IAErD;;OAEG;IACH,QAAQ,CAAC,SAAS,mBAA0B;IAE5C,QAAQ,CAAC,MAAM,cAAqB;gBAIjB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,SAAS,EAC9B,SAAS,EAAE,QAAQ,EACV,iBAAiB,EAAE,gBAAgB,EACnC,UAAU,EAAE,SAAS,EACrB,iBAAiB,EAAE,gBAAgB,EACnC,MAAM,EAAE,MAAM,GAAG,SAAS;IAqB7C,IAAI,WAAW,iBAEd;IAED,IAAI,SAAS,cAEZ;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,IAAI,KAAK,CAEjB;IAED,YAAY,CAAC,UAAU,EAAE,UAAU;IAe7B,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAoD/C,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/C,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAe9B,OAAO;IAMb,OAAO,CAAC,mBAAmB;YAoBb,mBAAmB;IAsBjC,OAAO,CAAC,iBAAiB;YA4DX,gBAAgB;CAW/B"}
1
+ {"version":3,"file":"swarm.d.ts","sourceRoot":"","sources":["../../../src/swarm/swarm.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAiB,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAmB,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ1C;;;;GAIG;AACH,qBAAa,KAAK;IAoCd,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAzCzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmD;IAE1E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAEhD,OAAO,CAAC,UAAU,CAAS;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,YAAsB;IAoBjC,QAAQ,CAAC,MAAM,cAAqB;gBAMjB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,SAAS,EAC9B,SAAS,EAAE,QAAQ,EACV,iBAAiB,EAAE,gBAAgB,EACnC,UAAU,EAAE,SAAS,EACrB,iBAAiB,EAAE,gBAAgB,EACnC,MAAM,EAAE,MAAM,GAAG,SAAS;IAqB7C,IAAI,WAAW,iBAId;IAED,IAAI,SAAS,cAEZ;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,KAAK,IAAI,KAAK,CAEjB;IAGK,OAAO;IAOP,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAiBpC,OAAO,CAAC,gBAAgB;YAgCV,YAAY;IAM1B,YAAY,CAAC,UAAU,EAAE,UAAU;IA2B7B,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IA4D/C,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrD,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;YACW,mBAAmB;IAqBjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;YAeX,gBAAgB;CAQ/B"}