@dxos/signal 2.33.9-dev.d0ae5f95 → 2.33.9-dev.d0dce35f
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintrc.js +6 -0
- package/.rush/temp/package-deps_build.json +17 -0
- package/.rush/temp/package-deps_build_test.json +17 -0
- package/.rush/temp/shrinkwrap-deps.json +296 -0
- package/bin/signal-test-darwin-amd64 +0 -0
- package/bin/signal-test-darwin-arm64 +0 -0
- package/bin/signal-test-linux-amd64 +0 -0
- package/bin/signal-test-linux-arm64 +0 -0
- package/bin/signal.js +0 -0
- package/dist/src/index.d.ts +1 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/test-broker.d.ts +19 -0
- package/dist/src/test-broker.d.ts.map +1 -0
- package/dist/src/test-broker.js +104 -0
- package/dist/src/test-broker.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -57
- package/signal.build.log +0 -0
- package/src/index.ts +2 -4
- package/src/test-broker.ts +94 -0
- package/tsconfig.json +20 -0
- package/dist/package.json +0 -94
- package/dist/src/bin.d.ts +0 -3
- package/dist/src/bin.d.ts.map +0 -1
- package/dist/src/bin.js +0 -79
- package/dist/src/bin.js.map +0 -1
- package/dist/src/broker.d.ts +0 -30
- package/dist/src/broker.d.ts.map +0 -1
- package/dist/src/broker.js +0 -99
- package/dist/src/broker.js.map +0 -1
- package/dist/src/broker.test.d.ts +0 -2
- package/dist/src/broker.test.d.ts.map +0 -1
- package/dist/src/broker.test.js +0 -30
- package/dist/src/broker.test.js.map +0 -1
- package/dist/src/presence.test.d.ts +0 -2
- package/dist/src/presence.test.d.ts.map +0 -1
- package/dist/src/presence.test.js +0 -54
- package/dist/src/presence.test.js.map +0 -1
- package/dist/src/serializer.d.ts +0 -7
- package/dist/src/serializer.d.ts.map +0 -1
- package/dist/src/serializer.js +0 -21
- package/dist/src/serializer.js.map +0 -1
- package/dist/src/services/discovery.d.ts +0 -21
- package/dist/src/services/discovery.d.ts.map +0 -1
- package/dist/src/services/discovery.js +0 -93
- package/dist/src/services/discovery.js.map +0 -1
- package/dist/src/services/index.d.ts +0 -6
- package/dist/src/services/index.d.ts.map +0 -1
- package/dist/src/services/index.js +0 -25
- package/dist/src/services/index.js.map +0 -1
- package/dist/src/services/network.d.ts +0 -24
- package/dist/src/services/network.d.ts.map +0 -1
- package/dist/src/services/network.js +0 -105
- package/dist/src/services/network.js.map +0 -1
- package/dist/src/services/presence.d.ts +0 -17
- package/dist/src/services/presence.d.ts.map +0 -1
- package/dist/src/services/presence.js +0 -74
- package/dist/src/services/presence.js.map +0 -1
- package/dist/src/services/status.d.ts +0 -46
- package/dist/src/services/status.d.ts.map +0 -1
- package/dist/src/services/status.js +0 -248
- package/dist/src/services/status.js.map +0 -1
- package/dist/src/services/web.d.ts +0 -8
- package/dist/src/services/web.d.ts.map +0 -1
- package/dist/src/services/web.js +0 -28
- package/dist/src/services/web.js.map +0 -1
- package/dist/src/signal/index.d.ts +0 -3
- package/dist/src/signal/index.d.ts.map +0 -1
- package/dist/src/signal/index.js +0 -22
- package/dist/src/signal/index.js.map +0 -1
- package/dist/src/signal/peer-map.d.ts +0 -63
- package/dist/src/signal/peer-map.d.ts.map +0 -1
- package/dist/src/signal/peer-map.js +0 -135
- package/dist/src/signal/peer-map.js.map +0 -1
- package/dist/src/signal/peer-map.test.d.ts +0 -2
- package/dist/src/signal/peer-map.test.d.ts.map +0 -1
- package/dist/src/signal/peer-map.test.js +0 -44
- package/dist/src/signal/peer-map.test.js.map +0 -1
- package/dist/src/signal/signal-server.d.ts +0 -17
- package/dist/src/signal/signal-server.d.ts.map +0 -1
- package/dist/src/signal/signal-server.js +0 -92
- package/dist/src/signal/signal-server.js.map +0 -1
- package/dist/src/signal.test.d.ts +0 -2
- package/dist/src/signal.test.d.ts.map +0 -1
- package/dist/src/signal.test.js +0 -67
- package/dist/src/signal.test.js.map +0 -1
- package/dist/src/system-information.d.ts +0 -5
- package/dist/src/system-information.d.ts.map +0 -1
- package/dist/src/system-information.js +0 -96
- package/dist/src/system-information.js.map +0 -1
- package/dist/src/testing.d.ts +0 -9
- package/dist/src/testing.d.ts.map +0 -1
- package/dist/src/testing.js +0 -25
- package/dist/src/testing.js.map +0 -1
- package/dist/src/transporter/bootstrap-node.d.ts +0 -2
- package/dist/src/transporter/bootstrap-node.d.ts.map +0 -1
- package/dist/src/transporter/bootstrap-node.js +0 -95
- package/dist/src/transporter/bootstrap-node.js.map +0 -1
- package/dist/src/transporter/index.d.ts +0 -38
- package/dist/src/transporter/index.d.ts.map +0 -1
- package/dist/src/transporter/index.js +0 -151
- package/dist/src/transporter/index.js.map +0 -1
- package/dist/src/transporter/messenger.d.ts +0 -2
- package/dist/src/transporter/messenger.d.ts.map +0 -1
- package/dist/src/transporter/messenger.js +0 -193
- package/dist/src/transporter/messenger.js.map +0 -1
- package/src/bin.ts +0 -81
- package/src/broker.test.js +0 -35
- package/src/broker.ts +0 -134
- package/src/presence.test.js +0 -67
- package/src/serializer.js +0 -17
- package/src/services/discovery.js +0 -101
- package/src/services/index.ts +0 -9
- package/src/services/network.ts +0 -129
- package/src/services/presence.js +0 -77
- package/src/services/status.js +0 -259
- package/src/services/web.ts +0 -24
- package/src/shims.d.ts +0 -6
- package/src/signal/index.ts +0 -6
- package/src/signal/peer-map.test.js +0 -58
- package/src/signal/peer-map.ts +0 -174
- package/src/signal/signal-server.js +0 -106
- package/src/signal.test.js +0 -78
- package/src/system-information.ts +0 -110
- package/src/testing.ts +0 -27
- package/src/transporter/bootstrap-node.js +0 -112
- package/src/transporter/index.js +0 -179
- package/src/transporter/messenger.js +0 -223
package/dist/src/broker.d.ts
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
import { ServiceBroker } from 'moleculer';
|
3
|
-
export declare const SIGNAL_PROTOCOL_VERSION = 4;
|
4
|
-
export declare type LogLevel = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace';
|
5
|
-
export declare type LogFormat = 'full' | 'short' | 'simple' | 'json';
|
6
|
-
export interface CreateBrokerOpts {
|
7
|
-
port?: string | number;
|
8
|
-
keyPair?: {
|
9
|
-
publicKey: Buffer;
|
10
|
-
secretKey: Buffer;
|
11
|
-
};
|
12
|
-
hyperswarm?: {
|
13
|
-
bootstrap?: boolean | string[];
|
14
|
-
maxPeers?: number;
|
15
|
-
};
|
16
|
-
asBootstrap?: boolean;
|
17
|
-
repl?: boolean;
|
18
|
-
logger?: boolean;
|
19
|
-
logLevel?: LogLevel;
|
20
|
-
logFormat?: LogFormat;
|
21
|
-
logDir?: string;
|
22
|
-
discoveryService?: boolean;
|
23
|
-
presenceService?: boolean;
|
24
|
-
statusService?: boolean;
|
25
|
-
}
|
26
|
-
/**
|
27
|
-
* Create a ServiceBroker
|
28
|
-
*/
|
29
|
-
export declare const createBroker: (topic: Buffer, opts?: CreateBrokerOpts) => ServiceBroker;
|
30
|
-
//# sourceMappingURL=broker.d.ts.map
|
package/dist/src/broker.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../src/broker.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAS1C,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,oBAAY,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAA;AAC9E,oBAAY,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,UAAW,MAAM,SAAQ,gBAAgB,kBAgGjE,CAAC"}
|
package/dist/src/broker.js
DELETED
@@ -1,99 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
7
|
-
};
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
-
exports.createBroker = exports.SIGNAL_PROTOCOL_VERSION = void 0;
|
10
|
-
const crypto_1 = __importDefault(require("crypto"));
|
11
|
-
const moleculer_1 = require("moleculer");
|
12
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
13
|
-
const package_json_1 = __importDefault(require("../package.json"));
|
14
|
-
const serializer_1 = require("./serializer");
|
15
|
-
const services_1 = require("./services");
|
16
|
-
const signal_1 = require("./signal");
|
17
|
-
const transporter_1 = require("./transporter");
|
18
|
-
exports.SIGNAL_PROTOCOL_VERSION = 4;
|
19
|
-
/**
|
20
|
-
* Create a ServiceBroker
|
21
|
-
*/
|
22
|
-
const createBroker = (topic, opts = {}) => {
|
23
|
-
var _a;
|
24
|
-
(0, node_assert_1.default)(Buffer.isBuffer(topic) && topic.length === 32, 'topic is required and must be a buffer of 32 bytes');
|
25
|
-
// TODO(burdon): Lint error (void function used).
|
26
|
-
topic = crypto_1.default.createHash('sha256')
|
27
|
-
.update(topic.toString('hex') + exports.SIGNAL_PROTOCOL_VERSION)
|
28
|
-
.digest();
|
29
|
-
const { port = (_a = process.env.PORT) !== null && _a !== void 0 ? _a : 4000, keyPair = transporter_1.ProtocolTransporter.keyPair(), hyperswarm, asBootstrap = false, repl = false, logger: loggerEnabled = true, logLevel, logFormat = 'full', logDir, discoveryService = true, presenceService = true, statusService = true } = opts;
|
30
|
-
const logger = loggerEnabled
|
31
|
-
? {
|
32
|
-
type: 'Console',
|
33
|
-
options: {
|
34
|
-
formatter: logFormat
|
35
|
-
}
|
36
|
-
}
|
37
|
-
: false;
|
38
|
-
if (logger && logDir) {
|
39
|
-
logger.type = 'File';
|
40
|
-
logger.options = {
|
41
|
-
folder: logDir,
|
42
|
-
filename: 'dxos-signal-{nodeID}-{date}.log',
|
43
|
-
formatter: logFormat
|
44
|
-
};
|
45
|
-
}
|
46
|
-
const broker = new moleculer_1.ServiceBroker({
|
47
|
-
nodeID: keyPair.publicKey.toString('hex'),
|
48
|
-
logger,
|
49
|
-
logLevel,
|
50
|
-
// code repl,
|
51
|
-
transporter: new transporter_1.ProtocolTransporter({
|
52
|
-
topic,
|
53
|
-
keyPair,
|
54
|
-
hyperswarm,
|
55
|
-
asBootstrap,
|
56
|
-
bootstrapPort: port
|
57
|
-
}),
|
58
|
-
serializer: new serializer_1.Serializer(),
|
59
|
-
metadata: {
|
60
|
-
port,
|
61
|
-
version: package_json_1.default.version
|
62
|
-
},
|
63
|
-
created: (broker) => {
|
64
|
-
broker.shared = {
|
65
|
-
keyPair,
|
66
|
-
peerMap: new signal_1.PeerMap(keyPair.publicKey)
|
67
|
-
};
|
68
|
-
},
|
69
|
-
started: (broker) => {
|
70
|
-
broker.logger.info('SIGNAL_PROTOCOL_VERSION:', exports.SIGNAL_PROTOCOL_VERSION);
|
71
|
-
broker.logger.info('SIGNAL_PROTOCOL_TOPIC:', topic.toString('hex'));
|
72
|
-
if (repl) {
|
73
|
-
return broker.repl();
|
74
|
-
}
|
75
|
-
},
|
76
|
-
errorHandler(err, info) {
|
77
|
-
// Handle the error.
|
78
|
-
if (err.code) {
|
79
|
-
// Ignore webrtc peer errors.
|
80
|
-
this.logger.debug('GLOBAL_ERROR:', err);
|
81
|
-
return;
|
82
|
-
}
|
83
|
-
this.logger.warn('GLOBAL_ERROR:', err);
|
84
|
-
}
|
85
|
-
});
|
86
|
-
broker.createService(services_1.WebService);
|
87
|
-
if (discoveryService) {
|
88
|
-
broker.createService(services_1.DiscoveryService);
|
89
|
-
}
|
90
|
-
if (presenceService) {
|
91
|
-
broker.createService(services_1.PresenceService);
|
92
|
-
}
|
93
|
-
if (statusService) {
|
94
|
-
broker.createService(services_1.StatusService);
|
95
|
-
}
|
96
|
-
return broker;
|
97
|
-
};
|
98
|
-
exports.createBroker = createBroker;
|
99
|
-
//# sourceMappingURL=broker.js.map
|
package/dist/src/broker.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/broker.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"broker.test.d.ts","sourceRoot":"","sources":["../../src/broker.test.js"],"names":[],"mappings":""}
|
package/dist/src/broker.test.js
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
7
|
-
};
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
-
const crypto_1 = __importDefault(require("crypto"));
|
10
|
-
const debug_1 = __importDefault(require("debug"));
|
11
|
-
const p_event_1 = __importDefault(require("p-event"));
|
12
|
-
const broker_1 = require("./broker");
|
13
|
-
const log = (0, debug_1.default)('dxos:test:broker');
|
14
|
-
jest.setTimeout(100 * 1000);
|
15
|
-
const MAX_BROKERS = 10;
|
16
|
-
test(`${MAX_BROKERS} brokers connectivity`, async () => {
|
17
|
-
const topic = crypto_1.default.randomBytes(32);
|
18
|
-
const brokers = [...Array(MAX_BROKERS).keys()].map(i => (0, broker_1.createBroker)(topic, { port: 4000 + i, logger: false, hyperswarm: { bootstrap: false } }));
|
19
|
-
const waitForConnected = Promise.all(brokers.map(broker => {
|
20
|
-
const nodes = brokers.filter(b => b.nodeID !== broker.nodeID).map(b => b.nodeID);
|
21
|
-
return Promise.all(nodes.map(nodeID => (0, p_event_1.default)(broker.localBus, '$node.connected', ({ node }) => node.id === nodeID)));
|
22
|
-
}));
|
23
|
-
log('> starting brokers');
|
24
|
-
await Promise.all(brokers.map(b => b.start()));
|
25
|
-
log('> waiting for the nodes to be connected');
|
26
|
-
await waitForConnected;
|
27
|
-
log('> stopping brokers');
|
28
|
-
return Promise.all(brokers.map(b => b.stop()));
|
29
|
-
});
|
30
|
-
//# sourceMappingURL=broker.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"broker.test.js","sourceRoot":"","sources":["../../src/broker.test.js"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAC1B,sDAA6B;AAE7B,qCAAwC;AAExC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,kBAAkB,CAAC,CAAC;AAEtC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AAE5B,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,IAAI,CAAC,GAAG,WAAW,uBAAuB,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,KAAK,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,qBAAY,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAElJ,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjF,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAA,iBAAM,EAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC,CAAC,CAAC,CAAC;IAEJ,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE/C,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC/C,MAAM,gBAAgB,CAAC;IAEvB,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"presence.test.d.ts","sourceRoot":"","sources":["../../src/presence.test.js"],"names":[],"mappings":""}
|
@@ -1,54 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
7
|
-
};
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
-
const crypto_1 = __importDefault(require("crypto"));
|
10
|
-
const debug_1 = __importDefault(require("debug"));
|
11
|
-
const p_event_1 = __importDefault(require("p-event"));
|
12
|
-
const broker_1 = require("./broker");
|
13
|
-
const log = (0, debug_1.default)('dxos:test:presence');
|
14
|
-
// TODO(burdon): A worker process has failed to exit gracefully and has been force exited.
|
15
|
-
jest.setTimeout(100 * 1000);
|
16
|
-
const complete = (nodeID, graph, max) => {
|
17
|
-
if (graph.nodes().length !== max) {
|
18
|
-
return false;
|
19
|
-
}
|
20
|
-
const nodes = graph.nodes().filter(id => id !== nodeID);
|
21
|
-
const edges = [];
|
22
|
-
for (const edge of graph.edgeEntries(nodeID)) {
|
23
|
-
const source = edge[2];
|
24
|
-
const target = edge[3];
|
25
|
-
edges.push(source === nodeID ? target : source);
|
26
|
-
}
|
27
|
-
if (edges.length < (max - 1)) {
|
28
|
-
return false;
|
29
|
-
}
|
30
|
-
for (const id of nodes) {
|
31
|
-
if (!edges.includes(id)) {
|
32
|
-
return false;
|
33
|
-
}
|
34
|
-
}
|
35
|
-
return true;
|
36
|
-
};
|
37
|
-
test('5 brokers full network connected', async () => {
|
38
|
-
const MAX_BROKERS = 5;
|
39
|
-
const topic = crypto_1.default.randomBytes(32);
|
40
|
-
const brokers = [...Array(MAX_BROKERS).keys()].map(i => (0, broker_1.createBroker)(topic, { port: 6000 + i, logger: false, hyperswarm: { bootstrap: false } }));
|
41
|
-
const waitForPresenceGraph = Promise.all(brokers.map(async (broker) => (0, p_event_1.default)(broker.localBus, '$broker.presence-update', (graph) => complete(broker.nodeID, graph, MAX_BROKERS))));
|
42
|
-
const waitForConnected = Promise.all(brokers.map(broker => {
|
43
|
-
const nodes = brokers.filter(b => b.nodeID !== broker.nodeID).map(b => b.nodeID);
|
44
|
-
return Promise.all(nodes.map(nodeID => (0, p_event_1.default)(broker.localBus, '$node.connected', ({ node }) => node.id === nodeID)));
|
45
|
-
}));
|
46
|
-
log('Starting brokers...');
|
47
|
-
await Promise.all(brokers.map(b => b.start()));
|
48
|
-
await waitForConnected;
|
49
|
-
log('Waiting for the nodes to be fully connected...');
|
50
|
-
await waitForPresenceGraph;
|
51
|
-
log('Stopping brokers...');
|
52
|
-
return Promise.all(brokers.map(b => b.stop()));
|
53
|
-
});
|
54
|
-
//# sourceMappingURL=presence.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"presence.test.js","sourceRoot":"","sources":["../../src/presence.test.js"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAC5B,kDAA0B;AAC1B,sDAA6B;AAE7B,qCAAwC;AAExC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,oBAAoB,CAAC,CAAC;AAExC,0FAA0F;AAC1F,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AAE5B,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACtC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,KAAK,GAAG,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IAExD,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;KACjD;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;QAC5B,OAAO,KAAK,CAAC;KACd;IAED,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE;QACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;YACvB,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;IAClD,MAAM,WAAW,GAAG,CAAC,CAAC;IAEtB,MAAM,KAAK,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,qBAAY,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAElJ,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAA,iBAAM,EAAC,MAAM,CAAC,QAAQ,EAAE,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpL,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACjF,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAA,iBAAM,EAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IACxH,CAAC,CAAC,CAAC,CAAC;IAEJ,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE/C,MAAM,gBAAgB,CAAC;IAEvB,GAAG,CAAC,gDAAgD,CAAC,CAAC;IACtD,MAAM,oBAAoB,CAAC;IAE3B,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC"}
|
package/dist/src/serializer.d.ts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/serializer.js"],"names":[],"mappings":";AAQA;IACE,yBAEC;IAED,2BAEC;CACF"}
|
package/dist/src/serializer.js
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
7
|
-
};
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
-
exports.Serializer = void 0;
|
10
|
-
const buffer_json_encoding_1 = __importDefault(require("buffer-json-encoding"));
|
11
|
-
const { Serializers: { Base: BaseSerializer } } = require('moleculer'); // eslint-disable-line @typescript-eslint/no-var-requires
|
12
|
-
class Serializer extends BaseSerializer {
|
13
|
-
serialize(obj) {
|
14
|
-
return buffer_json_encoding_1.default.encode(obj);
|
15
|
-
}
|
16
|
-
deserialize(buf) {
|
17
|
-
return buffer_json_encoding_1.default.decode(buf);
|
18
|
-
}
|
19
|
-
}
|
20
|
-
exports.Serializer = Serializer;
|
21
|
-
//# sourceMappingURL=serializer.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/serializer.js"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,gFAA6C;AAE7C,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,yDAAyD;AAEjI,MAAa,UAAW,SAAQ,cAAc;IAC5C,SAAS,CAAE,GAAG;QACZ,OAAO,8BAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,WAAW,CAAE,GAAG;QACd,OAAO,8BAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF;AARD,gCAQC"}
|
@@ -1,21 +0,0 @@
|
|
1
|
-
export namespace DiscoveryService {
|
2
|
-
const name: string;
|
3
|
-
const events: {
|
4
|
-
'$node.disconnected'(ctx: any): void;
|
5
|
-
'$node.connected'(): any;
|
6
|
-
'discovery.update'(ctx: any): void;
|
7
|
-
};
|
8
|
-
namespace actions {
|
9
|
-
function offer(ctx: any): any;
|
10
|
-
function offer(ctx: any): any;
|
11
|
-
function signal(ctx: any): any;
|
12
|
-
function signal(ctx: any): any;
|
13
|
-
}
|
14
|
-
function created(): void;
|
15
|
-
function created(): void;
|
16
|
-
function started(): Promise<void>;
|
17
|
-
function started(): Promise<void>;
|
18
|
-
function stopped(): Promise<void>;
|
19
|
-
function stopped(): Promise<void>;
|
20
|
-
}
|
21
|
-
//# sourceMappingURL=discovery.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/services/discovery.js"],"names":[],"mappings":";;;;;;;;QA0CI,8BAYC;QAZD,8BAYC;QACD,+BAYC;QAZD,+BAYC;;IAEH,yBAoBC;IApBD,yBAoBC;IACD,kCAIC;IAJD,kCAIC;IACD,kCAIC;IAJD,kCAIC"}
|
@@ -1,93 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
7
|
-
};
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
-
exports.DiscoveryService = void 0;
|
10
|
-
const lodash_debounce_1 = __importDefault(require("lodash.debounce"));
|
11
|
-
const p_limit_1 = __importDefault(require("p-limit"));
|
12
|
-
exports.DiscoveryService = {
|
13
|
-
name: 'discovery',
|
14
|
-
events: {
|
15
|
-
'$node.disconnected'(ctx) {
|
16
|
-
const { peerMap } = this.broker.shared;
|
17
|
-
peerMap.deletePeersByOwner(Buffer.from(ctx.params.node.id, 'hex'));
|
18
|
-
},
|
19
|
-
'$node.connected'() {
|
20
|
-
const { peerMap } = this.broker.shared;
|
21
|
-
const owner = Buffer.from(this.broker.nodeID, 'hex');
|
22
|
-
const peers = peerMap
|
23
|
-
.peers
|
24
|
-
.filter(p => p.owner.equals(owner))
|
25
|
-
.map(peerMap.encode);
|
26
|
-
if (peers.length === 0) {
|
27
|
-
return;
|
28
|
-
}
|
29
|
-
return this.broker.broadcast('discovery.update', { peers }).catch(() => { });
|
30
|
-
},
|
31
|
-
'discovery.update'(ctx) {
|
32
|
-
const { peerMap } = this.broker.shared;
|
33
|
-
const { peers } = ctx.params;
|
34
|
-
if (ctx.nodeID === this.broker.nodeID) {
|
35
|
-
this._discoveryUpdate();
|
36
|
-
return;
|
37
|
-
}
|
38
|
-
peerMap.updatePeersByOwner(Buffer.from(ctx.nodeID, 'hex'), peers.map(peerMap.decode));
|
39
|
-
this._discoveryUpdate();
|
40
|
-
}
|
41
|
-
},
|
42
|
-
actions: {
|
43
|
-
offer(ctx) {
|
44
|
-
this.logger.debug('offer', ctx.params);
|
45
|
-
const { peerMap } = this.broker.shared;
|
46
|
-
const { remoteId } = ctx.params;
|
47
|
-
const peer = peerMap.peers.find(p => p.id.equals(remoteId) && p.rpc);
|
48
|
-
if (!peer) {
|
49
|
-
throw new Error('rpc not found');
|
50
|
-
}
|
51
|
-
return peer.rpc.call('offer', ctx.params);
|
52
|
-
},
|
53
|
-
signal(ctx) {
|
54
|
-
this.logger.debug('signal', ctx.params);
|
55
|
-
const { peerMap } = this.broker.shared;
|
56
|
-
const { remoteId } = ctx.params;
|
57
|
-
const peer = peerMap.peers.find(p => p.id.equals(remoteId) && p.rpc);
|
58
|
-
if (!peer) {
|
59
|
-
throw new Error('rpc not found');
|
60
|
-
}
|
61
|
-
return peer.rpc.emit('signal', ctx.params);
|
62
|
-
}
|
63
|
-
},
|
64
|
-
created() {
|
65
|
-
const { peerMap } = this.broker.shared;
|
66
|
-
const owner = Buffer.from(this.broker.nodeID, 'hex');
|
67
|
-
this._limit = (0, p_limit_1.default)(1);
|
68
|
-
this._updatePeers = (0, lodash_debounce_1.default)(() => {
|
69
|
-
this._limit(() => {
|
70
|
-
this._limit.clearQueue();
|
71
|
-
const peers = peerMap
|
72
|
-
.peers
|
73
|
-
.filter(p => p.owner.equals(owner))
|
74
|
-
.map(peerMap.encode);
|
75
|
-
return this.broker.broadcast('discovery.update', { peers }).catch(() => { });
|
76
|
-
}).catch(() => { });
|
77
|
-
}, 1000);
|
78
|
-
this._discoveryUpdate = (0, lodash_debounce_1.default)(() => {
|
79
|
-
this.broker.broadcastLocal('$broker.discovery-update');
|
80
|
-
}, 1000);
|
81
|
-
},
|
82
|
-
async started() {
|
83
|
-
const { peerMap } = this.broker.shared;
|
84
|
-
peerMap.on('peer-added', this._updatePeers);
|
85
|
-
peerMap.on('peer-deleted', this._updatePeers);
|
86
|
-
},
|
87
|
-
async stopped() {
|
88
|
-
const { peerMap } = this.broker.shared;
|
89
|
-
peerMap.off('peer-added', this._updatePeers);
|
90
|
-
peerMap.off('peer-deleted', this._updatePeers);
|
91
|
-
}
|
92
|
-
};
|
93
|
-
//# sourceMappingURL=discovery.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/services/discovery.js"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC"}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
6
|
-
if (k2 === undefined) k2 = k;
|
7
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
8
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
9
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
10
|
-
}
|
11
|
-
Object.defineProperty(o, k2, desc);
|
12
|
-
}) : (function(o, m, k, k2) {
|
13
|
-
if (k2 === undefined) k2 = k;
|
14
|
-
o[k2] = m[k];
|
15
|
-
}));
|
16
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
17
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
18
|
-
};
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
20
|
-
__exportStar(require("./discovery"), exports);
|
21
|
-
__exportStar(require("./network"), exports);
|
22
|
-
__exportStar(require("./presence"), exports);
|
23
|
-
__exportStar(require("./status"), exports);
|
24
|
-
__exportStar(require("./web"), exports);
|
25
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,2CAAyB;AACzB,wCAAsB"}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
import { EventEmitter } from 'events';
|
3
|
-
import Graph from 'graphology';
|
4
|
-
import debounce from 'lodash.debounce';
|
5
|
-
export interface Connection {
|
6
|
-
key: string;
|
7
|
-
target: string;
|
8
|
-
}
|
9
|
-
export declare class Network extends EventEmitter {
|
10
|
-
private readonly _owner;
|
11
|
-
private readonly _graph;
|
12
|
-
private readonly _limit;
|
13
|
-
private readonly _lastUpdate;
|
14
|
-
readonly publish: ReturnType<typeof debounce>;
|
15
|
-
constructor(owner: string, publish: ReturnType<typeof debounce>);
|
16
|
-
get graph(): Graph;
|
17
|
-
getConnections(id?: string): Connection[];
|
18
|
-
update(id: string, timestamp: number, connections?: Connection[]): void;
|
19
|
-
addPeer(id: string): void;
|
20
|
-
deletePeer(id: string): void;
|
21
|
-
addConnection(initiator: any, sessionKey: string, peerId: string): void;
|
22
|
-
deleteConnection(peer1: string, peer2: string): void;
|
23
|
-
}
|
24
|
-
//# sourceMappingURL=network.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/services/network.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAOvC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,OAAQ,SAAQ,YAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAM;IAClC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;gBAEjC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC;IAoBhE,IAAI,KAAK,UAER;IAED,cAAc,CAAE,EAAE,SAAc;IAehC,MAAM,CAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAE,UAAU,EAAO;IA+BrE,OAAO,CAAE,EAAE,EAAE,MAAM;IAMnB,UAAU,CAAE,EAAE,EAAE,MAAM;IAMtB,aAAa,CAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAcjE,gBAAgB,CAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAO/C"}
|
@@ -1,105 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
7
|
-
};
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
-
exports.Network = void 0;
|
10
|
-
const events_1 = require("events");
|
11
|
-
const graphology_1 = __importDefault(require("graphology"));
|
12
|
-
const lodash_debounce_1 = __importDefault(require("lodash.debounce"));
|
13
|
-
const monotonic_timestamp_1 = __importDefault(require("monotonic-timestamp"));
|
14
|
-
const p_limit_1 = __importDefault(require("p-limit"));
|
15
|
-
const tiny_lru_1 = __importDefault(require("tiny-lru"));
|
16
|
-
const MAX_WAIT = 2 * 1000;
|
17
|
-
class Network extends events_1.EventEmitter {
|
18
|
-
constructor(owner, publish) {
|
19
|
-
super();
|
20
|
-
this._owner = owner;
|
21
|
-
this._graph = new graphology_1.default({ multi: true, type: 'undirected' });
|
22
|
-
this._graph.addNode(owner);
|
23
|
-
this._limit = (0, p_limit_1.default)(1);
|
24
|
-
this._lastUpdate = (0, tiny_lru_1.default)(1000);
|
25
|
-
this.publish = (0, lodash_debounce_1.default)(() => {
|
26
|
-
void this._limit(() => {
|
27
|
-
this._limit.clearQueue();
|
28
|
-
return publish({ timestamp: (0, monotonic_timestamp_1.default)(), connections: this.getConnections() });
|
29
|
-
});
|
30
|
-
}, MAX_WAIT);
|
31
|
-
const onChange = (0, lodash_debounce_1.default)(() => this.emit('change', this._graph), MAX_WAIT);
|
32
|
-
['nodeAdded', 'edgeAdded', 'nodeDropped', 'edgeDropped'].forEach(ev => this._graph.on(ev, onChange));
|
33
|
-
}
|
34
|
-
get graph() {
|
35
|
-
return this._graph;
|
36
|
-
}
|
37
|
-
getConnections(id = this._owner) {
|
38
|
-
const connections = [];
|
39
|
-
if (!this._graph.hasNode(id)) {
|
40
|
-
return [];
|
41
|
-
}
|
42
|
-
this._graph.forEachEdge(id, (key, attr, source, target) => {
|
43
|
-
if (source === id) {
|
44
|
-
connections.push({ key, target });
|
45
|
-
}
|
46
|
-
});
|
47
|
-
return connections;
|
48
|
-
}
|
49
|
-
update(id, timestamp, connections = []) {
|
50
|
-
// ignore old messages
|
51
|
-
const lastTimestamp = this._lastUpdate.get(id) || 0;
|
52
|
-
if (lastTimestamp > timestamp) {
|
53
|
-
return;
|
54
|
-
}
|
55
|
-
this._lastUpdate.set(id, timestamp);
|
56
|
-
if (!this._graph.hasNode(id)) {
|
57
|
-
this._graph.addNode(id);
|
58
|
-
}
|
59
|
-
this._graph.forEachEdge(id, (key, attr, source) => {
|
60
|
-
if (source === id) {
|
61
|
-
this._graph.dropEdge(key);
|
62
|
-
}
|
63
|
-
});
|
64
|
-
this._graph.import({
|
65
|
-
edges: connections.map(conn => ({
|
66
|
-
key: conn.key,
|
67
|
-
source: id,
|
68
|
-
target: conn.target,
|
69
|
-
undirected: true
|
70
|
-
})),
|
71
|
-
nodes: Array.from(new Set(connections.reduce((acc, { key, target }) => [...acc, key, target], [])).values()).map(key => ({ key }))
|
72
|
-
});
|
73
|
-
}
|
74
|
-
addPeer(id) {
|
75
|
-
if (!this._graph.hasNode(id)) {
|
76
|
-
this._graph.addNode(id);
|
77
|
-
}
|
78
|
-
}
|
79
|
-
deletePeer(id) {
|
80
|
-
if (this._graph.hasNode(id)) {
|
81
|
-
this._graph.dropNode(id);
|
82
|
-
}
|
83
|
-
}
|
84
|
-
addConnection(initiator, sessionKey, peerId) {
|
85
|
-
if (!this._graph.hasNode(peerId)) {
|
86
|
-
this._graph.addNode(peerId);
|
87
|
-
}
|
88
|
-
if (initiator) {
|
89
|
-
this._graph.addEdgeWithKey(sessionKey, this._owner, peerId);
|
90
|
-
}
|
91
|
-
else {
|
92
|
-
this._graph.addEdgeWithKey(sessionKey, peerId, this._owner);
|
93
|
-
}
|
94
|
-
this.publish();
|
95
|
-
}
|
96
|
-
deleteConnection(peer1, peer2) {
|
97
|
-
if (!this._graph.hasEdge(peer1, peer2)) {
|
98
|
-
return;
|
99
|
-
}
|
100
|
-
this._graph.dropEdge(peer1, peer2);
|
101
|
-
this.publish();
|
102
|
-
}
|
103
|
-
}
|
104
|
-
exports.Network = Network;
|
105
|
-
//# sourceMappingURL=network.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/services/network.ts"],"names":[],"mappings":"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"}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
export namespace PresenceService {
|
2
|
-
const name: string;
|
3
|
-
const events: {
|
4
|
-
'$node.disconnected'(ctx: any): void;
|
5
|
-
'$node.connected'(ctx: any): void;
|
6
|
-
'presence.update'(ctx: any): any;
|
7
|
-
};
|
8
|
-
namespace actions {
|
9
|
-
function network(): any;
|
10
|
-
function network(): any;
|
11
|
-
}
|
12
|
-
function created(): void;
|
13
|
-
function created(): void;
|
14
|
-
function started(): Promise<void>;
|
15
|
-
function started(): Promise<void>;
|
16
|
-
}
|
17
|
-
//# sourceMappingURL=presence.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../../src/services/presence.js"],"names":[],"mappings":";;;;;;;;QA4BI,wBAEC;QAFD,wBAEC;;IAEH,yBAwCC;IAxCD,yBAwCC;IACD,kCAEC;IAFD,kCAEC"}
|