@streamr/dht 0.0.1-tatum.1 → 0.0.1-tatum.2

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 (64) hide show
  1. package/dist/src/connection/ConnectionManager.d.ts +6 -0
  2. package/dist/src/connection/ConnectionManager.js +6 -3
  3. package/dist/src/connection/ConnectionManager.js.map +1 -1
  4. package/dist/src/connection/ConnectivityChecker.d.ts +3 -2
  5. package/dist/src/connection/ConnectivityChecker.js +21 -19
  6. package/dist/src/connection/ConnectivityChecker.js.map +1 -1
  7. package/dist/src/connection/WebRTC/WebRtcConnector.d.ts +2 -0
  8. package/dist/src/connection/WebRTC/WebRtcConnector.js +14 -1
  9. package/dist/src/connection/WebRTC/WebRtcConnector.js.map +1 -1
  10. package/dist/src/connection/WebSocket/WebSocketConnector.d.ts +5 -3
  11. package/dist/src/connection/WebSocket/WebSocketConnector.js +18 -12
  12. package/dist/src/connection/WebSocket/WebSocketConnector.js.map +1 -1
  13. package/dist/src/connection/WebSocket/WebSocketServer.d.ts +2 -2
  14. package/dist/src/connection/WebSocket/WebSocketServer.js +27 -36
  15. package/dist/src/connection/WebSocket/WebSocketServer.js.map +1 -1
  16. package/dist/src/dht/DhtNode.d.ts +6 -2
  17. package/dist/src/dht/DhtNode.js +8 -6
  18. package/dist/src/dht/DhtNode.js.map +1 -1
  19. package/dist/src/dht/discovery/PeerDiscovery.d.ts +4 -2
  20. package/dist/src/dht/discovery/PeerDiscovery.js +18 -33
  21. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  22. package/dist/src/exports.d.ts +1 -1
  23. package/dist/src/exports.js.map +1 -1
  24. package/dist/src/helpers/errors.d.ts +1 -1
  25. package/dist/src/helpers/errors.js +3 -3
  26. package/dist/src/helpers/errors.js.map +1 -1
  27. package/dist/src/helpers/protoClasses.js +0 -2
  28. package/dist/src/helpers/protoClasses.js.map +1 -1
  29. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +1 -1
  30. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +10 -50
  31. package/dist/src/proto/packages/dht/protos/DhtRpc.js +8 -35
  32. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  33. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
  34. package/package.json +4 -4
  35. package/protos/DhtRpc.proto +5 -15
  36. package/src/connection/ConnectionManager.ts +15 -3
  37. package/src/connection/ConnectivityChecker.ts +25 -23
  38. package/src/connection/WebRTC/WebRtcConnector.ts +14 -0
  39. package/src/connection/WebSocket/WebSocketConnector.ts +22 -12
  40. package/src/connection/WebSocket/WebSocketServer.ts +31 -19
  41. package/src/dht/DhtNode.ts +13 -7
  42. package/src/dht/discovery/PeerDiscovery.ts +17 -8
  43. package/src/exports.ts +1 -1
  44. package/src/helpers/errors.ts +1 -1
  45. package/src/helpers/protoClasses.ts +1 -5
  46. package/src/proto/google/protobuf/any.ts +1 -1
  47. package/src/proto/google/protobuf/empty.ts +1 -1
  48. package/src/proto/google/protobuf/timestamp.ts +1 -1
  49. package/src/proto/packages/dht/protos/DhtRpc.client.ts +1 -1
  50. package/src/proto/packages/dht/protos/DhtRpc.server.ts +1 -1
  51. package/src/proto/packages/dht/protos/DhtRpc.ts +17 -69
  52. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
  53. package/test/end-to-end/Layer0-Layer1.test.ts +1 -1
  54. package/test/end-to-end/Layer0.test.ts +1 -1
  55. package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +1 -1
  56. package/test/end-to-end/Layer0WebRTC-Layer1.test.ts +3 -2
  57. package/test/end-to-end/Layer0WebRTC.test.ts +1 -1
  58. package/test/end-to-end/Layer1-Scale-WebRTC.test.ts +1 -1
  59. package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +1 -1
  60. package/test/end-to-end/WebSocketConnectionRequest.test.ts +1 -1
  61. package/test/integration/ConnectionManager.test.ts +9 -9
  62. package/test/integration/SimultaneousConnections.test.ts +9 -6
  63. package/test/integration/WebSocketConnectionManagement.test.ts +3 -2
  64. package/test/unit/webrtcReplaceInternalIpWithExternalIp.ts +18 -0
