@science-corporation/synapse 0.13.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/api/api.d.ts +124 -6
- package/dist/api/api.js +293 -20
- package/dist/api/api.js.map +1 -1
- package/dist/api/proto.json +25 -2
- package/dist/demo.js +125 -32
- package/dist/demo.js.map +1 -1
- package/dist/nodes/stream_out.d.ts +12 -5
- package/dist/nodes/stream_out.d.ts.map +1 -1
- package/dist/nodes/stream_out.js +58 -40
- package/dist/nodes/stream_out.js.map +1 -1
- package/dist/utils/ip.d.ts +2 -0
- package/dist/utils/ip.d.ts.map +1 -0
- package/dist/utils/ip.js +52 -0
- package/dist/utils/ip.js.map +1 -0
- package/package.json +6 -5
- package/scripts/postinstall.sh +50 -10
- package/src/api/api.d.ts +124 -6
- package/src/api/api.js +311 -20
- package/src/api/proto.json +25 -2
- package/src/demo.ts +20 -8
- package/src/nodes/stream_out.ts +67 -50
- package/src/utils/ip.ts +35 -0
- package/synapse-api/README.md +1 -1
- package/synapse-api/api/nodes/stream_out.proto +31 -1
- package/dist/api-science-device/api.d.ts +0 -3
- package/dist/api-science-device/api.d.ts.map +0 -1
- package/dist/api-science-device/api.js +0 -3822
- package/dist/api-science-device/api.js.map +0 -1
- package/dist/api-science-device/proto.json +0 -258
- package/dist/nodejs.d.ts +0 -8
- package/dist/nodejs.d.ts.map +0 -1
- package/dist/nodejs.js +0 -32
- package/dist/nodejs.js.map +0 -1
- package/dist/science-device-api/api.d.ts +0 -3
- package/dist/science-device-api/api.d.ts.map +0 -1
- package/dist/science-device-api/api.js +0 -3822
- package/dist/science-device-api/api.js.map +0 -1
- package/dist/types/index.d.ts +0 -3
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -19
- package/dist/types/index.js.map +0 -1
- package/dist/types.d.ts +0 -5
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -19
- package/dist/types.js.map +0 -1
- package/dist/utils/device-management.d.ts +0 -37
- package/dist/utils/device-management.d.ts.map +0 -1
- package/dist/utils/device-management.js +0 -126
- package/dist/utils/device-management.js.map +0 -1
- package/dist/utils/ndtp.d.ts +0 -40
- package/dist/utils/ndtp.d.ts.map +0 -1
- package/dist/utils/ndtp.js +0 -140
- package/dist/utils/ndtp.js.map +0 -1
package/dist/api/proto.json
CHANGED
|
@@ -223,14 +223,33 @@
|
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
},
|
|
226
|
+
"UDPUnicastConfig": {
|
|
227
|
+
"fields": {
|
|
228
|
+
"destinationAddress": {
|
|
229
|
+
"type": "string",
|
|
230
|
+
"id": 1
|
|
231
|
+
},
|
|
232
|
+
"destinationPort": {
|
|
233
|
+
"type": "uint32",
|
|
234
|
+
"id": 2
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
},
|
|
226
238
|
"StreamOutConfig": {
|
|
239
|
+
"oneofs": {
|
|
240
|
+
"transport": {
|
|
241
|
+
"oneof": [
|
|
242
|
+
"udpUnicast"
|
|
243
|
+
]
|
|
244
|
+
}
|
|
245
|
+
},
|
|
227
246
|
"fields": {
|
|
228
247
|
"label": {
|
|
229
248
|
"type": "string",
|
|
230
249
|
"id": 1
|
|
231
250
|
},
|
|
232
|
-
"
|
|
233
|
-
"type": "
|
|
251
|
+
"udpUnicast": {
|
|
252
|
+
"type": "UDPUnicastConfig",
|
|
234
253
|
"id": 2
|
|
235
254
|
}
|
|
236
255
|
}
|
|
@@ -240,6 +259,10 @@
|
|
|
240
259
|
"throughputMbps": {
|
|
241
260
|
"type": "float",
|
|
242
261
|
"id": 1
|
|
262
|
+
},
|
|
263
|
+
"failedSendCount": {
|
|
264
|
+
"type": "uint64",
|
|
265
|
+
"id": 2
|
|
243
266
|
}
|
|
244
267
|
}
|
|
245
268
|
},
|
package/dist/demo.js
CHANGED
|
@@ -19,17 +19,21 @@ const api_1 = require("./api/api");
|
|
|
19
19
|
const config_1 = __importDefault(require("./config"));
|
|
20
20
|
const device_1 = __importDefault(require("./device"));
|
|
21
21
|
const broadband_source_1 = __importDefault(require("./nodes/broadband_source"));
|
|
22
|
+
const optical_stimulation_1 = __importDefault(require("./nodes/optical_stimulation"));
|
|
23
|
+
const stream_in_1 = __importDefault(require("./nodes/stream_in"));
|
|
24
|
+
const stream_out_1 = __importDefault(require("./nodes/stream_out"));
|
|
22
25
|
const discover_1 = require("./utils/discover");
|
|
23
26
|
const enum_1 = require("./utils/enum");
|
|
24
|
-
const
|
|
27
|
+
const ip_1 = require("./utils/ip");
|
|
25
28
|
const cli = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
26
29
|
.help()
|
|
27
30
|
.command("discover", "Discover synapse devices")
|
|
28
31
|
.command("read", "Read from StreamOut node", {
|
|
29
|
-
"
|
|
30
|
-
alias: "
|
|
32
|
+
"udp-port": {
|
|
33
|
+
alias: "p",
|
|
31
34
|
type: "string",
|
|
32
|
-
description: "
|
|
35
|
+
description: "UDP port",
|
|
36
|
+
default: "50038",
|
|
33
37
|
},
|
|
34
38
|
output: {
|
|
35
39
|
alias: "o",
|
|
@@ -88,9 +92,8 @@ const info = (device) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
88
92
|
return true;
|
|
89
93
|
});
|
|
90
94
|
const read = (device, argv) => __awaiter(void 0, void 0, void 0, function* () {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const { multicastGroup, output } = argv;
|
|
95
|
+
console.log("Reading from device's StreamOut node...");
|
|
96
|
+
const { udpPort, output } = argv;
|
|
94
97
|
let status = null;
|
|
95
98
|
let stream = null;
|
|
96
99
|
if (output) {
|
|
@@ -115,33 +118,22 @@ const read = (device, argv) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
115
118
|
bitWidth: 12,
|
|
116
119
|
sampleRateHz: 16000,
|
|
117
120
|
});
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const nodeDiskWriter = new nodes_1.DiskWriter({
|
|
127
|
-
filename: "test",
|
|
128
|
-
});
|
|
129
|
-
status = config.add([nodeEphys, nodeDiskWriter]);
|
|
130
|
-
status = config.connect(nodeEphys, nodeDiskWriter);
|
|
121
|
+
const nodeStreamOut = new stream_out_1.default({
|
|
122
|
+
udpUnicast: {
|
|
123
|
+
destinationPort: udpPort,
|
|
124
|
+
destinationAddress: yield (0, ip_1.getClientIp)(),
|
|
125
|
+
},
|
|
126
|
+
}, { onMessage });
|
|
127
|
+
status = config.add([nodeEphys, nodeStreamOut]);
|
|
128
|
+
status = config.connect(nodeEphys, nodeStreamOut);
|
|
131
129
|
if (!status.ok()) {
|
|
132
130
|
console.error("failed to connect nodes: ", status.message);
|
|
133
131
|
return;
|
|
134
132
|
}
|
|
135
133
|
console.log("Configuring device...");
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
console.error("failed to configure device: ", status.message);
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
catch (err) {
|
|
144
|
-
console.error("failed to configure device: ", err);
|
|
134
|
+
status = yield device.configure(config);
|
|
135
|
+
if (!status.ok()) {
|
|
136
|
+
console.error("failed to configure device: ", status.message);
|
|
145
137
|
return;
|
|
146
138
|
}
|
|
147
139
|
console.log("Starting device...");
|
|
@@ -150,23 +142,121 @@ const read = (device, argv) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
150
142
|
console.error("failed to start device: ", status.message);
|
|
151
143
|
return;
|
|
152
144
|
}
|
|
153
|
-
|
|
145
|
+
status = yield nodeStreamOut.start();
|
|
146
|
+
if (!status.ok()) {
|
|
147
|
+
console.error("failed to start stream out node: ", status.message);
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
154
150
|
let running = true;
|
|
155
151
|
process.on("SIGINT", function () {
|
|
156
152
|
if (!running) {
|
|
157
153
|
return;
|
|
158
154
|
}
|
|
159
155
|
running = false;
|
|
160
|
-
|
|
156
|
+
nodeStreamOut.stop();
|
|
157
|
+
device.stop();
|
|
158
|
+
process.exit();
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
const write = (device, argv) => __awaiter(void 0, void 0, void 0, function* () {
|
|
162
|
+
const { input } = argv;
|
|
163
|
+
if (input && !fs_1.default.existsSync(input)) {
|
|
164
|
+
console.error(`File not found: ${input}`);
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
console.log("Writing to device's StreamOut node...");
|
|
168
|
+
let status = null;
|
|
169
|
+
const config = new config_1.default();
|
|
170
|
+
const nodeStreamIn = new stream_in_1.default({
|
|
171
|
+
dataType: api_1.synapse.DataType.kBroadband,
|
|
172
|
+
});
|
|
173
|
+
const nodeOptical = new optical_stimulation_1.default();
|
|
174
|
+
status = config.add([nodeStreamIn, nodeOptical]);
|
|
175
|
+
if (!status.ok()) {
|
|
176
|
+
console.error("Failed to add nodes: ", status.message);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
status = config.connect(nodeStreamIn, nodeOptical);
|
|
180
|
+
if (!status.ok()) {
|
|
181
|
+
console.error("Failed to connect nodes: ", status.message);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
console.log("Configuring device...");
|
|
185
|
+
status = yield device.configure(config);
|
|
186
|
+
if (!status.ok()) {
|
|
187
|
+
console.error("Failed to configure device: ", status.message);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
console.log("Starting device...");
|
|
191
|
+
status = yield device.start();
|
|
192
|
+
if (!status.ok()) {
|
|
193
|
+
console.error("Failed to start device: ", status.message);
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
let running = true;
|
|
197
|
+
process.on("SIGINT", function () {
|
|
198
|
+
console.log("SIGINT", running);
|
|
199
|
+
if (!running)
|
|
200
|
+
return;
|
|
201
|
+
console.log("stopping...");
|
|
202
|
+
running = false;
|
|
161
203
|
device.stop();
|
|
204
|
+
process.exit();
|
|
162
205
|
});
|
|
206
|
+
if (input) {
|
|
207
|
+
console.log(`Reading from file: ${input}`);
|
|
208
|
+
fs_1.default.open(input, "r", (err, fd) => {
|
|
209
|
+
console.log("Opened file");
|
|
210
|
+
const kBufSize = 4;
|
|
211
|
+
const buffer = Buffer.alloc(kBufSize);
|
|
212
|
+
if (err) {
|
|
213
|
+
console.error(err);
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
const read = () => {
|
|
217
|
+
if (!running) {
|
|
218
|
+
fs_1.default.close(fd, () => { });
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
fs_1.default.read(fd, buffer, 0, kBufSize, null, (err, n) => {
|
|
222
|
+
if (err) {
|
|
223
|
+
console.error(err);
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
if (n === 0) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
console.log(`StreamIn | send: ${buffer.readUInt32BE()}`);
|
|
230
|
+
nodeStreamIn.write(buffer.slice(0, n));
|
|
231
|
+
read();
|
|
232
|
+
});
|
|
233
|
+
};
|
|
234
|
+
read();
|
|
235
|
+
});
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
let i = 0;
|
|
239
|
+
const kInterval = 1;
|
|
240
|
+
const buffer = Buffer.alloc(4);
|
|
241
|
+
const write = () => {
|
|
242
|
+
if (!running) {
|
|
243
|
+
device.stop();
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
buffer.writeUInt32BE(i++);
|
|
247
|
+
nodeStreamIn.write(buffer);
|
|
248
|
+
setTimeout(write, kInterval);
|
|
249
|
+
};
|
|
250
|
+
setTimeout(write, kInterval);
|
|
163
251
|
});
|
|
164
252
|
const main = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
165
253
|
const argv = cli.parseSync();
|
|
166
254
|
if (argv._.includes("discover")) {
|
|
167
255
|
const devices = yield (0, discover_1.discover)();
|
|
168
256
|
for (const device of devices) {
|
|
169
|
-
|
|
257
|
+
const addr = `${device.host}:${device.port}`;
|
|
258
|
+
const serial = `[${device.serial}]`;
|
|
259
|
+
console.log(`${addr.padEnd(21)} ${device.capability.padStart(16)} ${serial.padStart(34)} "${device.name}"`);
|
|
170
260
|
}
|
|
171
261
|
return;
|
|
172
262
|
}
|
|
@@ -187,6 +277,9 @@ const main = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
187
277
|
if (argv._.includes("read")) {
|
|
188
278
|
return read(device, argv);
|
|
189
279
|
}
|
|
280
|
+
if (argv._.includes("write")) {
|
|
281
|
+
return write(device, argv);
|
|
282
|
+
}
|
|
190
283
|
});
|
|
191
284
|
main();
|
|
192
285
|
//# sourceMappingURL=demo.js.map
|
package/dist/demo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,kDAA0B;AAC1B,2CAAwC;AAExC,mCAAoC;AACpC,sDAA8B;AAC9B,sDAA8B;AAC9B,gFAA2D;
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import dgram from "dgram";
|
|
2
2
|
import { synapse } from "../api/api";
|
|
3
3
|
import Node from "../node";
|
|
4
|
+
import { Status } from "../utils/status";
|
|
4
5
|
declare class StreamOut extends Node {
|
|
5
6
|
type: synapse.NodeType;
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
_destinationAddress: string;
|
|
8
|
+
_destinationPort: number;
|
|
9
|
+
_label: string;
|
|
10
|
+
_socket: dgram.Socket | null;
|
|
8
11
|
_onMessage: ((msg: Buffer) => void) | null;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
_onError: ((error: Error) => void) | null;
|
|
13
|
+
constructor(config: synapse.IStreamOutConfig, callbacks?: {
|
|
14
|
+
onMessage?: (msg: Buffer) => void;
|
|
15
|
+
onError?: (error: Error) => void;
|
|
16
|
+
});
|
|
17
|
+
start(): Promise<Status>;
|
|
18
|
+
stop(): Promise<Status>;
|
|
12
19
|
toProto(): synapse.NodeConfig;
|
|
13
20
|
static fromProto(proto: synapse.INodeConfig): StreamOut;
|
|
14
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream_out.d.ts","sourceRoot":"","sources":["../../src/nodes/stream_out.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"stream_out.d.ts","sourceRoot":"","sources":["../../src/nodes/stream_out.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAc,MAAM,iBAAiB,CAAC;AAMrD,cAAM,SAAU,SAAQ,IAAI;IAC1B,IAAI,mBAA+B;IACnC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;gBAGxC,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAChC,SAAS,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;KAAE;IAY/E,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IA2CxB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ7B,OAAO,IAAI,OAAO,CAAC,UAAU;IAc7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,SAAS;CAQxD;AAED,eAAe,SAAS,CAAC"}
|
package/dist/nodes/stream_out.js
CHANGED
|
@@ -15,51 +15,62 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
const dgram_1 = __importDefault(require("dgram"));
|
|
16
16
|
const api_1 = require("../api/api");
|
|
17
17
|
const node_1 = __importDefault(require("../node"));
|
|
18
|
-
const
|
|
18
|
+
const status_1 = require("../utils/status");
|
|
19
|
+
const ip_1 = require("../utils/ip");
|
|
20
|
+
const kDefaultStreamOutPort = 50038;
|
|
21
|
+
const kSocketBufferSize = 5 * 1024 * 1024; // 5MB
|
|
19
22
|
class StreamOut extends node_1.default {
|
|
20
|
-
constructor(config,
|
|
23
|
+
constructor(config, callbacks) {
|
|
21
24
|
super();
|
|
22
25
|
this.type = api_1.synapse.NodeType.kStreamOut;
|
|
23
|
-
|
|
24
|
-
this.
|
|
26
|
+
const { udpUnicast } = config || {};
|
|
27
|
+
this._destinationAddress = udpUnicast === null || udpUnicast === void 0 ? void 0 : udpUnicast.destinationAddress;
|
|
28
|
+
this._destinationPort = (udpUnicast === null || udpUnicast === void 0 ? void 0 : udpUnicast.destinationPort) || kDefaultStreamOutPort;
|
|
29
|
+
this._label = config.label;
|
|
30
|
+
this._onMessage = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onMessage;
|
|
31
|
+
this._onError = callbacks === null || callbacks === void 0 ? void 0 : callbacks.onError;
|
|
25
32
|
}
|
|
26
33
|
start() {
|
|
27
34
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
const host = this.config.multicastGroup;
|
|
44
|
-
if (!host) {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
this._socket = dgram_1.default.createSocket("udp4");
|
|
48
|
-
this._socket.on("error", () => { });
|
|
49
|
-
this._socket.on("message", (msg) => {
|
|
50
|
-
var _a;
|
|
51
|
-
(_a = this._onMessage) === null || _a === void 0 ? void 0 : _a.call(this, msg);
|
|
52
|
-
});
|
|
53
|
-
this._socket.bind(port, host, () => {
|
|
54
|
-
if (!this._socket) {
|
|
55
|
-
return;
|
|
35
|
+
try {
|
|
36
|
+
this._socket = dgram_1.default.createSocket("udp4");
|
|
37
|
+
if (!this._destinationAddress) {
|
|
38
|
+
try {
|
|
39
|
+
const ip = yield (0, ip_1.getClientIp)();
|
|
40
|
+
if (!ip) {
|
|
41
|
+
return new status_1.Status(status_1.StatusCode.INTERNAL, "failed to get client ip");
|
|
42
|
+
}
|
|
43
|
+
this._destinationAddress = ip;
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
console.error(e);
|
|
47
|
+
return new status_1.Status(status_1.StatusCode.INTERNAL, `failed to get client ip: ${e}`);
|
|
48
|
+
}
|
|
56
49
|
}
|
|
57
|
-
if (this.
|
|
58
|
-
this.
|
|
59
|
-
this._socket.addMembership(this.config.multicastGroup);
|
|
50
|
+
if (!this._destinationPort) {
|
|
51
|
+
this._destinationPort = kDefaultStreamOutPort;
|
|
60
52
|
}
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
this._socket.on("message", (msg) => {
|
|
54
|
+
var _a;
|
|
55
|
+
(_a = this._onMessage) === null || _a === void 0 ? void 0 : _a.call(this, msg);
|
|
56
|
+
});
|
|
57
|
+
this._socket.on("error", (error) => {
|
|
58
|
+
var _a;
|
|
59
|
+
(_a = this._onError) === null || _a === void 0 ? void 0 : _a.call(this, error);
|
|
60
|
+
});
|
|
61
|
+
yield new Promise((resolve, reject) => {
|
|
62
|
+
if (!this._socket)
|
|
63
|
+
return reject(new Error("Socket is null"));
|
|
64
|
+
this._socket.bind(this._destinationPort, this._destinationAddress, () => {
|
|
65
|
+
this._socket.setRecvBufferSize(kSocketBufferSize);
|
|
66
|
+
resolve();
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
return new status_1.Status();
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
return new status_1.Status(status_1.StatusCode.INTERNAL, `failed to start stream out node: ${e}`);
|
|
73
|
+
}
|
|
63
74
|
});
|
|
64
75
|
}
|
|
65
76
|
stop() {
|
|
@@ -67,12 +78,19 @@ class StreamOut extends node_1.default {
|
|
|
67
78
|
if (this._socket) {
|
|
68
79
|
this._socket.close();
|
|
69
80
|
}
|
|
70
|
-
return
|
|
81
|
+
return new status_1.Status();
|
|
71
82
|
});
|
|
72
83
|
}
|
|
73
84
|
toProto() {
|
|
85
|
+
const config = {
|
|
86
|
+
label: this._label,
|
|
87
|
+
udpUnicast: {
|
|
88
|
+
destinationAddress: this._destinationAddress,
|
|
89
|
+
destinationPort: this._destinationPort,
|
|
90
|
+
},
|
|
91
|
+
};
|
|
74
92
|
return super.toProto({
|
|
75
|
-
streamOut:
|
|
93
|
+
streamOut: config,
|
|
76
94
|
});
|
|
77
95
|
}
|
|
78
96
|
static fromProto(proto) {
|
|
@@ -80,7 +98,7 @@ class StreamOut extends node_1.default {
|
|
|
80
98
|
if (!streamOut) {
|
|
81
99
|
throw new Error("Invalid config, missing streamOut");
|
|
82
100
|
}
|
|
83
|
-
return new StreamOut(streamOut);
|
|
101
|
+
return new StreamOut(streamOut, undefined);
|
|
84
102
|
}
|
|
85
103
|
}
|
|
86
104
|
exports.default = StreamOut;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream_out.js","sourceRoot":"","sources":["../../src/nodes/stream_out.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,oCAAqC;AACrC,mDAA2B;
|
|
1
|
+
{"version":3,"file":"stream_out.js","sourceRoot":"","sources":["../../src/nodes/stream_out.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,oCAAqC;AACrC,mDAA2B;AAC3B,4CAAqD;AACrD,oCAA0C;AAE1C,MAAM,qBAAqB,GAAG,KAAK,CAAC;AACpC,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;AAEjD,MAAM,SAAU,SAAQ,cAAI;IAS1B,YACE,MAAgC,EAChC,SAAmF;QAEnF,KAAK,EAAE,CAAC;QAZV,SAAI,GAAG,aAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAcjC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,kBAAkB,CAAC;QAC1D,IAAI,CAAC,gBAAgB,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,eAAe,KAAI,qBAAqB,CAAC;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC;IACrC,CAAC;IAEK,KAAK;;YACT,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,GAAG,eAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAE1C,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC9B,IAAI,CAAC;wBACH,MAAM,EAAE,GAAG,MAAM,IAAA,gBAAW,GAAE,CAAC;wBAC/B,IAAI,CAAC,EAAE,EAAE,CAAC;4BACR,OAAO,IAAI,eAAM,CAAC,mBAAU,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;wBACpE,CAAC;wBACD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;oBAChC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACjB,OAAO,IAAI,eAAM,CAAC,mBAAU,CAAC,QAAQ,EAAE,4BAA4B,CAAC,EAAE,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC3B,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAAC;gBAChD,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE;;oBACzC,MAAA,IAAI,CAAC,UAAU,qDAAG,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;;oBACxC,MAAA,IAAI,CAAC,QAAQ,qDAAG,KAAK,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,IAAI,CAAC,IAAI,CAAC,OAAO;wBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBAE9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;wBACtE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;wBAClD,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,OAAO,IAAI,eAAM,EAAE,CAAC;YACtB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,IAAI,eAAM,CAAC,mBAAU,CAAC,QAAQ,EAAE,oCAAoC,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;KAAA;IAEK,IAAI;;YACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;YAED,OAAO,IAAI,eAAM,EAAE,CAAC;QACtB,CAAC;KAAA;IAED,OAAO;QACL,MAAM,MAAM,GAA6B;YACvC,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,UAAU,EAAE;gBACV,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;gBAC5C,eAAe,EAAE,IAAI,CAAC,gBAAgB;aACvC;SACF,CAAC;QAEF,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAA0B;QACzC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../src/utils/ip.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,MAAM,GAAG,IAAI,CAgCzD,CAAC"}
|
package/dist/utils/ip.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
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.getClientIp = void 0;
|
|
16
|
+
const dgram_1 = __importDefault(require("dgram"));
|
|
17
|
+
const getClientIp = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
try {
|
|
20
|
+
const socket = dgram_1.default.createSocket("udp4");
|
|
21
|
+
socket.on("error", (err) => {
|
|
22
|
+
console.error(err);
|
|
23
|
+
socket.close();
|
|
24
|
+
reject(err);
|
|
25
|
+
});
|
|
26
|
+
socket.bind(0, () => {
|
|
27
|
+
try {
|
|
28
|
+
socket.connect(53, "8.8.8.8", () => {
|
|
29
|
+
try {
|
|
30
|
+
const address = socket.address();
|
|
31
|
+
socket.close();
|
|
32
|
+
resolve(address.address);
|
|
33
|
+
}
|
|
34
|
+
catch (e) {
|
|
35
|
+
socket.close();
|
|
36
|
+
reject(e);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
socket.close();
|
|
42
|
+
reject(e);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
reject(e);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
exports.getClientIp = getClientIp;
|
|
52
|
+
//# sourceMappingURL=ip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ip.js","sourceRoot":"","sources":["../../src/utils/ip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAEnB,MAAM,WAAW,GAAG,GAAiC,EAAE;IAC5D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC;oBACH,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;wBACjC,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;4BACjC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC3B,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,CAAC,CAAC,CAAC,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,CAAC,CAAC,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAhCW,QAAA,WAAW,eAgCtB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@science-corporation/synapse",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Client library and CLI for the Synapse API",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
"synapse-api"
|
|
23
23
|
],
|
|
24
24
|
"scripts": {
|
|
25
|
-
"build": "./scripts/build.sh",
|
|
26
|
-
"clean": "
|
|
25
|
+
"build": "bash ./scripts/build.sh",
|
|
26
|
+
"clean": "rimraf dist src/api",
|
|
27
27
|
"dist": "npm run generate && npm run build",
|
|
28
|
-
"generate": "./scripts/generate.sh",
|
|
28
|
+
"generate": "bash ./scripts/generate.sh",
|
|
29
29
|
"lint": "tsc --noEmit && eslint .",
|
|
30
|
-
"postinstall": "./scripts/postinstall.sh && npm run dist",
|
|
30
|
+
"postinstall": "bash ./scripts/postinstall.sh && npm run dist",
|
|
31
31
|
"test": "tsc --noEmit && jest"
|
|
32
32
|
},
|
|
33
33
|
"repository": {
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
"eslint-import-resolver-typescript": "^3.7.0",
|
|
55
55
|
"eslint-plugin-import": "^2.31.0",
|
|
56
56
|
"jest": "^29.7.0",
|
|
57
|
+
"rimraf": "^5.0.5",
|
|
57
58
|
"ts-jest": "^29.2.5",
|
|
58
59
|
"typescript": "^5.5.2"
|
|
59
60
|
},
|