@dxos/network-manager 0.3.9-main.26defc6 → 0.3.9-main.2b2db7f
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-J7KS7JMZ.mjs → chunk-7JESB3AJ.mjs} +93 -63
- package/dist/lib/browser/chunk-7JESB3AJ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -11
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +1 -2
- package/dist/lib/browser/testing/index.mjs.map +1 -1
- package/dist/lib/node/{chunk-55WTPQV5.cjs → chunk-Y2B5BDRH.cjs} +97 -65
- package/dist/lib/node/chunk-Y2B5BDRH.cjs.map +7 -0
- package/dist/lib/node/index.cjs +27 -36
- package/dist/lib/node/index.cjs.map +2 -2
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +18 -19
- package/dist/lib/node/testing/index.cjs.map +1 -1
- package/dist/types/src/transport/index.d.ts +0 -1
- package/dist/types/src/transport/index.d.ts.map +1 -1
- package/dist/types/src/transport/libdatachannel-transport.d.ts +1 -0
- package/dist/types/src/transport/libdatachannel-transport.d.ts.map +1 -1
- package/dist/types/src/transport/simplepeer-transport.d.ts.map +1 -1
- package/package.json +18 -18
- package/src/topology/mmst-topology.ts +7 -7
- package/src/transport/index.ts +0 -1
- package/src/transport/libdatachannel-transport.ts +76 -34
- package/src/transport/simplepeer-transport.ts +4 -5
- package/dist/lib/browser/chunk-J7KS7JMZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-YERMWDRB.mjs +0 -24
- package/dist/lib/browser/chunk-YERMWDRB.mjs.map +0 -7
- package/dist/lib/browser/index.browser-O53CPVK3.mjs +0 -14
- package/dist/lib/browser/index.browser-O53CPVK3.mjs.map +0 -7
- package/dist/lib/node/chunk-55WTPQV5.cjs.map +0 -7
- package/dist/lib/node/chunk-JDKM4UPJ.cjs +0 -470
- package/dist/lib/node/chunk-JDKM4UPJ.cjs.map +0 -7
- package/dist/lib/node/datachannel-3VTTIMR5.cjs +0 -35
- package/dist/lib/node/datachannel-3VTTIMR5.cjs.map +0 -7
- package/dist/types/src/transport/datachannel/index.browser.d.ts +0 -15
- package/dist/types/src/transport/datachannel/index.browser.d.ts.map +0 -1
- package/dist/types/src/transport/datachannel/index.d.ts +0 -8
- package/dist/types/src/transport/datachannel/index.d.ts.map +0 -1
- package/dist/types/src/transport/datachannel/rtc-data-channel.d.ts +0 -29
- package/dist/types/src/transport/datachannel/rtc-data-channel.d.ts.map +0 -1
- package/dist/types/src/transport/datachannel/rtc-events.d.ts +0 -9
- package/dist/types/src/transport/datachannel/rtc-events.d.ts.map +0 -1
- package/dist/types/src/transport/datachannel/rtc-ice-candidate.d.ts +0 -22
- package/dist/types/src/transport/datachannel/rtc-ice-candidate.d.ts.map +0 -1
- package/dist/types/src/transport/datachannel/rtc-peer-connection.d.ts +0 -54
- package/dist/types/src/transport/datachannel/rtc-peer-connection.d.ts.map +0 -1
- package/dist/types/src/transport/datachannel/rtc-peer-connection.test.d.ts +0 -2
- package/dist/types/src/transport/datachannel/rtc-peer-connection.test.d.ts.map +0 -1
- package/dist/types/src/transport/datachannel/rtc-session-description.d.ts +0 -10
- package/dist/types/src/transport/datachannel/rtc-session-description.d.ts.map +0 -1
- package/src/transport/datachannel/README.md +0 -2
- package/src/transport/datachannel/index.browser.ts +0 -8
- package/src/transport/datachannel/index.ts +0 -17
- package/src/transport/datachannel/rtc-data-channel.ts +0 -148
- package/src/transport/datachannel/rtc-events.ts +0 -23
- package/src/transport/datachannel/rtc-ice-candidate.ts +0 -54
- package/src/transport/datachannel/rtc-peer-connection.test.ts +0 -112
- package/src/transport/datachannel/rtc-peer-connection.ts +0 -355
- package/src/transport/datachannel/rtc-session-description.ts +0 -23
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import "@dxos/node-std/globals";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
2
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
3
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
4
|
+
}) : x)(function(x) {
|
|
5
|
+
if (typeof require !== "undefined")
|
|
6
|
+
return require.apply(this, arguments);
|
|
7
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
8
|
+
});
|
|
5
9
|
|
|
6
10
|
// packages/core/mesh/network-manager/src/swarm/connection.ts
|
|
7
11
|
import { DeferredTask, Event, sleep, scheduleTask, scheduleTaskInterval, synchronized } from "@dxos/async";
|
|
@@ -2383,7 +2387,7 @@ var MMSTTopology = class {
|
|
|
2383
2387
|
});
|
|
2384
2388
|
const { connected, candidates } = this._controller.getState();
|
|
2385
2389
|
if (this._sampleCollected || connected.length > this._maxPeers || candidates.length > 0) {
|
|
2386
|
-
log8
|
|
2390
|
+
log8("Running the algorithm.", void 0, {
|
|
2387
2391
|
F: __dxlog_file9,
|
|
2388
2392
|
L: 60,
|
|
2389
2393
|
S: this,
|
|
@@ -2427,7 +2431,7 @@ var MMSTTopology = class {
|
|
|
2427
2431
|
});
|
|
2428
2432
|
const { connected, candidates, ownPeerId } = this._controller.getState();
|
|
2429
2433
|
if (connected.length > this._maxPeers) {
|
|
2430
|
-
log8
|
|
2434
|
+
log8(`disconnect ${connected.length - this._maxPeers} peers.`, void 0, {
|
|
2431
2435
|
F: __dxlog_file9,
|
|
2432
2436
|
L: 85,
|
|
2433
2437
|
S: this,
|
|
@@ -2453,7 +2457,7 @@ var MMSTTopology = class {
|
|
|
2453
2457
|
}
|
|
2454
2458
|
if (Date.now() - this._lastAction.getTime() > MIN_UPDATE_INTERVAL) {
|
|
2455
2459
|
for (const peer of sorted.slice(0, MAX_CHANGES_PER_UPDATE)) {
|
|
2456
|
-
log8
|
|
2460
|
+
log8(`Disconnect ${peer}.`, void 0, {
|
|
2457
2461
|
F: __dxlog_file9,
|
|
2458
2462
|
L: 97,
|
|
2459
2463
|
S: this,
|
|
@@ -2463,7 +2467,7 @@ var MMSTTopology = class {
|
|
|
2463
2467
|
}
|
|
2464
2468
|
this._lastAction = /* @__PURE__ */ new Date();
|
|
2465
2469
|
} else {
|
|
2466
|
-
log8
|
|
2470
|
+
log8("rate limited discconnect", void 0, {
|
|
2467
2471
|
F: __dxlog_file9,
|
|
2468
2472
|
L: 102,
|
|
2469
2473
|
S: this,
|
|
@@ -2471,7 +2475,7 @@ var MMSTTopology = class {
|
|
|
2471
2475
|
});
|
|
2472
2476
|
}
|
|
2473
2477
|
} else if (connected.length < this._originateConnections) {
|
|
2474
|
-
log8
|
|
2478
|
+
log8(`connect ${this._originateConnections - connected.length} peers.`, void 0, {
|
|
2475
2479
|
F: __dxlog_file9,
|
|
2476
2480
|
L: 106,
|
|
2477
2481
|
S: this,
|
|
@@ -2489,7 +2493,7 @@ var MMSTTopology = class {
|
|
|
2489
2493
|
}
|
|
2490
2494
|
if (Date.now() - this._lastAction.getTime() > MIN_UPDATE_INTERVAL) {
|
|
2491
2495
|
for (const peer of sorted.slice(0, MAX_CHANGES_PER_UPDATE)) {
|
|
2492
|
-
log8
|
|
2496
|
+
log8(`Connect ${peer}.`, void 0, {
|
|
2493
2497
|
F: __dxlog_file9,
|
|
2494
2498
|
L: 115,
|
|
2495
2499
|
S: this,
|
|
@@ -2499,7 +2503,7 @@ var MMSTTopology = class {
|
|
|
2499
2503
|
}
|
|
2500
2504
|
this._lastAction = /* @__PURE__ */ new Date();
|
|
2501
2505
|
} else {
|
|
2502
|
-
log8
|
|
2506
|
+
log8("rate limited connect", void 0, {
|
|
2503
2507
|
F: __dxlog_file9,
|
|
2504
2508
|
L: 120,
|
|
2505
2509
|
S: this,
|
|
@@ -3004,8 +3008,8 @@ var SimplePeerTransport = class {
|
|
|
3004
3008
|
return {
|
|
3005
3009
|
bytesSent: stats.transport.bytesSent,
|
|
3006
3010
|
bytesReceived: stats.transport.bytesReceived,
|
|
3007
|
-
packetsSent: stats.transport.
|
|
3008
|
-
packetsReceived: stats.transport.
|
|
3011
|
+
packetsSent: stats.transport.packetsSent,
|
|
3012
|
+
packetsReceived: stats.transport.packetsReceived,
|
|
3009
3013
|
rawStats: stats.raw
|
|
3010
3014
|
};
|
|
3011
3015
|
}
|
|
@@ -3038,8 +3042,8 @@ var SimplePeerTransport = class {
|
|
|
3038
3042
|
if (!rc) {
|
|
3039
3043
|
return "unavailable";
|
|
3040
3044
|
}
|
|
3041
|
-
if (rc.relay) {
|
|
3042
|
-
return `${rc.ip}:${rc.port}/${rc.protocol} relay for
|
|
3045
|
+
if (rc.candidateType === "relay") {
|
|
3046
|
+
return `${rc.ip}:${rc.port}/${rc.protocol} relay for ${rc.relatedAddress}:${rc.relatedPort}`;
|
|
3043
3047
|
}
|
|
3044
3048
|
return `${rc.ip}:${rc.port}/${rc.protocol} ${rc.candidateType}`;
|
|
3045
3049
|
}
|
|
@@ -3053,14 +3057,13 @@ var SimplePeerTransport = class {
|
|
|
3053
3057
|
if (this._closed) {
|
|
3054
3058
|
return;
|
|
3055
3059
|
}
|
|
3056
|
-
this._closed = true;
|
|
3057
3060
|
this._disconnectStreams();
|
|
3058
3061
|
this._peer.destroy();
|
|
3059
3062
|
this._closed = true;
|
|
3060
3063
|
this.closed.emit();
|
|
3061
3064
|
log11("closed", void 0, {
|
|
3062
3065
|
F: __dxlog_file12,
|
|
3063
|
-
L:
|
|
3066
|
+
L: 200,
|
|
3064
3067
|
S: this,
|
|
3065
3068
|
C: (f, a) => f(...a)
|
|
3066
3069
|
});
|
|
@@ -3508,17 +3511,24 @@ var LibDataChannelTransport = class {
|
|
|
3508
3511
|
this._readyForCandidates = new Trigger2();
|
|
3509
3512
|
this._writeCallback = null;
|
|
3510
3513
|
this._peer = (async () => {
|
|
3511
|
-
const { RTCPeerConnection
|
|
3514
|
+
const { RTCPeerConnection } = (await importESM("node-datachannel/polyfill")).default;
|
|
3512
3515
|
if (this._closed) {
|
|
3513
3516
|
this.errors.raise(new Error("connection already closed"));
|
|
3514
3517
|
}
|
|
3515
|
-
|
|
3518
|
+
if (params.webrtcConfig) {
|
|
3519
|
+
params.webrtcConfig.iceServers = params.webrtcConfig.iceServers ?? [];
|
|
3520
|
+
} else {
|
|
3521
|
+
params.webrtcConfig = {
|
|
3522
|
+
iceServers: []
|
|
3523
|
+
};
|
|
3524
|
+
}
|
|
3525
|
+
const peer = new RTCPeerConnection(params.webrtcConfig);
|
|
3516
3526
|
peer.onicecandidateerror = (event) => {
|
|
3517
3527
|
log14.error("peer.onicecandidateerror", {
|
|
3518
3528
|
event
|
|
3519
3529
|
}, {
|
|
3520
3530
|
F: __dxlog_file15,
|
|
3521
|
-
L:
|
|
3531
|
+
L: 61,
|
|
3522
3532
|
S: this,
|
|
3523
3533
|
C: (f, a) => f(...a)
|
|
3524
3534
|
});
|
|
@@ -3530,7 +3540,7 @@ var LibDataChannelTransport = class {
|
|
|
3530
3540
|
transportConnectionState: this._connected
|
|
3531
3541
|
}, {
|
|
3532
3542
|
F: __dxlog_file15,
|
|
3533
|
-
L:
|
|
3543
|
+
L: 65,
|
|
3534
3544
|
S: this,
|
|
3535
3545
|
C: (f, a) => f(...a)
|
|
3536
3546
|
});
|
|
@@ -3540,7 +3550,7 @@ var LibDataChannelTransport = class {
|
|
|
3540
3550
|
event
|
|
3541
3551
|
}, {
|
|
3542
3552
|
F: __dxlog_file15,
|
|
3543
|
-
L:
|
|
3553
|
+
L: 74,
|
|
3544
3554
|
S: this,
|
|
3545
3555
|
C: (f, a) => f(...a)
|
|
3546
3556
|
});
|
|
@@ -3564,7 +3574,7 @@ var LibDataChannelTransport = class {
|
|
|
3564
3574
|
err
|
|
3565
3575
|
}, {
|
|
3566
3576
|
F: __dxlog_file15,
|
|
3567
|
-
L:
|
|
3577
|
+
L: 91,
|
|
3568
3578
|
S: this,
|
|
3569
3579
|
C: (f, a) => f(...a)
|
|
3570
3580
|
});
|
|
@@ -3573,12 +3583,15 @@ var LibDataChannelTransport = class {
|
|
|
3573
3583
|
};
|
|
3574
3584
|
if (params.initiator) {
|
|
3575
3585
|
peer.createOffer().then(async (offer) => {
|
|
3586
|
+
if (this._closed) {
|
|
3587
|
+
return;
|
|
3588
|
+
}
|
|
3576
3589
|
if (peer.connectionState !== "connecting") {
|
|
3577
3590
|
log14.error("i am initiator but peer not in state connecting", {
|
|
3578
3591
|
peer
|
|
3579
3592
|
}, {
|
|
3580
3593
|
F: __dxlog_file15,
|
|
3581
|
-
L:
|
|
3594
|
+
L: 104,
|
|
3582
3595
|
S: this,
|
|
3583
3596
|
C: (f, a) => f(...a)
|
|
3584
3597
|
});
|
|
@@ -3588,7 +3601,7 @@ var LibDataChannelTransport = class {
|
|
|
3588
3601
|
offer
|
|
3589
3602
|
}, {
|
|
3590
3603
|
F: __dxlog_file15,
|
|
3591
|
-
L:
|
|
3604
|
+
L: 107,
|
|
3592
3605
|
S: this,
|
|
3593
3606
|
C: (f, a) => f(...a)
|
|
3594
3607
|
});
|
|
@@ -3608,7 +3621,7 @@ var LibDataChannelTransport = class {
|
|
|
3608
3621
|
this.handleChannel(peer.createDataChannel(DATACHANNEL_LABEL));
|
|
3609
3622
|
log14.debug("created data channel", void 0, {
|
|
3610
3623
|
F: __dxlog_file15,
|
|
3611
|
-
L:
|
|
3624
|
+
L: 116,
|
|
3612
3625
|
S: this,
|
|
3613
3626
|
C: (f, a) => f(...a)
|
|
3614
3627
|
});
|
|
@@ -3621,7 +3634,7 @@ var LibDataChannelTransport = class {
|
|
|
3621
3634
|
event
|
|
3622
3635
|
}, {
|
|
3623
3636
|
F: __dxlog_file15,
|
|
3624
|
-
L:
|
|
3637
|
+
L: 122,
|
|
3625
3638
|
S: this,
|
|
3626
3639
|
C: (f, a) => f(...a)
|
|
3627
3640
|
});
|
|
@@ -3639,7 +3652,7 @@ var LibDataChannelTransport = class {
|
|
|
3639
3652
|
this._channel.onopen = () => {
|
|
3640
3653
|
log14.debug("dataChannel.onopen", void 0, {
|
|
3641
3654
|
F: __dxlog_file15,
|
|
3642
|
-
L:
|
|
3655
|
+
L: 138,
|
|
3643
3656
|
S: this,
|
|
3644
3657
|
C: (f, a) => f(...a)
|
|
3645
3658
|
});
|
|
@@ -3660,7 +3673,7 @@ var LibDataChannelTransport = class {
|
|
|
3660
3673
|
if (this._writeCallback !== null) {
|
|
3661
3674
|
log14.error("consumer trying to write before we're ready for more data", void 0, {
|
|
3662
3675
|
F: __dxlog_file15,
|
|
3663
|
-
L:
|
|
3676
|
+
L: 155,
|
|
3664
3677
|
S: this,
|
|
3665
3678
|
C: (f, a) => f(...a)
|
|
3666
3679
|
});
|
|
@@ -3685,7 +3698,7 @@ var LibDataChannelTransport = class {
|
|
|
3685
3698
|
err
|
|
3686
3699
|
}, {
|
|
3687
3700
|
F: __dxlog_file15,
|
|
3688
|
-
L:
|
|
3701
|
+
L: 175,
|
|
3689
3702
|
S: this,
|
|
3690
3703
|
C: (f, a) => f(...a)
|
|
3691
3704
|
});
|
|
@@ -3709,6 +3722,12 @@ var LibDataChannelTransport = class {
|
|
|
3709
3722
|
return;
|
|
3710
3723
|
}
|
|
3711
3724
|
await this._disconnectStreams();
|
|
3725
|
+
const peer = await this._peer;
|
|
3726
|
+
try {
|
|
3727
|
+
peer.close();
|
|
3728
|
+
} catch (err) {
|
|
3729
|
+
this.errors.raise(err);
|
|
3730
|
+
}
|
|
3712
3731
|
this._closed = true;
|
|
3713
3732
|
this.closed.emit();
|
|
3714
3733
|
}
|
|
@@ -3722,7 +3741,7 @@ var LibDataChannelTransport = class {
|
|
|
3722
3741
|
peer
|
|
3723
3742
|
}, {
|
|
3724
3743
|
F: __dxlog_file15,
|
|
3725
|
-
L:
|
|
3744
|
+
L: 216,
|
|
3726
3745
|
S: this,
|
|
3727
3746
|
C: (f, a) => f(...a)
|
|
3728
3747
|
});
|
|
@@ -3750,7 +3769,7 @@ var LibDataChannelTransport = class {
|
|
|
3750
3769
|
err
|
|
3751
3770
|
}, {
|
|
3752
3771
|
F: __dxlog_file15,
|
|
3753
|
-
L:
|
|
3772
|
+
L: 227,
|
|
3754
3773
|
S: this,
|
|
3755
3774
|
C: (f, a) => f(...a)
|
|
3756
3775
|
});
|
|
@@ -3770,7 +3789,7 @@ var LibDataChannelTransport = class {
|
|
|
3770
3789
|
err
|
|
3771
3790
|
}, {
|
|
3772
3791
|
F: __dxlog_file15,
|
|
3773
|
-
L:
|
|
3792
|
+
L: 238,
|
|
3774
3793
|
S: this,
|
|
3775
3794
|
C: (f, a) => f(...a)
|
|
3776
3795
|
});
|
|
@@ -3789,7 +3808,7 @@ var LibDataChannelTransport = class {
|
|
|
3789
3808
|
signal
|
|
3790
3809
|
}, {
|
|
3791
3810
|
F: __dxlog_file15,
|
|
3792
|
-
L:
|
|
3811
|
+
L: 249,
|
|
3793
3812
|
S: this,
|
|
3794
3813
|
C: (f, a) => f(...a)
|
|
3795
3814
|
});
|
|
@@ -3798,51 +3817,61 @@ var LibDataChannelTransport = class {
|
|
|
3798
3817
|
}).catch((err) => {
|
|
3799
3818
|
log14.catch(err, void 0, {
|
|
3800
3819
|
F: __dxlog_file15,
|
|
3801
|
-
L:
|
|
3820
|
+
L: 254,
|
|
3802
3821
|
S: this,
|
|
3803
3822
|
C: (f, a) => f(...a)
|
|
3804
3823
|
});
|
|
3805
3824
|
});
|
|
3806
3825
|
}
|
|
3807
3826
|
async getDetails() {
|
|
3827
|
+
const stats = await this._getStats();
|
|
3828
|
+
const rc = stats?.remoteCandidate;
|
|
3829
|
+
if (!rc) {
|
|
3830
|
+
return "unavailable";
|
|
3831
|
+
}
|
|
3832
|
+
if (rc.candidateType === "relay") {
|
|
3833
|
+
return `${rc.ip}:${rc.port} relay for ${rc.relatedAddress}:${rc.relatedPort}`;
|
|
3834
|
+
}
|
|
3835
|
+
return `${rc.ip}:${rc.port} ${rc.candidateType}`;
|
|
3836
|
+
}
|
|
3837
|
+
async _getStats() {
|
|
3808
3838
|
return this._peer.then(async (peer) => {
|
|
3809
|
-
const
|
|
3810
|
-
|
|
3811
|
-
|
|
3839
|
+
const stats = await peer.getStats();
|
|
3840
|
+
const statsEntries = Array.from(stats.entries());
|
|
3841
|
+
const transport = statsEntries.filter((s) => s[1].type === "transport")[0][1];
|
|
3842
|
+
const candidatePair = statsEntries.filter((s) => s[0] === transport.selectedCandidatePairId);
|
|
3843
|
+
let selectedCandidatePair;
|
|
3844
|
+
let remoteCandidate;
|
|
3845
|
+
if (candidatePair.length > 0) {
|
|
3846
|
+
selectedCandidatePair = candidatePair[0][1];
|
|
3847
|
+
remoteCandidate = statsEntries.filter((s) => s[0] === selectedCandidatePair.remoteCandidateId)[0][1];
|
|
3812
3848
|
}
|
|
3813
|
-
return
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
C: (f, a) => f(...a)
|
|
3820
|
-
});
|
|
3821
|
-
return "unavailable";
|
|
3849
|
+
return {
|
|
3850
|
+
transport,
|
|
3851
|
+
selectedCandidatePair,
|
|
3852
|
+
remoteCandidate,
|
|
3853
|
+
raw: Object.fromEntries(stats)
|
|
3854
|
+
};
|
|
3822
3855
|
});
|
|
3823
3856
|
}
|
|
3824
3857
|
async getStats() {
|
|
3825
|
-
|
|
3826
|
-
|
|
3827
|
-
bytesSent: peer.bytesSent(),
|
|
3828
|
-
bytesReceived: peer.bytesReceived(),
|
|
3829
|
-
packetsSent: 0,
|
|
3830
|
-
packetsReceived: 0
|
|
3831
|
-
};
|
|
3832
|
-
}).catch((err) => {
|
|
3833
|
-
log14.catch(err, void 0, {
|
|
3834
|
-
F: __dxlog_file15,
|
|
3835
|
-
L: 266,
|
|
3836
|
-
S: this,
|
|
3837
|
-
C: (f, a) => f(...a)
|
|
3838
|
-
});
|
|
3858
|
+
const stats = await this._getStats();
|
|
3859
|
+
if (!stats) {
|
|
3839
3860
|
return {
|
|
3840
3861
|
bytesSent: 0,
|
|
3841
3862
|
bytesReceived: 0,
|
|
3842
3863
|
packetsSent: 0,
|
|
3843
|
-
packetsReceived: 0
|
|
3864
|
+
packetsReceived: 0,
|
|
3865
|
+
rawStats: {}
|
|
3844
3866
|
};
|
|
3845
|
-
}
|
|
3867
|
+
}
|
|
3868
|
+
return {
|
|
3869
|
+
bytesSent: stats.transport.bytesSent,
|
|
3870
|
+
bytesReceived: stats.transport.bytesReceived,
|
|
3871
|
+
packetsSent: 0,
|
|
3872
|
+
packetsReceived: 0,
|
|
3873
|
+
rawStats: stats.raw
|
|
3874
|
+
};
|
|
3846
3875
|
}
|
|
3847
3876
|
// TODO(nf): add classmethod to call node-datachannel.cleanup() when all instances have been destroyed?
|
|
3848
3877
|
async destroy() {
|
|
@@ -3861,6 +3890,7 @@ var createLibDataChannelTransportFactory = (webrtcConfig) => ({
|
|
|
3861
3890
|
webrtcConfig
|
|
3862
3891
|
})
|
|
3863
3892
|
});
|
|
3893
|
+
var importESM = Function("path", "return import(path)");
|
|
3864
3894
|
|
|
3865
3895
|
// packages/core/mesh/network-manager/src/transport/tcp-transport.browser.ts
|
|
3866
3896
|
import { Event as Event11 } from "@dxos/async";
|
|
@@ -3937,4 +3967,4 @@ export {
|
|
|
3937
3967
|
TcpTransport,
|
|
3938
3968
|
createTeleportProtocolFactory
|
|
3939
3969
|
};
|
|
3940
|
-
//# sourceMappingURL=chunk-
|
|
3970
|
+
//# sourceMappingURL=chunk-7JESB3AJ.mjs.map
|