@@ -1,65 +1,56 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
6
  exports.WebSocketServer = void 0;
30
- const http = __importStar(require("http"));
7
+ const http_1 = require("http");
8
+ const https_1 = require("https");
31
9
  const eventemitter3_1 = __importDefault(require("eventemitter3"));
32
10
  const websocket_1 = require("websocket");
33
11
  const ServerWebSocket_1 = require("./ServerWebSocket");
34
12
  const utils_1 = require("@streamr/utils");
35
13
  const errors_1 = require("../../helpers/errors");
36
14
  const lodash_1 = require("lodash");
15
+ const fs_1 = __importDefault(require("fs"));
37
16
  const logger = new utils_1.Logger(module);
38
17
  class WebSocketServer extends eventemitter3_1.default {
39
18
  constructor() {
40
19
  super(...arguments);
41
20
  this.abortController = new AbortController();
42
21
  }
43
- async start(portRange, host) {
22
+ async start(portRange, host, tlsCertificate) {
44
23
  const ports = (0, lodash_1.range)(portRange.min, portRange.max + 1);
45
24
  for (const port of ports) {
46
25
  try {
47
- await (0, utils_1.asAbortable)(this.startServer(port, host), this.abortController.signal);
26
+ await (0, utils_1.asAbortable)(this.startServer(port, host, tlsCertificate), this.abortController.signal);
48
27
  return port;
49
28
  }
50
29
  catch (err) {
51
- logger.debug(`failed to start WebSocket server on port: ${port} reattempting on next port`);
30
+ if (err.originalError?.code === 'EADDRINUSE') {
31
+ logger.debug(`failed to start WebSocket server on port: ${port} reattempting on next port`);
32
+ }
33
+ else {
34
+ throw new errors_1.WebSocketServerStartError(err);
35
+ }
52
36
  }
53
37
  }
54
- throw new errors_1.StartingWebSocketServerFailed('Failed to start WebSocket server on any port in range');
38
+ throw new errors_1.WebSocketServerStartError('Failed to start WebSocket server on any port in range');
55
39
  }
56
- startServer(port, host) {
40
+ startServer(port, host, tlsCertificate) {
41
+ const requestListener = (request, response) => {
42
+ logger.trace('Received request for ' + request.url);
43
+ response.writeHead(404);
44
+ response.end();
45
+ };
57
46
  return new Promise((resolve, reject) => {
58
- this.httpServer = http.createServer((request, response) => {
59
- logger.trace('Received request for ' + request.url);
60
- response.writeHead(404);
61
- response.end();
62
- });
47
+ this.httpServer = tlsCertificate ?
48
+ (0, https_1.createServer)({
49
+ key: fs_1.default.readFileSync(tlsCertificate.privateKeyFileName),
50
+ cert: fs_1.default.readFileSync(tlsCertificate.certFileName)
51
+ }, requestListener)
52
+ :
53
+ (0, http_1.createServer)(requestListener);
63
54
  function originIsAllowed(_uorigin) {
64
55
  return true;
65
56
  }
@@ -76,7 +67,7 @@ class WebSocketServer extends eventemitter3_1.default {
76
67
  this.emit('connected', new ServerWebSocket_1.ServerWebSocket(connection, request.resourceURL));
77
68
  });
78
69
  this.httpServer.once('error', (err) => {
79
- reject(new errors_1.StartingWebSocketServerFailed('Starting Websocket server failed', err));
70
+ reject(new errors_1.WebSocketServerStartError('Starting Websocket server failed', err));
80
71
  });
81
72
  this.httpServer.once('listening', () => {
82
73
  logger.debug('Websocket server is listening on port ' + port);
@@ -86,7 +77,7 @@ class WebSocketServer extends eventemitter3_1.default {
86
77
  this.httpServer.listen(port, host);
87
78
  }
88
79
  catch (e) {
89
- reject(new errors_1.StartingWebSocketServerFailed('Websocket server threw an exception', e));
80
+ reject(new errors_1.WebSocketServerStartError('Websocket server threw an exception', e));
90
81
  }
91
82
  });
92
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketServer.js","sourceRoot":"","sources":["../../../../src/connection/WebSocket/WebSocketServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocketServer.js","sourceRoot":"","sources":["../../../../src/connection/WebSocket/WebSocketServer.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { ServerCallContext } from '@protobuf-ts/runtime-rpc';
6
6
  import { PeerID } from '../helpers/PeerID';
7
7
  import { LeaveNotice, ConnectivityResponse, Message, PeerDescriptor, FindMode, DataEntry } from '../proto/packages/dht/protos/DhtRpc';
8
8
  import { ITransport, TransportEvents } from '../transport/ITransport';
9
- import { ConnectionManager, PortRange } from '../connection/ConnectionManager';
9
+ import { ConnectionManager, PortRange, TlsCertificate } from '../connection/ConnectionManager';
10
10
  import { MetricsContext } from '@streamr/utils';
11
11
  import { Empty } from '../proto/google/protobuf/empty';
12
12
  import { Any } from '../proto/google/protobuf/any';
@@ -50,6 +50,8 @@ export interface DhtNodeOptions {
50
50
  webrtcNewConnectionTimeout?: number;
51
51
  webrtcPortRange?: PortRange;
52
52
  maxConnections?: number;
53
+ tlsCertificate?: TlsCertificate;
54
+ externalIp?: string;
53
55
  }
54
56
  export declare class DhtNodeConfig {
55
57
  serviceId: string;
@@ -77,7 +79,9 @@ export declare class DhtNodeConfig {
77
79
  webrtcDatachannelBufferThresholdLow?: number;
78
80
  webrtcDatachannelBufferThresholdHigh?: number;
79
81
  webrtcNewConnectionTimeout?: number;
82
+ externalIp?: string;
80
83
  webrtcPortRange?: PortRange;
84
+ tlsCertificate?: TlsCertificate;
81
85
  constructor(conf: Partial<DhtNodeOptions>);
82
86
  }
83
87
  export type Events = TransportEvents & DhtNodeEvents;
@@ -126,7 +130,7 @@ export declare class DhtNode extends EventEmitter<Events> implements ITransport
126
130
  private connectToEntryPoint;
127
131
  removeContact(contact: PeerDescriptor, removeFromOpenInternetPeers?: boolean): void;
128
132
  send(msg: Message, _doNotConnect?: boolean): Promise<void>;
129
- joinDht(entryPointDescriptors: PeerDescriptor[], doRandomJoin?: boolean): Promise<void>;
133
+ joinDht(entryPointDescriptors: PeerDescriptor[], doRandomJoin?: boolean, retry?: boolean): Promise<void>;
130
134
  startRecursiveFind(idToFind: Uint8Array, findMode?: FindMode, excludedPeer?: PeerDescriptor): Promise<RecursiveFindResult>;
131
135
  storeDataToDht(key: Uint8Array, data: Any): Promise<PeerDescriptor[]>;
132
136
  getDataFromDht(idToFind: Uint8Array): Promise<RecursiveFindResult>;
@@ -80,14 +80,14 @@ const logger = new utils_1.Logger(module);
80
80
  const createPeerDescriptor = (msg, peerIdString, nodeName) => {
81
81
  let peerId;
82
82
  if (msg) {
83
- peerId = peerIdString ? PeerID_1.PeerID.fromString(peerIdString).value : PeerID_1.PeerID.fromIp(msg.ip).value;
83
+ peerId = peerIdString ? PeerID_1.PeerID.fromString(peerIdString).value : PeerID_1.PeerID.fromIp(msg.host).value;
84
84
  }
85
85
  else {
86
86
  peerId = PeerID_1.PeerID.fromString(peerIdString).value;
87
87
  }
88
88
  const ret = { kademliaId: peerId, nodeName: nodeName, type: DhtRpc_1.NodeType.NODEJS };
89
89
  if (msg && msg.websocket) {
90
- ret.websocket = { ip: msg.websocket.ip, port: msg.websocket.port };
90
+ ret.websocket = { host: msg.websocket.host, port: msg.websocket.port, tls: msg.websocket.tls };
91
91
  ret.openInternet = true;
92
92
  }
93
93
  return ret;
@@ -186,11 +186,13 @@ class DhtNode extends eventemitter3_1.EventEmitter {
186
186
  webrtcNewConnectionTimeout: this.config.webrtcNewConnectionTimeout,
187
187
  webrtcPortRange: this.config.webrtcPortRange,
188
188
  nodeName: this.getNodeName(),
189
- maxConnections: this.config.maxConnections
189
+ maxConnections: this.config.maxConnections,
190
+ tlsCertificate: this.config.tlsCertificate,
191
+ externalIp: this.config.externalIp
190
192
  };
191
193
  // If own PeerDescriptor is given in config, create a ConnectionManager with ws server
192
194
  if (this.config.peerDescriptor?.websocket) {
193
- connectionManagerConfig.websocketHost = this.config.peerDescriptor.websocket.ip;
195
+ connectionManagerConfig.websocketHost = this.config.peerDescriptor.websocket.host;
194
196
  connectionManagerConfig.websocketPortRange = {
195
197
  min: this.config.peerDescriptor.websocket.port,
196
198
  max: this.config.peerDescriptor.websocket.port
@@ -470,11 +472,11 @@ class DhtNode extends eventemitter3_1.EventEmitter {
470
472
  const reachableThrough = this.peerDiscovery.isJoinOngoing() ? this.config.entryPoints || [] : [];
471
473
  await this.router.send(msg, reachableThrough);
472
474
  }
473
- async joinDht(entryPointDescriptors, doRandomJoin) {
475
+ async joinDht(entryPointDescriptors, doRandomJoin, retry) {
474
476
  if (!this.started) {
475
477
  throw new Error('Cannot join DHT before calling start() on DhtNode');
476
478
  }
477
- await Promise.all(entryPointDescriptors.map((entryPoint) => this.peerDiscovery.joinDht(entryPoint, doRandomJoin)));
479
+ await Promise.all(entryPointDescriptors.map((entryPoint) => this.peerDiscovery.joinDht(entryPoint, doRandomJoin, retry)));
478
480
  }
479
481
  async startRecursiveFind(idToFind, findMode, excludedPeer) {
480
482
  return this.recursiveFinder.startRecursiveFind(idToFind, findMode, excludedPeer);
@@ -1 +1 @@
1
- {"version":3,"file":"DhtNode.js","sourceRoot":"","sources":["../../../src/dht/DhtNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DhtNode.js","sourceRoot":"","sources":["../../../src/dht/DhtNode.ts"],"names":[],"mappings":"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"}
@@ -31,10 +31,12 @@ export declare class PeerDiscovery {
31
31
  private joinCalled;
32
32
  private rejoinTimeoutRef?;
33
33
  private readonly abortController;
34
+ private recoveryIntervalStarted;
34
35
  constructor(config: PeerDiscoveryConfig);
35
- joinDht(entryPointDescriptor: PeerDescriptor, doRandomJoin?: boolean): Promise<void>;
36
+ joinDht(entryPointDescriptor: PeerDescriptor, doRandomJoin?: boolean, retry?: boolean): Promise<void>;
36
37
  rejoinDht(entryPoint: PeerDescriptor): Promise<void>;
37
- private getClosestPeersFromBucket;
38
+ private ensureRecoveryIntervalIsRunning;
39
+ private fetchClosestPeersFromBucket;
38
40
  isJoinOngoing(): boolean;
39
41
  isJoinCalled(): boolean;
40
42
  stop(): void;
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
@@ -29,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
6
  exports.PeerDiscovery = void 0;
30
7
  const DiscoverySession_1 = require("./DiscoverySession");
31
8
  const crypto_1 = __importDefault(require("crypto"));
32
- const Err = __importStar(require("../../helpers/errors"));
33
9
  const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
34
10
  const utils_1 = require("@streamr/utils");
35
11
  const logger = new utils_1.Logger(module);
@@ -39,10 +15,11 @@ class PeerDiscovery {
39
15
  this.stopped = false;
40
16
  this.rejoinOngoing = false;
41
17
  this.joinCalled = false;
18
+ this.recoveryIntervalStarted = false;
42
19
  this.config = config;
43
20
  this.abortController = new AbortController();
44
21
  }
45
- async joinDht(entryPointDescriptor, doRandomJoin = true) {
22
+ async joinDht(entryPointDescriptor, doRandomJoin = true, retry = true) {
46
23
  if (this.stopped) {
47
24
  return;
48
25
  }
@@ -83,19 +60,21 @@ class PeerDiscovery {
83
60
  if (randomSession) {
84
61
  await randomSession.findClosestNodes(this.config.joinTimeout);
85
62
  }
63
+ }
64
+ catch (_e) {
65
+ logger.debug(`DHT join on ${this.config.serviceId} timed out`);
66
+ }
67
+ finally {
86
68
  if (!this.stopped) {
87
69
  if (this.config.bucket.count() === 0) {
88
- this.rejoinDht(entryPointDescriptor).catch(() => { });
70
+ if (retry) {
71
+ (0, utils_1.setAbortableTimeout)(() => this.rejoinDht(entryPointDescriptor), 1000, this.abortController.signal);
72
+ }
89
73
  }
90
74
  else {
91
- await (0, utils_1.scheduleAtInterval)(() => this.getClosestPeersFromBucket(), 60000, true, this.abortController.signal);
75
+ await this.ensureRecoveryIntervalIsRunning();
92
76
  }
93
77
  }
94
- }
95
- catch (_e) {
96
- throw new Err.DhtJoinTimeout('join timed out');
97
- }
98
- finally {
99
78
  this.ongoingDiscoverySessions.delete(session.sessionId);
100
79
  if (randomSession) {
101
80
  this.ongoingDiscoverySessions.delete(randomSession.sessionId);
@@ -124,7 +103,13 @@ class PeerDiscovery {
124
103
  this.rejoinOngoing = false;
125
104
  }
126
105
  }
127
- async getClosestPeersFromBucket() {
106
+ async ensureRecoveryIntervalIsRunning() {
107
+ if (!this.recoveryIntervalStarted) {
108
+ this.recoveryIntervalStarted = true;
109
+ await (0, utils_1.scheduleAtInterval)(() => this.fetchClosestPeersFromBucket(), 60000, true, this.abortController.signal);
110
+ }
111
+ }
112
+ async fetchClosestPeersFromBucket() {
128
113
  if (this.stopped) {
129
114
  return;
130
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PeerDiscovery.js","sourceRoot":"","sources":["../../../../src/dht/discovery/PeerDiscovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PeerDiscovery.js","sourceRoot":"","sources":["../../../../src/dht/discovery/PeerDiscovery.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export { SimulatorTransport } from './connection/Simulator/SimulatorTransport';
5
5
  export { getRandomRegion, getRegionDelayMatrix } from './connection/Simulator/pings';
6
6
  export { PeerDescriptor, Message, NodeType, DataEntry } from './proto/packages/dht/protos/DhtRpc';
7
7
  export { ITransport } from './transport/ITransport';
8
- export { ConnectionManager, ConnectionLocker, PortRange } from './connection/ConnectionManager';
8
+ export { ConnectionManager, ConnectionLocker, PortRange, TlsCertificate } from './connection/ConnectionManager';
9
9
  export { PeerID, PeerIDKey } from './helpers/PeerID';
10
10
  export { DhtPeer } from './dht/DhtPeer';
11
11
  export { UUID } from './helpers/UUID';
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AAA7D,kGAAA,OAAO,OAAA;AAChB,iFAA+E;AAAtE,oIAAA,wBAAwB,OAAA;AACjC,8DAAyE;AAAhE,sGAAA,SAAS,OAAA;AAAE,wGAAA,WAAW,OAAA;AAC/B,gFAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAC3B,sDAAoF;AAA3E,wGAAA,eAAe,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAC9C,6DAAiG;AAAxF,wGAAA,cAAc,OAAA;AAAE,iGAAA,OAAO,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,mGAAA,SAAS,OAAA;AAErD,oEAA+F;AAAtF,sHAAA,iBAAiB,OAAA;AAC1B,2CAAoD;AAA3C,gGAAA,MAAM,OAAA;AACf,yCAAuC;AAA9B,kGAAA,OAAO,OAAA;AAChB,uCAAqC;AAA5B,4FAAA,IAAI,OAAA;AAEb,uDAAqD;AAA5C,4GAAA,YAAY,OAAA;AACrB,qEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,iDAA+C;AAAtC,kGAAA,OAAO,OAAA;AAEhB,+EAA0H;AAAjH,oIAAA,wBAAwB,OAAA;AAAE,iIAAA,qBAAqB,OAAA;AAAE,gIAAA,oBAAoB,OAAA;AAE9E,gEAA8D;AAArD,gHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AAA7D,kGAAA,OAAO,OAAA;AAChB,iFAA+E;AAAtE,oIAAA,wBAAwB,OAAA;AACjC,8DAAyE;AAAhE,sGAAA,SAAS,OAAA;AAAE,wGAAA,WAAW,OAAA;AAC/B,gFAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAC3B,sDAAoF;AAA3E,wGAAA,eAAe,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAC9C,6DAAiG;AAAxF,wGAAA,cAAc,OAAA;AAAE,iGAAA,OAAO,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,mGAAA,SAAS,OAAA;AAErD,oEAA+G;AAAtG,sHAAA,iBAAiB,OAAA;AAC1B,2CAAoD;AAA3C,gGAAA,MAAM,OAAA;AACf,yCAAuC;AAA9B,kGAAA,OAAO,OAAA;AAChB,uCAAqC;AAA5B,4FAAA,IAAI,OAAA;AAEb,uDAAqD;AAA5C,4GAAA,YAAY,OAAA;AACrB,qEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,iDAA+C;AAAtC,kGAAA,OAAO,OAAA;AAEhB,+EAA0H;AAAjH,oIAAA,wBAAwB,OAAA;AAAE,iIAAA,qBAAqB,OAAA;AAAE,gIAAA,oBAAoB,OAAA;AAE9E,gEAA8D;AAArD,gHAAA,cAAc,OAAA"}
@@ -27,7 +27,7 @@ export declare class ConnectionFailed extends Err {
27
27
  export declare class CouldNotRoute extends Err {
28
28
  constructor(message?: string, originalError?: Error | string);
29
29
  }
30
- export declare class StartingWebSocketServerFailed extends Err {
30
+ export declare class WebSocketServerStartError extends Err {
31
31
  constructor(message?: string, originalError?: Error | string);
32
32
  }
33
33
  export declare class WebSocketConnectionRequestRejected extends Err {
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  /* eslint-disable max-len */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ConnectionNotOpen = exports.GettingDataFailed = exports.SendFailed = exports.DhtJoinTimeout = exports.ConnectionLocker = exports.ConnectivityResponseTimeout = exports.IllegalArguments = exports.IllegalRTCPeerConnectionState = exports.NotImplemented = exports.CannotConnectToSelf = exports.CouldNotStop = exports.CouldNotStart = exports.WebSocketConnectionRequestRejected = exports.StartingWebSocketServerFailed = exports.CouldNotRoute = exports.ConnectionFailed = exports.ErrorCode = void 0;
4
+ exports.ConnectionNotOpen = exports.GettingDataFailed = exports.SendFailed = exports.DhtJoinTimeout = exports.ConnectionLocker = exports.ConnectivityResponseTimeout = exports.IllegalArguments = exports.IllegalRTCPeerConnectionState = exports.NotImplemented = exports.CannotConnectToSelf = exports.CouldNotStop = exports.CouldNotStart = exports.WebSocketConnectionRequestRejected = exports.WebSocketServerStartError = exports.CouldNotRoute = exports.ConnectionFailed = exports.ErrorCode = void 0;
5
5
  var ErrorCode;
6
6
  (function (ErrorCode) {
7
7
  ErrorCode["CONNECTION_FAILED"] = "CONNECTION_FAILED";
@@ -36,10 +36,10 @@ class CouldNotRoute extends Err {
36
36
  constructor(message, originalError) { super(ErrorCode.COULD_NOT_ROUTE, message, originalError); }
37
37
  }
38
38
  exports.CouldNotRoute = CouldNotRoute;
39
- class StartingWebSocketServerFailed extends Err {
39
+ class WebSocketServerStartError extends Err {
40
40
  constructor(message, originalError) { super(ErrorCode.STARTING_WEBSOCKET_SERVER_FAILED, message, originalError); }
41
41
  }
42
- exports.StartingWebSocketServerFailed = StartingWebSocketServerFailed;
42
+ exports.WebSocketServerStartError = WebSocketServerStartError;
43
43
  class WebSocketConnectionRequestRejected extends Err {
44
44
  constructor(message, originalError) { super(ErrorCode.WEBSOCKET_CONNECTION_REQUEST_REJECTED, message, originalError); }
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/helpers/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/helpers/errors.ts"],"names":[],"mappings":";AAAA,4BAA4B;;;AAE5B,IAAY,SAiBX;AAjBD,WAAY,SAAS;IACjB,oDAAuC,CAAA;IACvC,gDAAmC,CAAA;IACnC,kFAAqE,CAAA;IACrE,4FAA+E,CAAA;IAC/E,gDAAmC,CAAA;IACnC,8CAAiC,CAAA;IACjC,8DAAiD,CAAA;IACjD,gDAAmC,CAAA;IACnC,oFAAuE,CAAA;IACvE,oDAAuC,CAAA;IACvC,oHAAuG,CAAA;IACvG,oDAAuC,CAAA;IACvC,kDAAqC,CAAA;IACrC,wCAA2B,CAAA;IAC3B,wDAA2C,CAAA;IAC3C,wDAA2C,CAAA;AAC/C,CAAC,EAjBW,SAAS,yBAAT,SAAS,QAiBpB;AAED,MAAM,GAAI,SAAQ,KAAK;IAKnB,YAAY,IAAe,EAAE,OAAgB,EAAE,aAA8B;QACzE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACtC,CAAC;CACJ;AAED,MAAa,gBAAiB,SAAQ,GAAG;IAAG,YAAa,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAA3K,4CAA2K;AAC3K,MAAa,aAAc,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAArK,sCAAqK;AACrK,MAAa,yBAA0B,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,gCAAgC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAAlM,8DAAkM;AAClM,MAAa,kCAAmC,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,qCAAqC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAAhN,gFAAgN;AAChN,MAAa,aAAc,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAArK,sCAAqK;AACrK,MAAa,YAAa,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAAnK,oCAAmK;AACnK,MAAa,mBAAoB,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAG,KAAK,CAAC,SAAS,CAAC,sBAAsB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAAjL,kDAAiL;AACjL,MAAa,cAAe,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAAtK,wCAAsK;AACtK,MAAa,6BAA8B,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,iCAAiC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAAvM,sEAAuM;AACvM,MAAa,gBAAiB,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAA1K,4CAA0K;AAC1K,MAAa,2BAA4B,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,iDAAiD,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAArN,kEAAqN;AACrN,MAAa,gBAAiB,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAA1K,4CAA0K;AAC1K,MAAa,cAAe,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAAvK,wCAAuK;AACvK,MAAa,UAAW,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAA9J,gCAA8J;AAC9J,MAAa,iBAAkB,SAAQ,GAAG;IAAG,YAAY,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAA7K,8CAA6K;AAC7K,MAAa,iBAAkB,SAAQ,GAAG;IAAG,YAAa,OAAgB,EAAE,aAA8B,IAAI,KAAK,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA,CAAC,CAAC;CAAE;AAA9K,8CAA8K"}
@@ -12,8 +12,6 @@ exports.protoClasses = [
12
12
  DhtRpc_1.LeaveNotice,
13
13
  DhtRpc_1.PeerDescriptor,
14
14
  DhtRpc_1.ConnectivityMethod,
15
- DhtRpc_1.ConnectivityReportRequest,
16
- DhtRpc_1.ConnectivityReportResponse,
17
15
  DhtRpc_1.DisconnectNotice,
18
16
  DhtRpc_1.RouteMessageWrapper,
19
17
  DhtRpc_1.RouteMessageAck,
@@ -1 +1 @@
1
- {"version":3,"file":"protoClasses.js","sourceRoot":"","sources":["../../../src/helpers/protoClasses.ts"],"names":[],"mappings":";;;AACA,gEA8B4C;AAE/B,QAAA,YAAY,GAA6B;IAClD,4BAAmB;IACnB,6BAAoB;IACpB,6BAAoB;IACpB,4BAAmB;IACnB,oBAAW;IACX,qBAAY;IACZ,oBAAW;IACX,uBAAc;IACd,2BAAkB;IAClB,kCAAyB;IACzB,mCAA0B;IAC1B,yBAAgB;IAChB,4BAAmB;IACnB,wBAAe;IACf,4BAAmB;IACnB,6BAAoB;IACpB,yBAAgB;IAChB,0BAAiB;IACjB,gBAAO;IACP,mCAA0B;IAC1B,oCAA2B;IAC3B,gCAAuB;IACvB,iBAAQ;IACR,kBAAS;IACT,qBAAY;IACZ,oBAAW;IACX,sBAAa;IACb,qBAAY;CACf,CAAA"}
1
+ {"version":3,"file":"protoClasses.js","sourceRoot":"","sources":["../../../src/helpers/protoClasses.ts"],"names":[],"mappings":";;;AACA,gEA4B4C;AAE/B,QAAA,YAAY,GAA6B;IAClD,4BAAmB;IACnB,6BAAoB;IACpB,6BAAoB;IACpB,4BAAmB;IACnB,oBAAW;IACX,qBAAY;IACZ,oBAAW;IACX,uBAAc;IACd,2BAAkB;IAClB,yBAAgB;IAChB,4BAAmB;IACnB,wBAAe;IACf,4BAAmB;IACnB,6BAAoB;IACpB,yBAAgB;IAChB,0BAAiB;IACjB,gBAAO;IACP,mCAA0B;IAC1B,oCAA2B;IAC3B,gCAAuB;IACvB,iBAAQ;IACR,kBAAS;IACT,qBAAY;IACZ,oBAAW;IACX,sBAAa;IACb,qBAAY;CACf,CAAA"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExternalApiServiceClient = exports.ConnectionLockerClient = exports.WebRtcConnectorServiceClient = exports.WebSocketConnectorServiceClient = exports.RecursiveFindSessionServiceClient = exports.StoreServiceClient = exports.RoutingServiceClient = exports.DhtRpcServiceClient = void 0;
4
- // @generated by protobuf-ts 2.8.2 with parameter server_generic,generate_dependencies,long_type_number
4
+ // @generated by protobuf-ts 2.9.1 with parameter server_generic,generate_dependencies,long_type_number
5
5
  // @generated from protobuf file "packages/dht/protos/DhtRpc.proto" (package "dht", syntax proto3)
6
6
  // tslint:disable
7
7
  const DhtRpc_1 = require("./DhtRpc");