@dxos/network-manager 0.6.13 → 0.6.14-main.2b6a0f3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/chunk-GW3YM55A.mjs +14 -0
- package/dist/lib/browser/chunk-GW3YM55A.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XYSYUN63.mjs → chunk-V3IRGRVX.mjs} +1501 -1655
- package/dist/lib/browser/chunk-V3IRGRVX.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +347 -22
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +22 -32
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/browser/transport/tcp/index.mjs +39 -0
- package/dist/lib/browser/transport/tcp/index.mjs.map +7 -0
- package/dist/lib/node/{chunk-4YAYC7WN.cjs → chunk-4TTFBX3M.cjs} +1504 -1782
- package/dist/lib/node/chunk-4TTFBX3M.cjs.map +7 -0
- package/dist/lib/node/index.cjs +356 -37
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +24 -34
- package/dist/lib/node/testing/index.cjs.map +3 -3
- package/dist/lib/node/transport/tcp/index.cjs +191 -0
- package/dist/lib/node/transport/tcp/index.cjs.map +7 -0
- package/dist/lib/node-esm/chunk-6MN5JVRP.mjs +4035 -0
- package/dist/lib/node-esm/chunk-6MN5JVRP.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +382 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/lib/node-esm/testing/index.mjs +279 -0
- package/dist/lib/node-esm/testing/index.mjs.map +7 -0
- package/dist/lib/node-esm/transport/tcp/index.mjs +159 -0
- package/dist/lib/node-esm/transport/tcp/index.mjs.map +7 -0
- package/dist/types/src/network-manager.d.ts +2 -1
- package/dist/types/src/network-manager.d.ts.map +1 -1
- package/dist/types/src/signal/ice.d.ts.map +1 -1
- package/dist/types/src/signal/integration.node.test.d.ts +2 -0
- package/dist/types/src/signal/integration.node.test.d.ts.map +1 -0
- package/dist/types/src/signal/swarm-messenger.node.test.d.ts +2 -0
- package/dist/types/src/signal/swarm-messenger.node.test.d.ts.map +1 -0
- package/dist/types/src/swarm/connection.d.ts.map +1 -1
- package/dist/types/src/swarm/swarm.d.ts +1 -1
- package/dist/types/src/testing/test-builder.d.ts +2 -2
- package/dist/types/src/testing/test-builder.d.ts.map +1 -1
- package/dist/types/src/testing/test-wire-protocol.d.ts +1 -2
- package/dist/types/src/testing/test-wire-protocol.d.ts.map +1 -1
- package/dist/types/src/tests/basic-test-suite.d.ts.map +1 -1
- package/dist/types/src/tests/property-test-suite.d.ts.map +1 -1
- package/dist/types/src/tests/tcp-transport.node.test.d.ts +2 -0
- package/dist/types/src/tests/tcp-transport.node.test.d.ts.map +1 -0
- package/dist/types/src/tests/utils.d.ts.map +1 -1
- package/dist/types/src/transport/index.d.ts +1 -5
- package/dist/types/src/transport/index.d.ts.map +1 -1
- package/dist/types/src/transport/memory-transport.d.ts +2 -2
- package/dist/types/src/transport/memory-transport.d.ts.map +1 -1
- package/dist/types/src/transport/tcp/index.d.ts +2 -0
- package/dist/types/src/transport/tcp/index.d.ts.map +1 -0
- package/dist/types/src/transport/{tcp-transport.browser.d.ts → tcp/tcp-transport.browser.d.ts} +3 -3
- package/dist/types/src/transport/tcp/tcp-transport.browser.d.ts.map +1 -0
- package/dist/types/src/transport/{tcp-transport.d.ts → tcp/tcp-transport.d.ts} +3 -3
- package/dist/types/src/transport/tcp/tcp-transport.d.ts.map +1 -0
- package/dist/types/src/transport/transport.d.ts +7 -6
- package/dist/types/src/transport/transport.d.ts.map +1 -1
- package/dist/types/src/transport/webrtc/index.d.ts +4 -0
- package/dist/types/src/transport/webrtc/index.d.ts.map +1 -0
- package/dist/types/src/transport/webrtc/rtc-connection-factory.d.ts +14 -0
- package/dist/types/src/transport/webrtc/rtc-connection-factory.d.ts.map +1 -0
- package/dist/types/src/transport/webrtc/rtc-peer-connection.d.ts +68 -0
- package/dist/types/src/transport/webrtc/rtc-peer-connection.d.ts.map +1 -0
- package/dist/types/src/transport/webrtc/rtc-transport-channel.d.ts +33 -0
- package/dist/types/src/transport/webrtc/rtc-transport-channel.d.ts.map +1 -0
- package/dist/types/src/transport/webrtc/rtc-transport-channel.test.d.ts +2 -0
- package/dist/types/src/transport/webrtc/rtc-transport-channel.test.d.ts.map +1 -0
- package/dist/types/src/transport/webrtc/rtc-transport-factory.d.ts +4 -0
- package/dist/types/src/transport/webrtc/rtc-transport-factory.d.ts.map +1 -0
- package/dist/types/src/transport/{simplepeer-transport-proxy.d.ts → webrtc/rtc-transport-proxy.d.ts} +10 -12
- package/dist/types/src/transport/webrtc/rtc-transport-proxy.d.ts.map +1 -0
- package/dist/types/src/transport/webrtc/rtc-transport-proxy.test.d.ts +2 -0
- package/dist/types/src/transport/webrtc/rtc-transport-proxy.test.d.ts.map +1 -0
- package/dist/types/src/transport/{simplepeer-transport-service.d.ts → webrtc/rtc-transport-service.d.ts} +9 -7
- package/dist/types/src/transport/webrtc/rtc-transport-service.d.ts.map +1 -0
- package/dist/types/src/transport/webrtc/rtc-transport-stats.d.ts +4 -0
- package/dist/types/src/transport/webrtc/rtc-transport-stats.d.ts.map +1 -0
- package/dist/types/src/transport/webrtc/rtc-transport.test.d.ts +2 -0
- package/dist/types/src/transport/webrtc/rtc-transport.test.d.ts.map +1 -0
- package/dist/types/src/transport/webrtc/test-utils.d.ts +5 -0
- package/dist/types/src/transport/webrtc/test-utils.d.ts.map +1 -0
- package/dist/types/src/transport/webrtc/utils.d.ts +3 -0
- package/dist/types/src/transport/webrtc/utils.d.ts.map +1 -0
- package/package.json +56 -30
- package/src/network-manager.ts +5 -13
- package/src/signal/ice.test.ts +1 -3
- package/src/signal/ice.ts +6 -1
- package/src/signal/{integration.test.ts → integration.node.test.ts} +9 -15
- package/src/signal/{swarm-messenger.test.ts → swarm-messenger.node.test.ts} +13 -23
- package/src/swarm/connection-limiter.test.ts +3 -6
- package/src/swarm/connection.test.ts +63 -38
- package/src/swarm/connection.ts +5 -5
- package/src/swarm/swarm.test.ts +10 -12
- package/src/swarm/swarm.ts +1 -1
- package/src/testing/test-builder.ts +13 -29
- package/src/testing/test-wire-protocol.ts +1 -4
- package/src/tests/basic-test-suite.ts +34 -33
- package/src/tests/memory-transport.test.ts +40 -42
- package/src/tests/property-test-suite.ts +21 -22
- package/src/tests/tcp-transport.node.test.ts +65 -0
- package/src/tests/utils.ts +3 -2
- package/src/tests/webrtc-transport.test.ts +9 -9
- package/src/transport/index.ts +1 -5
- package/src/transport/memory-transport.ts +2 -0
- package/src/transport/tcp/index.ts +5 -0
- package/src/transport/{tcp-transport.browser.ts → tcp/tcp-transport.browser.ts} +7 -3
- package/src/transport/{tcp-transport.ts → tcp/tcp-transport.ts} +3 -1
- package/src/transport/transport.ts +8 -7
- package/src/transport/webrtc/index.ts +7 -0
- package/src/transport/webrtc/rtc-connection-factory.ts +82 -0
- package/src/transport/webrtc/rtc-peer-connection.ts +472 -0
- package/src/transport/webrtc/rtc-transport-channel.test.ts +176 -0
- package/src/transport/webrtc/rtc-transport-channel.ts +195 -0
- package/src/transport/webrtc/rtc-transport-factory.ts +28 -0
- package/src/transport/webrtc/rtc-transport-proxy.test.ts +413 -0
- package/src/transport/webrtc/rtc-transport-proxy.ts +264 -0
- package/src/transport/webrtc/rtc-transport-service.ts +192 -0
- package/src/transport/webrtc/rtc-transport-stats.ts +67 -0
- package/src/transport/webrtc/rtc-transport.test.ts +198 -0
- package/src/transport/webrtc/test-utils.ts +22 -0
- package/src/transport/webrtc/utils.ts +36 -0
- package/src/typings.d.ts +8 -2
- package/dist/lib/browser/chunk-XYSYUN63.mjs.map +0 -7
- package/dist/lib/node/chunk-4YAYC7WN.cjs.map +0 -7
- package/dist/types/src/signal/integration.test.d.ts +0 -2
- package/dist/types/src/signal/integration.test.d.ts.map +0 -1
- package/dist/types/src/signal/swarm-messenger.test.d.ts +0 -2
- package/dist/types/src/signal/swarm-messenger.test.d.ts.map +0 -1
- package/dist/types/src/tests/tcp-transport.test.d.ts +0 -2
- package/dist/types/src/tests/tcp-transport.test.d.ts.map +0 -1
- package/dist/types/src/transport/libdatachannel-transport.d.ts +0 -42
- package/dist/types/src/transport/libdatachannel-transport.d.ts.map +0 -1
- package/dist/types/src/transport/libdatachannel-transport.test.d.ts +0 -2
- package/dist/types/src/transport/libdatachannel-transport.test.d.ts.map +0 -1
- package/dist/types/src/transport/memory-transport.test.d.ts +0 -2
- package/dist/types/src/transport/memory-transport.test.d.ts.map +0 -1
- package/dist/types/src/transport/simplepeer-simple-peer.d.ts +0 -2
- package/dist/types/src/transport/simplepeer-simple-peer.d.ts.map +0 -1
- package/dist/types/src/transport/simplepeer-transport-proxy-test.d.ts +0 -2
- package/dist/types/src/transport/simplepeer-transport-proxy-test.d.ts.map +0 -1
- package/dist/types/src/transport/simplepeer-transport-proxy.d.ts.map +0 -1
- package/dist/types/src/transport/simplepeer-transport-service.d.ts.map +0 -1
- package/dist/types/src/transport/simplepeer-transport.d.ts +0 -36
- package/dist/types/src/transport/simplepeer-transport.d.ts.map +0 -1
- package/dist/types/src/transport/simplepeer-transport.test.d.ts +0 -2
- package/dist/types/src/transport/simplepeer-transport.test.d.ts.map +0 -1
- package/dist/types/src/transport/tcp-transport.browser.d.ts.map +0 -1
- package/dist/types/src/transport/tcp-transport.d.ts.map +0 -1
- package/dist/types/src/transport/webrtc.d.ts +0 -6
- package/dist/types/src/transport/webrtc.d.ts.map +0 -1
- package/src/globals.d.ts +0 -7
- package/src/tests/tcp-transport.test.ts +0 -67
- package/src/transport/libdatachannel-transport.test.ts +0 -100
- package/src/transport/libdatachannel-transport.ts +0 -376
- package/src/transport/memory-transport.test.ts +0 -74
- package/src/transport/simplepeer-simple-peer.ts +0 -26
- package/src/transport/simplepeer-transport-proxy-test.ts +0 -181
- package/src/transport/simplepeer-transport-proxy.ts +0 -246
- package/src/transport/simplepeer-transport-service.ts +0 -160
- package/src/transport/simplepeer-transport.test.ts +0 -61
- package/src/transport/simplepeer-transport.ts +0 -250
- package/src/transport/webrtc.ts +0 -15
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var tcp_exports = {};
|
|
30
|
+
__export(tcp_exports, {
|
|
31
|
+
TcpTransport: () => TcpTransport,
|
|
32
|
+
TcpTransportFactory: () => TcpTransportFactory
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(tcp_exports);
|
|
35
|
+
var import_node_net = require("node:net");
|
|
36
|
+
var import_async = require("@dxos/async");
|
|
37
|
+
var import_debug = require("@dxos/debug");
|
|
38
|
+
var import_log = require("@dxos/log");
|
|
39
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/core/mesh/network-manager/src/transport/tcp/tcp-transport.ts";
|
|
40
|
+
var TcpTransportFactory = {
|
|
41
|
+
createTransport: (options) => new TcpTransport(options)
|
|
42
|
+
};
|
|
43
|
+
var TcpTransport = class {
|
|
44
|
+
constructor(options) {
|
|
45
|
+
this.options = options;
|
|
46
|
+
this._server = void 0;
|
|
47
|
+
this._socket = void 0;
|
|
48
|
+
this._connected = false;
|
|
49
|
+
this._closed = false;
|
|
50
|
+
this.closed = new import_async.Event();
|
|
51
|
+
this.connected = new import_async.Event();
|
|
52
|
+
this.errors = new import_debug.ErrorStream();
|
|
53
|
+
}
|
|
54
|
+
get isOpen() {
|
|
55
|
+
return this._connected && !this._closed;
|
|
56
|
+
}
|
|
57
|
+
async open() {
|
|
58
|
+
(0, import_log.log)("opening", void 0, {
|
|
59
|
+
F: __dxlog_file,
|
|
60
|
+
L: 39,
|
|
61
|
+
S: this,
|
|
62
|
+
C: (f, a) => f(...a)
|
|
63
|
+
});
|
|
64
|
+
if (this.options.initiator) {
|
|
65
|
+
setTimeout(async () => {
|
|
66
|
+
const { Server } = await import("node:net");
|
|
67
|
+
this._server = new Server((socket) => {
|
|
68
|
+
(0, import_log.log)("new connection", void 0, {
|
|
69
|
+
F: __dxlog_file,
|
|
70
|
+
L: 47,
|
|
71
|
+
S: this,
|
|
72
|
+
C: (f, a) => f(...a)
|
|
73
|
+
});
|
|
74
|
+
if (this._connected) {
|
|
75
|
+
socket.destroy();
|
|
76
|
+
}
|
|
77
|
+
this._handleSocket(socket);
|
|
78
|
+
});
|
|
79
|
+
this._server.on("listening", () => {
|
|
80
|
+
const { port } = this._server.address();
|
|
81
|
+
(0, import_log.log)("listening", {
|
|
82
|
+
port
|
|
83
|
+
}, {
|
|
84
|
+
F: __dxlog_file,
|
|
85
|
+
L: 56,
|
|
86
|
+
S: this,
|
|
87
|
+
C: (f, a) => f(...a)
|
|
88
|
+
});
|
|
89
|
+
void this.options.sendSignal({
|
|
90
|
+
payload: {
|
|
91
|
+
port
|
|
92
|
+
}
|
|
93
|
+
}).catch((err) => {
|
|
94
|
+
if (!this._closed) {
|
|
95
|
+
this.errors.raise(err);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
this._server.on("error", (err) => {
|
|
100
|
+
this.errors.raise(err);
|
|
101
|
+
});
|
|
102
|
+
this._server.listen(0);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return this;
|
|
106
|
+
}
|
|
107
|
+
async close() {
|
|
108
|
+
(0, import_log.log)("closing", void 0, {
|
|
109
|
+
F: __dxlog_file,
|
|
110
|
+
L: 79,
|
|
111
|
+
S: this,
|
|
112
|
+
C: (f, a) => f(...a)
|
|
113
|
+
});
|
|
114
|
+
this._socket?.destroy();
|
|
115
|
+
this._server?.close();
|
|
116
|
+
this._closed = true;
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
async onSignal({ payload }) {
|
|
120
|
+
(0, import_log.log)("received signal", {
|
|
121
|
+
payload
|
|
122
|
+
}, {
|
|
123
|
+
F: __dxlog_file,
|
|
124
|
+
L: 87,
|
|
125
|
+
S: this,
|
|
126
|
+
C: (f, a) => f(...a)
|
|
127
|
+
});
|
|
128
|
+
if (this.options.initiator || this._connected) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const socket = new import_node_net.Socket();
|
|
132
|
+
this._handleSocket(socket);
|
|
133
|
+
socket.connect({
|
|
134
|
+
port: payload.port,
|
|
135
|
+
host: "localhost"
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
async getDetails() {
|
|
139
|
+
if (this.options.initiator) {
|
|
140
|
+
const { port: port2, address: address2 } = this._server?.address();
|
|
141
|
+
return `LISTEN ${address2}:${port2}`;
|
|
142
|
+
}
|
|
143
|
+
const { port, address } = this._socket?.address();
|
|
144
|
+
return `ACCEPT ${address}:${port}`;
|
|
145
|
+
}
|
|
146
|
+
async getStats() {
|
|
147
|
+
return {
|
|
148
|
+
bytesSent: 0,
|
|
149
|
+
bytesReceived: 0,
|
|
150
|
+
packetsSent: 0,
|
|
151
|
+
packetsReceived: 0
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
_handleSocket(socket) {
|
|
155
|
+
(0, import_log.log)("handling socket", {
|
|
156
|
+
remotePort: socket.remotePort,
|
|
157
|
+
localPort: socket.localPort
|
|
158
|
+
}, {
|
|
159
|
+
F: __dxlog_file,
|
|
160
|
+
L: 117,
|
|
161
|
+
S: this,
|
|
162
|
+
C: (f, a) => f(...a)
|
|
163
|
+
});
|
|
164
|
+
this._socket = socket;
|
|
165
|
+
this._socket.on("connect", () => {
|
|
166
|
+
(0, import_log.log)("connected to", {
|
|
167
|
+
port: this._socket?.remotePort
|
|
168
|
+
}, {
|
|
169
|
+
F: __dxlog_file,
|
|
170
|
+
L: 121,
|
|
171
|
+
S: this,
|
|
172
|
+
C: (f, a) => f(...a)
|
|
173
|
+
});
|
|
174
|
+
this._connected = true;
|
|
175
|
+
});
|
|
176
|
+
this._socket.on("error", (err) => {
|
|
177
|
+
this.errors.raise(err);
|
|
178
|
+
});
|
|
179
|
+
this._socket.on("close", () => {
|
|
180
|
+
this.closed.emit();
|
|
181
|
+
});
|
|
182
|
+
this.connected.emit();
|
|
183
|
+
this.options.stream.pipe(this._socket).pipe(this.options.stream);
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
187
|
+
0 && (module.exports = {
|
|
188
|
+
TcpTransport,
|
|
189
|
+
TcpTransportFactory
|
|
190
|
+
});
|
|
191
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/transport/tcp/tcp-transport.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport { type AddressInfo, Socket, type Server } from 'node:net';\n\nimport { Event } from '@dxos/async';\nimport { ErrorStream } from '@dxos/debug';\nimport { log } from '@dxos/log';\nimport { type Signal } from '@dxos/protocols/proto/dxos/mesh/swarm';\n\nimport { type Transport, type TransportFactory, type TransportOptions, type TransportStats } from '../transport';\n\nexport const TcpTransportFactory: TransportFactory = {\n createTransport: (options) => new TcpTransport(options),\n};\n\n/**\n * Fake transport.\n */\nexport class TcpTransport implements Transport {\n private _server?: Server = undefined;\n private _socket?: Socket = undefined;\n\n private _connected = false;\n private _closed = false;\n\n public readonly closed = new Event<void>();\n public readonly connected = new Event<void>();\n public readonly errors = new ErrorStream();\n\n constructor(private readonly options: TransportOptions) {}\n\n get isOpen() {\n return this._connected && !this._closed;\n }\n\n async open() {\n log('opening');\n\n // Initiator will send a signal, the receiver will receive the unique ID and connect the streams.\n if (this.options.initiator) {\n // TODO(burdon): Why timeout?\n setTimeout(async () => {\n const { Server } = await import('node:net');\n this._server = new Server((socket) => {\n log('new connection');\n if (this._connected) {\n socket.destroy();\n }\n this._handleSocket(socket);\n });\n\n this._server.on('listening', () => {\n const { port } = this._server!.address() as AddressInfo;\n log('listening', { port });\n void this.options\n .sendSignal({\n payload: { port },\n })\n .catch((err) => {\n if (!this._closed) {\n this.errors.raise(err);\n }\n });\n });\n\n this._server.on('error', (err) => {\n this.errors.raise(err);\n });\n\n this._server.listen(0);\n });\n }\n return this;\n }\n\n async close() {\n log('closing');\n this._socket?.destroy();\n this._server?.close();\n this._closed = true;\n return this;\n }\n\n async onSignal({ payload }: Signal) {\n log('received signal', { payload });\n if (this.options.initiator || this._connected) {\n return;\n }\n\n const socket = new Socket();\n this._handleSocket(socket);\n socket.connect({ port: payload.port, host: 'localhost' });\n }\n\n async getDetails(): Promise<string> {\n if (this.options.initiator) {\n const { port, address } = this._server?.address() as AddressInfo;\n return `LISTEN ${address}:${port}`;\n }\n\n const { port, address } = this._socket?.address() as AddressInfo;\n return `ACCEPT ${address}:${port}`;\n }\n\n async getStats(): Promise<TransportStats> {\n return {\n bytesSent: 0,\n bytesReceived: 0,\n packetsSent: 0,\n packetsReceived: 0,\n };\n }\n\n private _handleSocket(socket: Socket) {\n log('handling socket', { remotePort: socket.remotePort, localPort: socket.localPort });\n this._socket = socket;\n\n this._socket.on('connect', () => {\n log('connected to', { port: this._socket?.remotePort });\n this._connected = true;\n });\n\n this._socket.on('error', (err) => {\n this.errors.raise(err);\n });\n\n this._socket.on('close', () => {\n this.closed.emit();\n });\n\n this.connected.emit();\n this.options.stream.pipe(this._socket!).pipe(this.options.stream);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,sBAAsD;AAEtD,mBAAsB;AACtB,mBAA4B;AAC5B,iBAAoB;;AAKb,IAAMA,sBAAwC;EACnDC,iBAAiB,CAACC,YAAY,IAAIC,aAAaD,OAAAA;AACjD;AAKO,IAAMC,eAAN,MAAMA;EAWXC,YAA6BF,SAA2B;SAA3BA,UAAAA;SAVrBG,UAAmBC;SACnBC,UAAmBD;SAEnBE,aAAa;SACbC,UAAU;SAEFC,SAAS,IAAIC,mBAAAA;SACbC,YAAY,IAAID,mBAAAA;SAChBE,SAAS,IAAIC,yBAAAA;EAE4B;EAEzD,IAAIC,SAAS;AACX,WAAO,KAAKP,cAAc,CAAC,KAAKC;EAClC;EAEA,MAAMO,OAAO;AACXC,wBAAI,WAAA,QAAA;;;;;;AAGJ,QAAI,KAAKf,QAAQgB,WAAW;AAE1BC,iBAAW,YAAA;AACT,cAAM,EAAEC,OAAM,IAAK,MAAM,OAAO,UAAA;AAChC,aAAKf,UAAU,IAAIe,OAAO,CAACC,WAAAA;AACzBJ,8BAAI,kBAAA,QAAA;;;;;;AACJ,cAAI,KAAKT,YAAY;AACnBa,mBAAOC,QAAO;UAChB;AACA,eAAKC,cAAcF,MAAAA;QACrB,CAAA;AAEA,aAAKhB,QAAQmB,GAAG,aAAa,MAAA;AAC3B,gBAAM,EAAEC,KAAI,IAAK,KAAKpB,QAASqB,QAAO;AACtCT,8BAAI,aAAa;YAAEQ;UAAK,GAAA;;;;;;AACxB,eAAK,KAAKvB,QACPyB,WAAW;YACVC,SAAS;cAAEH;YAAK;UAClB,CAAA,EACCI,MAAM,CAACC,QAAAA;AACN,gBAAI,CAAC,KAAKrB,SAAS;AACjB,mBAAKI,OAAOkB,MAAMD,GAAAA;YACpB;UACF,CAAA;QACJ,CAAA;AAEA,aAAKzB,QAAQmB,GAAG,SAAS,CAACM,QAAAA;AACxB,eAAKjB,OAAOkB,MAAMD,GAAAA;QACpB,CAAA;AAEA,aAAKzB,QAAQ2B,OAAO,CAAA;MACtB,CAAA;IACF;AACA,WAAO;EACT;EAEA,MAAMC,QAAQ;AACZhB,wBAAI,WAAA,QAAA;;;;;;AACJ,SAAKV,SAASe,QAAAA;AACd,SAAKjB,SAAS4B,MAAAA;AACd,SAAKxB,UAAU;AACf,WAAO;EACT;EAEA,MAAMyB,SAAS,EAAEN,QAAO,GAAY;AAClCX,wBAAI,mBAAmB;MAAEW;IAAQ,GAAA;;;;;;AACjC,QAAI,KAAK1B,QAAQgB,aAAa,KAAKV,YAAY;AAC7C;IACF;AAEA,UAAMa,SAAS,IAAIc,uBAAAA;AACnB,SAAKZ,cAAcF,MAAAA;AACnBA,WAAOe,QAAQ;MAAEX,MAAMG,QAAQH;MAAMY,MAAM;IAAY,CAAA;EACzD;EAEA,MAAMC,aAA8B;AAClC,QAAI,KAAKpC,QAAQgB,WAAW;AAC1B,YAAM,EAAEO,MAAAA,OAAMC,SAAAA,SAAO,IAAK,KAAKrB,SAASqB,QAAAA;AACxC,aAAO,UAAUA,QAAAA,IAAWD,KAAAA;IAC9B;AAEA,UAAM,EAAEA,MAAMC,QAAO,IAAK,KAAKnB,SAASmB,QAAAA;AACxC,WAAO,UAAUA,OAAAA,IAAWD,IAAAA;EAC9B;EAEA,MAAMc,WAAoC;AACxC,WAAO;MACLC,WAAW;MACXC,eAAe;MACfC,aAAa;MACbC,iBAAiB;IACnB;EACF;EAEQpB,cAAcF,QAAgB;AACpCJ,wBAAI,mBAAmB;MAAE2B,YAAYvB,OAAOuB;MAAYC,WAAWxB,OAAOwB;IAAU,GAAA;;;;;;AACpF,SAAKtC,UAAUc;AAEf,SAAKd,QAAQiB,GAAG,WAAW,MAAA;AACzBP,0BAAI,gBAAgB;QAAEQ,MAAM,KAAKlB,SAASqC;MAAW,GAAA;;;;;;AACrD,WAAKpC,aAAa;IACpB,CAAA;AAEA,SAAKD,QAAQiB,GAAG,SAAS,CAACM,QAAAA;AACxB,WAAKjB,OAAOkB,MAAMD,GAAAA;IACpB,CAAA;AAEA,SAAKvB,QAAQiB,GAAG,SAAS,MAAA;AACvB,WAAKd,OAAOoC,KAAI;IAClB,CAAA;AAEA,SAAKlC,UAAUkC,KAAI;AACnB,SAAK5C,QAAQ6C,OAAOC,KAAK,KAAKzC,OAAO,EAAGyC,KAAK,KAAK9C,QAAQ6C,MAAM;EAClE;AACF;",
|
|
6
|
+
"names": ["TcpTransportFactory", "createTransport", "options", "TcpTransport", "constructor", "_server", "undefined", "_socket", "_connected", "_closed", "closed", "Event", "connected", "errors", "ErrorStream", "isOpen", "open", "log", "initiator", "setTimeout", "Server", "socket", "destroy", "_handleSocket", "on", "port", "address", "sendSignal", "payload", "catch", "err", "raise", "listen", "close", "onSignal", "Socket", "connect", "host", "getDetails", "getStats", "bytesSent", "bytesReceived", "packetsSent", "packetsReceived", "remotePort", "localPort", "emit", "stream", "pipe"]
|
|
7
|
+
}
|