@libp2p/webrtc 5.2.23 → 5.2.24-0f07e3df5
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 +10 -20
- package/dist/index.min.js +18 -18
- package/dist/index.min.js.map +4 -4
- package/dist/src/constants.d.ts +0 -23
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +0 -23
- package/dist/src/constants.js.map +1 -1
- package/dist/src/index.d.ts +12 -22
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -22
- package/dist/src/index.js.map +1 -1
- package/dist/src/muxer.d.ts +14 -46
- package/dist/src/muxer.d.ts.map +1 -1
- package/dist/src/muxer.js +32 -135
- package/dist/src/muxer.js.map +1 -1
- package/dist/src/private-to-private/initiate-connection.d.ts +2 -3
- package/dist/src/private-to-private/initiate-connection.d.ts.map +1 -1
- package/dist/src/private-to-private/initiate-connection.js +23 -5
- package/dist/src/private-to-private/initiate-connection.js.map +1 -1
- package/dist/src/private-to-private/signaling-stream-handler.d.ts +4 -4
- package/dist/src/private-to-private/signaling-stream-handler.d.ts.map +1 -1
- package/dist/src/private-to-private/signaling-stream-handler.js +10 -6
- package/dist/src/private-to-private/signaling-stream-handler.js.map +1 -1
- package/dist/src/private-to-private/transport.d.ts +2 -2
- package/dist/src/private-to-private/transport.d.ts.map +1 -1
- package/dist/src/private-to-private/transport.js +30 -15
- package/dist/src/private-to-private/transport.js.map +1 -1
- package/dist/src/private-to-private/util.d.ts +3 -1
- package/dist/src/private-to-private/util.d.ts.map +1 -1
- package/dist/src/private-to-private/util.js +15 -3
- package/dist/src/private-to-private/util.js.map +1 -1
- package/dist/src/private-to-public/listener.d.ts.map +1 -1
- package/dist/src/private-to-public/listener.js +21 -15
- package/dist/src/private-to-public/listener.js.map +1 -1
- package/dist/src/private-to-public/transport.d.ts.map +1 -1
- package/dist/src/private-to-public/transport.js +3 -2
- package/dist/src/private-to-public/transport.js.map +1 -1
- package/dist/src/private-to-public/utils/connect.d.ts +1 -1
- package/dist/src/private-to-public/utils/connect.d.ts.map +1 -1
- package/dist/src/private-to-public/utils/connect.js +18 -15
- package/dist/src/private-to-public/utils/connect.js.map +1 -1
- package/dist/src/private-to-public/utils/get-rtcpeerconnection.d.ts +4 -4
- package/dist/src/private-to-public/utils/get-rtcpeerconnection.d.ts.map +1 -1
- package/dist/src/private-to-public/utils/get-rtcpeerconnection.js +13 -2
- package/dist/src/private-to-public/utils/get-rtcpeerconnection.js.map +1 -1
- package/dist/src/private-to-public/utils/sdp.d.ts.map +1 -1
- package/dist/src/private-to-public/utils/sdp.js +25 -13
- package/dist/src/private-to-public/utils/sdp.js.map +1 -1
- package/dist/src/private-to-public/utils/stun-listener.js +1 -1
- package/dist/src/private-to-public/utils/stun-listener.js.map +1 -1
- package/dist/src/rtcpeerconnection-to-conn.d.ts +12 -0
- package/dist/src/rtcpeerconnection-to-conn.d.ts.map +1 -0
- package/dist/src/rtcpeerconnection-to-conn.js +43 -0
- package/dist/src/rtcpeerconnection-to-conn.js.map +1 -0
- package/dist/src/stream.d.ts +16 -26
- package/dist/src/stream.d.ts.map +1 -1
- package/dist/src/stream.js +65 -167
- package/dist/src/stream.js.map +1 -1
- package/dist/src/util.d.ts +3 -1
- package/dist/src/util.d.ts.map +1 -1
- package/dist/src/util.js +19 -0
- package/dist/src/util.js.map +1 -1
- package/dist/src/webrtc/index.d.ts +1 -1
- package/dist/src/webrtc/index.d.ts.map +1 -1
- package/dist/src/webrtc/index.js +1 -1
- package/dist/src/webrtc/index.js.map +1 -1
- package/package.json +26 -29
- package/src/constants.ts +0 -28
- package/src/index.ts +12 -22
- package/src/muxer.ts +43 -166
- package/src/private-to-private/initiate-connection.ts +30 -8
- package/src/private-to-private/signaling-stream-handler.ts +12 -9
- package/src/private-to-private/transport.ts +33 -17
- package/src/private-to-private/util.ts +21 -4
- package/src/private-to-public/listener.ts +22 -15
- package/src/private-to-public/transport.ts +3 -2
- package/src/private-to-public/utils/connect.ts +19 -16
- package/src/private-to-public/utils/get-rtcpeerconnection.ts +16 -4
- package/src/private-to-public/utils/sdp.ts +29 -13
- package/src/private-to-public/utils/stun-listener.ts +1 -1
- package/src/rtcpeerconnection-to-conn.ts +62 -0
- package/src/stream.ts +78 -195
- package/src/util.ts +22 -1
- package/src/webrtc/index.ts +1 -1
- package/dist/src/maconn.d.ts +0 -58
- package/dist/src/maconn.d.ts.map +0 -1
- package/dist/src/maconn.js +0 -56
- package/dist/src/maconn.js.map +0 -1
- package/dist/typedoc-urls.json +0 -14
- package/src/maconn.ts +0 -101
package/dist/src/stream.js
CHANGED
@@ -1,14 +1,10 @@
|
|
1
|
-
import { StreamStateError
|
2
|
-
import { AbstractStream } from '@libp2p/utils
|
3
|
-
import { anySignal } from 'any-signal';
|
1
|
+
import { StreamStateError } from '@libp2p/interface';
|
2
|
+
import { AbstractStream } from '@libp2p/utils';
|
4
3
|
import * as lengthPrefixed from 'it-length-prefixed';
|
5
4
|
import { pushable } from 'it-pushable';
|
6
|
-
import pDefer from 'p-defer';
|
7
|
-
import pTimeout from 'p-timeout';
|
8
|
-
import { raceEvent } from 'race-event';
|
9
5
|
import { raceSignal } from 'race-signal';
|
10
6
|
import { Uint8ArrayList } from 'uint8arraylist';
|
11
|
-
import {
|
7
|
+
import { MAX_BUFFERED_AMOUNT, MAX_MESSAGE_SIZE, PROTOBUF_OVERHEAD } from './constants.js';
|
12
8
|
import { Message } from './private-to-public/pb/message.js';
|
13
9
|
export class WebRTCStream extends AbstractStream {
|
14
10
|
/**
|
@@ -21,65 +17,20 @@ export class WebRTCStream extends AbstractStream {
|
|
21
17
|
*/
|
22
18
|
incomingData;
|
23
19
|
maxBufferedAmount;
|
24
|
-
|
25
|
-
/**
|
26
|
-
* The maximum size of a message in bytes
|
27
|
-
*/
|
28
|
-
maxMessageSize;
|
29
|
-
/**
|
30
|
-
* When this promise is resolved, the remote has sent us a FIN flag
|
31
|
-
*/
|
32
|
-
receiveFinAck;
|
33
|
-
finAckTimeout;
|
34
|
-
openTimeout;
|
35
|
-
closeController;
|
20
|
+
receivedFinAck;
|
36
21
|
constructor(init) {
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
void Promise.resolve(async () => {
|
42
|
-
if (this.timeline.abort != null || this.timeline.reset !== null) {
|
43
|
-
return;
|
44
|
-
}
|
45
|
-
// wait for FIN_ACK if we haven't received it already
|
46
|
-
try {
|
47
|
-
await pTimeout(this.receiveFinAck.promise, {
|
48
|
-
milliseconds: this.finAckTimeout
|
49
|
-
});
|
50
|
-
}
|
51
|
-
catch (err) {
|
52
|
-
this.log.error('error receiving FIN_ACK', err);
|
53
|
-
}
|
54
|
-
})
|
55
|
-
.then(() => {
|
56
|
-
// stop processing incoming messages
|
57
|
-
this.incomingData.end();
|
58
|
-
// final cleanup
|
59
|
-
originalOnEnd?.(err);
|
60
|
-
})
|
61
|
-
.catch(err => {
|
62
|
-
this.log.error('error ending stream', err);
|
63
|
-
})
|
64
|
-
.finally(() => {
|
65
|
-
this.channel.close();
|
66
|
-
});
|
67
|
-
};
|
68
|
-
super(init);
|
22
|
+
super({
|
23
|
+
...init,
|
24
|
+
maxMessageSize: (init.maxMessageSize ?? MAX_MESSAGE_SIZE) - PROTOBUF_OVERHEAD
|
25
|
+
});
|
69
26
|
this.channel = init.channel;
|
70
27
|
this.channel.binaryType = 'arraybuffer';
|
71
28
|
this.incomingData = pushable();
|
72
|
-
this.bufferedAmountLowEventTimeout = init.bufferedAmountLowEventTimeout ?? BUFFERED_AMOUNT_LOW_TIMEOUT;
|
73
29
|
this.maxBufferedAmount = init.maxBufferedAmount ?? MAX_BUFFERED_AMOUNT;
|
74
|
-
this.
|
75
|
-
this.receiveFinAck = pDefer();
|
76
|
-
this.finAckTimeout = init.closeTimeout ?? FIN_ACK_TIMEOUT;
|
77
|
-
this.openTimeout = init.openTimeout ?? OPEN_TIMEOUT;
|
78
|
-
this.closeController = new AbortController();
|
30
|
+
this.receivedFinAck = Promise.withResolvers();
|
79
31
|
// set up initial state
|
80
32
|
switch (this.channel.readyState) {
|
81
33
|
case 'open':
|
82
|
-
this.timeline.open = new Date().getTime();
|
83
34
|
break;
|
84
35
|
case 'closed':
|
85
36
|
case 'closing':
|
@@ -95,24 +46,13 @@ export class WebRTCStream extends AbstractStream {
|
|
95
46
|
throw new StreamStateError('Unknown datachannel state');
|
96
47
|
}
|
97
48
|
// handle RTCDataChannel events
|
98
|
-
this.channel.onopen = (_evt) => {
|
99
|
-
this.timeline.open = new Date().getTime();
|
100
|
-
};
|
101
49
|
this.channel.onclose = (_evt) => {
|
102
50
|
this.log.trace('received onclose event');
|
103
|
-
|
104
|
-
this.
|
105
|
-
// if the channel has closed we'll never receive a FIN_ACK so resolve the
|
106
|
-
// promise so we don't try to wait later
|
107
|
-
this.receiveFinAck.resolve();
|
108
|
-
void this.close().catch(err => {
|
109
|
-
this.log.error('error closing stream after channel closed', err);
|
110
|
-
});
|
51
|
+
this.onRemoteCloseWrite();
|
52
|
+
this.onTransportClosed();
|
111
53
|
};
|
112
54
|
this.channel.onerror = (evt) => {
|
113
55
|
this.log.trace('received onerror event');
|
114
|
-
// stop any in-progress writes
|
115
|
-
this.closeController.abort();
|
116
56
|
const err = evt.error;
|
117
57
|
this.abort(err);
|
118
58
|
};
|
@@ -123,6 +63,11 @@ export class WebRTCStream extends AbstractStream {
|
|
123
63
|
}
|
124
64
|
this.incomingData.push(new Uint8Array(data, 0, data.byteLength));
|
125
65
|
};
|
66
|
+
// dispatch drain event when the buffered amount drops to zero
|
67
|
+
this.channel.bufferedAmountLowThreshold = 0;
|
68
|
+
this.channel.onbufferedamountlow = () => {
|
69
|
+
this.safeDispatchEvent('drain');
|
70
|
+
};
|
126
71
|
const self = this;
|
127
72
|
// pipe framed protobuf messages through a length prefixed decoder, and
|
128
73
|
// surface data from the `Message.message` field through a source.
|
@@ -130,84 +75,52 @@ export class WebRTCStream extends AbstractStream {
|
|
130
75
|
for await (const buf of lengthPrefixed.decode(this.incomingData)) {
|
131
76
|
const message = self.processIncomingProtobuf(buf);
|
132
77
|
if (message != null) {
|
133
|
-
self.
|
78
|
+
self.onData(new Uint8ArrayList(message));
|
134
79
|
}
|
135
80
|
}
|
136
81
|
})
|
137
82
|
.catch(err => {
|
138
83
|
this.log.error('error processing incoming data channel messages', err);
|
139
84
|
});
|
85
|
+
// clean up the datachannel when both ends have sent a FIN
|
86
|
+
const webRTCStreamOnClose = () => {
|
87
|
+
this.channel.close();
|
88
|
+
};
|
89
|
+
this.addEventListener('close', webRTCStreamOnClose);
|
140
90
|
}
|
141
91
|
sendNewStream() {
|
142
92
|
// opening new streams is handled by WebRTC so this is a noop
|
143
93
|
}
|
144
|
-
|
94
|
+
_sendMessage(data) {
|
145
95
|
if (this.channel.readyState === 'closed' || this.channel.readyState === 'closing') {
|
146
96
|
throw new StreamStateError(`Invalid datachannel state - ${this.channel.readyState}`);
|
147
97
|
}
|
148
|
-
if (this.channel.readyState !== 'open') {
|
149
|
-
const timeout = AbortSignal.timeout(this.openTimeout);
|
150
|
-
const signal = anySignal([
|
151
|
-
this.closeController.signal,
|
152
|
-
timeout
|
153
|
-
]);
|
154
|
-
try {
|
155
|
-
this.log('channel state is "%s" and not "open", waiting for "open" event before sending data', this.channel.readyState);
|
156
|
-
await raceEvent(this.channel, 'open', signal);
|
157
|
-
}
|
158
|
-
finally {
|
159
|
-
signal.clear();
|
160
|
-
}
|
161
|
-
this.log('channel state is now "%s", sending data', this.channel.readyState);
|
162
|
-
}
|
163
|
-
if (checkBuffer && this.channel.bufferedAmount > this.maxBufferedAmount) {
|
164
|
-
const timeout = AbortSignal.timeout(this.bufferedAmountLowEventTimeout);
|
165
|
-
const signal = anySignal([
|
166
|
-
this.closeController.signal,
|
167
|
-
timeout
|
168
|
-
]);
|
169
|
-
try {
|
170
|
-
this.log('channel buffer is %d, wait for "bufferedamountlow" event', this.channel.bufferedAmount);
|
171
|
-
await raceEvent(this.channel, 'bufferedamountlow', signal);
|
172
|
-
}
|
173
|
-
catch (err) {
|
174
|
-
if (timeout.aborted) {
|
175
|
-
throw new TimeoutError(`Timed out waiting for DataChannel buffer to clear after ${this.bufferedAmountLowEventTimeout}ms`);
|
176
|
-
}
|
177
|
-
throw err;
|
178
|
-
}
|
179
|
-
finally {
|
180
|
-
signal.clear();
|
181
|
-
}
|
182
|
-
}
|
183
98
|
try {
|
184
99
|
this.log.trace('sending message, channel state "%s"', this.channel.readyState);
|
185
100
|
// send message without copying data
|
186
|
-
|
101
|
+
for (const buf of data) {
|
102
|
+
this.channel.send(buf);
|
103
|
+
}
|
187
104
|
}
|
188
105
|
catch (err) {
|
189
106
|
this.log.error('error while sending message', err);
|
190
107
|
}
|
191
108
|
}
|
192
|
-
|
193
|
-
const
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
this.log.trace('sending %d/%d bytes on channel', buf.byteLength, bytesTotal);
|
203
|
-
await this._sendMessage(sendBuf);
|
204
|
-
data.consume(toSend);
|
205
|
-
}
|
206
|
-
this.log.trace('finished sending data, channel state "%s"', this.channel.readyState);
|
109
|
+
sendData(data) {
|
110
|
+
const messageBuf = Message.encode({
|
111
|
+
message: data.subarray()
|
112
|
+
});
|
113
|
+
const prefixedBuf = lengthPrefixed.encode.single(messageBuf);
|
114
|
+
this._sendMessage(prefixedBuf);
|
115
|
+
return {
|
116
|
+
sentBytes: data.byteLength,
|
117
|
+
canSendMore: this.channel.bufferedAmount < this.maxBufferedAmount
|
118
|
+
};
|
207
119
|
}
|
208
|
-
|
120
|
+
sendReset() {
|
121
|
+
this.receivedFinAck.resolve();
|
209
122
|
try {
|
210
|
-
|
123
|
+
this._sendFlag(Message.Flag.RESET);
|
211
124
|
}
|
212
125
|
catch (err) {
|
213
126
|
this.log.error('failed to send reset - %e', err);
|
@@ -217,34 +130,16 @@ export class WebRTCStream extends AbstractStream {
|
|
217
130
|
}
|
218
131
|
}
|
219
132
|
async sendCloseWrite(options) {
|
220
|
-
if (this.channel.readyState
|
221
|
-
this.
|
222
|
-
return;
|
223
|
-
}
|
224
|
-
const sent = await this._sendFlag(Message.Flag.FIN);
|
225
|
-
if (sent) {
|
226
|
-
this.log.trace('awaiting FIN_ACK');
|
227
|
-
try {
|
228
|
-
await raceSignal(this.receiveFinAck.promise, options?.signal, {
|
229
|
-
errorMessage: 'sending close-write was aborted before FIN_ACK was received',
|
230
|
-
errorName: 'FinAckNotReceivedError'
|
231
|
-
});
|
232
|
-
}
|
233
|
-
catch (err) {
|
234
|
-
this.log.error('failed to await FIN_ACK', err);
|
235
|
-
}
|
133
|
+
if (this.channel.readyState === 'open') {
|
134
|
+
this._sendFlag(Message.Flag.FIN);
|
236
135
|
}
|
237
|
-
|
238
|
-
this.log.trace('sending FIN failed, not awaiting FIN_ACK');
|
239
|
-
}
|
240
|
-
// if we've attempted to receive a FIN_ACK, do not try again
|
241
|
-
this.receiveFinAck.resolve();
|
136
|
+
await raceSignal(this.receivedFinAck.promise, options?.signal);
|
242
137
|
}
|
243
|
-
async sendCloseRead() {
|
244
|
-
if (this.channel.readyState
|
245
|
-
|
138
|
+
async sendCloseRead(options) {
|
139
|
+
if (this.channel.readyState === 'open') {
|
140
|
+
this._sendFlag(Message.Flag.STOP_SENDING);
|
246
141
|
}
|
247
|
-
|
142
|
+
options?.signal?.throwIfAborted();
|
248
143
|
}
|
249
144
|
/**
|
250
145
|
* Handle incoming
|
@@ -255,32 +150,28 @@ export class WebRTCStream extends AbstractStream {
|
|
255
150
|
this.log.trace('incoming flag %s, write status "%s", read status "%s"', message.flag, this.writeStatus, this.readStatus);
|
256
151
|
if (message.flag === Message.Flag.FIN) {
|
257
152
|
// We should expect no more data from the remote, stop reading
|
258
|
-
this.
|
259
|
-
this.
|
260
|
-
void this._sendFlag(Message.Flag.FIN_ACK)
|
261
|
-
.catch(err => {
|
262
|
-
this.log.error('error sending FIN_ACK immediately', err);
|
263
|
-
});
|
153
|
+
this.onRemoteCloseWrite();
|
154
|
+
this._sendFlag(Message.Flag.FIN_ACK);
|
264
155
|
}
|
265
156
|
if (message.flag === Message.Flag.RESET) {
|
157
|
+
this.receivedFinAck.resolve();
|
266
158
|
// Stop reading and writing to the stream immediately
|
267
|
-
this.
|
159
|
+
this.onRemoteReset();
|
268
160
|
}
|
269
161
|
if (message.flag === Message.Flag.STOP_SENDING) {
|
270
162
|
// The remote has stopped reading
|
271
|
-
this.
|
163
|
+
this.onRemoteCloseRead();
|
272
164
|
}
|
273
165
|
if (message.flag === Message.Flag.FIN_ACK) {
|
274
|
-
this.
|
275
|
-
this.receiveFinAck.resolve();
|
166
|
+
this.receivedFinAck.resolve();
|
276
167
|
}
|
277
168
|
}
|
278
169
|
// ignore data messages if we've closed the readable end already
|
279
|
-
if (this.readStatus === '
|
170
|
+
if (this.readStatus === 'readable' || this.readStatus === 'paused') {
|
280
171
|
return message.message;
|
281
172
|
}
|
282
173
|
}
|
283
|
-
|
174
|
+
_sendFlag(flag) {
|
284
175
|
if (this.channel.readyState !== 'open') {
|
285
176
|
// flags can be sent while we or the remote are closing the datachannel so
|
286
177
|
// if the channel isn't open, don't try to send it but return false to let
|
@@ -292,7 +183,7 @@ export class WebRTCStream extends AbstractStream {
|
|
292
183
|
const messageBuf = Message.encode({ flag });
|
293
184
|
const prefixedBuf = lengthPrefixed.encode.single(messageBuf);
|
294
185
|
try {
|
295
|
-
|
186
|
+
this._sendMessage(prefixedBuf);
|
296
187
|
return true;
|
297
188
|
}
|
298
189
|
catch (err) {
|
@@ -300,13 +191,20 @@ export class WebRTCStream extends AbstractStream {
|
|
300
191
|
}
|
301
192
|
return false;
|
302
193
|
}
|
194
|
+
sendPause() {
|
195
|
+
// TODO: read backpressure?
|
196
|
+
}
|
197
|
+
sendResume() {
|
198
|
+
// TODO: read backpressure?
|
199
|
+
}
|
303
200
|
}
|
304
201
|
export function createStream(options) {
|
305
|
-
const { channel, direction,
|
202
|
+
const { channel, direction, isHandshake } = options;
|
306
203
|
return new WebRTCStream({
|
204
|
+
...options,
|
307
205
|
id: `${channel.id}`,
|
308
|
-
log: options.
|
309
|
-
|
206
|
+
log: options.log.newScope(`${isHandshake === true ? 'handshake' : direction}:${channel.id}`),
|
207
|
+
protocol: ''
|
310
208
|
});
|
311
209
|
}
|
312
210
|
//# sourceMappingURL=stream.js.map
|
package/dist/src/stream.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/src/util.d.ts
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
-
import type { PeerConnection } from '@ipshipyard/node-datachannel';
|
2
1
|
import type { LoggerOptions } from '@libp2p/interface';
|
2
|
+
import type { Duplex } from 'it-stream-types';
|
3
|
+
import type { PeerConnection } from 'node-datachannel';
|
3
4
|
export declare const isFirefox: boolean;
|
4
5
|
export declare const nopSource: () => AsyncGenerator<Uint8Array, any, unknown>;
|
5
6
|
export declare const nopSink: (_: any) => Promise<void>;
|
7
|
+
export declare function inertDuplex(): Duplex<any, any, any>;
|
6
8
|
export declare function drainAndClose(channel: RTCDataChannel, direction: string, drainTimeout: number | undefined, options: LoggerOptions): void;
|
7
9
|
export interface AbortPromiseOptions {
|
8
10
|
signal?: AbortSignal;
|
package/dist/src/util.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGtD,eAAO,MAAM,SAAS,SAAoD,CAAA;AAE1E,eAAO,MAAM,SAAS,QAA4B,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAI,CAAA;AAE7F,eAAO,MAAM,OAAO,GAAU,GAAG,GAAG,KAAG,OAAO,CAAC,IAAI,CAAO,CAAA;AAG1D,wBAAgB,WAAW,IAAK,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAiBpD;AAED,wBAAgB,aAAa,CAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,YAA6B,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CA8C1J;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,cAAc,CAEjE;AAED,wBAAsB,mBAAmB,CAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CActJ;AAED,eAAO,MAAM,QAAQ,GAAI,MAAK,MAAW,KAAG,MAE3C,CAAA"}
|
package/dist/src/util.js
CHANGED
@@ -6,6 +6,25 @@ const browser = detect();
|
|
6
6
|
export const isFirefox = ((browser != null) && browser.name === 'firefox');
|
7
7
|
export const nopSource = async function* nop() { };
|
8
8
|
export const nopSink = async (_) => { };
|
9
|
+
// Duplex that does nothing. Needed to fulfill the interface
|
10
|
+
export function inertDuplex() {
|
11
|
+
return {
|
12
|
+
source: {
|
13
|
+
[Symbol.asyncIterator]() {
|
14
|
+
return {
|
15
|
+
async next() {
|
16
|
+
// This will never resolve
|
17
|
+
return new Promise(() => { });
|
18
|
+
}
|
19
|
+
};
|
20
|
+
}
|
21
|
+
},
|
22
|
+
sink: async (source) => {
|
23
|
+
// This will never resolve
|
24
|
+
return new Promise(() => { });
|
25
|
+
}
|
26
|
+
};
|
27
|
+
}
|
9
28
|
export function drainAndClose(channel, direction, drainTimeout = DATA_CHANNEL_DRAIN_TIMEOUT, options) {
|
10
29
|
if (channel.readyState !== 'open') {
|
11
30
|
return;
|
package/dist/src/util.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export { RTCSessionDescription, RTCIceCandidate, RTCPeerConnection } from '
|
1
|
+
export { RTCSessionDescription, RTCIceCandidate, RTCPeerConnection } from 'node-datachannel/polyfill';
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/webrtc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/webrtc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA"}
|
package/dist/src/webrtc/index.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export { RTCSessionDescription, RTCIceCandidate, RTCPeerConnection } from '
|
1
|
+
export { RTCSessionDescription, RTCIceCandidate, RTCPeerConnection } from 'node-datachannel/polyfill';
|
2
2
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/webrtc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/webrtc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@libp2p/webrtc",
|
3
|
-
"version": "5.2.
|
3
|
+
"version": "5.2.24-0f07e3df5",
|
4
4
|
"description": "A libp2p transport using WebRTC connections",
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/transport-webrtc#readme",
|
@@ -45,52 +45,49 @@
|
|
45
45
|
},
|
46
46
|
"dependencies": {
|
47
47
|
"@chainsafe/is-ip": "^2.1.0",
|
48
|
-
"@
|
49
|
-
"@
|
50
|
-
"@libp2p/
|
51
|
-
"@libp2p/
|
52
|
-
"@libp2p/
|
53
|
-
"@libp2p/
|
54
|
-
"@libp2p/
|
55
|
-
"@
|
56
|
-
"@multiformats/multiaddr": "^
|
57
|
-
"@multiformats/multiaddr-matcher": "^2.0.0",
|
48
|
+
"@libp2p/crypto": "5.1.8-0f07e3df5",
|
49
|
+
"@libp2p/interface": "2.11.0-0f07e3df5",
|
50
|
+
"@libp2p/interface-internal": "2.3.19-0f07e3df5",
|
51
|
+
"@libp2p/keychain": "5.2.9-0f07e3df5",
|
52
|
+
"@libp2p/noise": "16.1.4-0f07e3df5",
|
53
|
+
"@libp2p/peer-id": "5.1.9-0f07e3df5",
|
54
|
+
"@libp2p/utils": "6.7.2-0f07e3df5",
|
55
|
+
"@multiformats/multiaddr": "^13.0.1",
|
56
|
+
"@multiformats/multiaddr-matcher": "^3.0.1",
|
58
57
|
"@peculiar/webcrypto": "^1.5.0",
|
59
|
-
"@peculiar/x509": "^1.
|
60
|
-
"any-signal": "^4.1.1",
|
58
|
+
"@peculiar/x509": "^1.13.0",
|
61
59
|
"detect-browser": "^5.3.0",
|
62
60
|
"get-port": "^7.1.0",
|
63
|
-
"interface-datastore": "^8.3.
|
61
|
+
"interface-datastore": "^8.3.2",
|
64
62
|
"it-length-prefixed": "^10.0.1",
|
65
|
-
"it-protobuf-stream": "^2.0.
|
63
|
+
"it-protobuf-stream": "^2.0.3",
|
66
64
|
"it-pushable": "^3.2.3",
|
67
65
|
"it-stream-types": "^2.0.2",
|
68
66
|
"main-event": "^1.0.1",
|
69
|
-
"multiformats": "^13.
|
67
|
+
"multiformats": "^13.4.0",
|
68
|
+
"node-datachannel": "^0.29.0",
|
70
69
|
"p-defer": "^4.0.1",
|
70
|
+
"p-event": "^6.0.1",
|
71
71
|
"p-timeout": "^6.1.4",
|
72
72
|
"p-wait-for": "^5.0.2",
|
73
73
|
"progress-events": "^1.0.1",
|
74
|
-
"protons-runtime": "^5.
|
75
|
-
"race-
|
76
|
-
"
|
77
|
-
"react-native-webrtc": "^124.0.5",
|
74
|
+
"protons-runtime": "^5.6.0",
|
75
|
+
"race-signal": "^2.0.0",
|
76
|
+
"react-native-webrtc": "^124.0.6",
|
78
77
|
"uint8-varint": "^2.0.4",
|
79
78
|
"uint8arraylist": "^2.4.8",
|
80
79
|
"uint8arrays": "^5.1.0"
|
81
80
|
},
|
82
81
|
"devDependencies": {
|
83
|
-
"@libp2p/
|
84
|
-
"@libp2p/logger": "^5.1.21",
|
82
|
+
"@libp2p/logger": "5.2.0-0f07e3df5",
|
85
83
|
"@types/sinon": "^17.0.4",
|
86
|
-
"aegir": "^47.0.
|
87
|
-
"
|
84
|
+
"aegir": "^47.0.21",
|
85
|
+
"any-signal": "^4.1.1",
|
86
|
+
"datastore-core": "^10.0.4",
|
88
87
|
"delay": "^6.0.0",
|
89
|
-
"
|
90
|
-
"
|
91
|
-
"
|
92
|
-
"protons": "^7.6.1",
|
93
|
-
"sinon": "^20.0.0",
|
88
|
+
"p-retry": "^7.0.0",
|
89
|
+
"protons": "^7.7.0",
|
90
|
+
"sinon": "^21.0.0",
|
94
91
|
"sinon-ts": "^2.0.0",
|
95
92
|
"wherearewe": "^2.0.1"
|
96
93
|
},
|
package/src/constants.ts
CHANGED
@@ -26,26 +26,11 @@ export const UFRAG_ALPHABET = Array.from('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL
|
|
26
26
|
*/
|
27
27
|
export const UFRAG_PREFIX = 'libp2p+webrtc+v1/'
|
28
28
|
|
29
|
-
/**
|
30
|
-
* The multicodec code for webrtc-direct tuples
|
31
|
-
*/
|
32
|
-
export const CODEC_WEBRTC_DIRECT = 0x0118
|
33
|
-
|
34
|
-
/**
|
35
|
-
* The multicodec code for certhash tuples
|
36
|
-
*/
|
37
|
-
export const CODEC_CERTHASH = 0x01d2
|
38
|
-
|
39
29
|
/**
|
40
30
|
* How much can be buffered to the DataChannel at once
|
41
31
|
*/
|
42
32
|
export const MAX_BUFFERED_AMOUNT = 2 * 1024 * 1024
|
43
33
|
|
44
|
-
/**
|
45
|
-
* How long time we wait for the 'bufferedamountlow' event to be emitted
|
46
|
-
*/
|
47
|
-
export const BUFFERED_AMOUNT_LOW_TIMEOUT = 30 * 1000
|
48
|
-
|
49
34
|
/**
|
50
35
|
* Max message size that can be sent to the DataChannel. In browsers this is
|
51
36
|
* 256KiB but go-libp2p and rust-libp2p only support 16KiB at the time of
|
@@ -82,19 +67,6 @@ function calculateProtobufOverhead (maxMessageSize = MAX_MESSAGE_SIZE): number {
|
|
82
67
|
*/
|
83
68
|
export const PROTOBUF_OVERHEAD = calculateProtobufOverhead()
|
84
69
|
|
85
|
-
/**
|
86
|
-
* When closing streams we send a FIN then wait for the remote to
|
87
|
-
* reply with a FIN_ACK. If that does not happen within this timeout
|
88
|
-
* we close the stream anyway.
|
89
|
-
*/
|
90
|
-
export const FIN_ACK_TIMEOUT = 5_000
|
91
|
-
|
92
|
-
/**
|
93
|
-
* When sending data messages, if the channel is not in the "open" state, wait
|
94
|
-
* this long for the "open" event to fire.
|
95
|
-
*/
|
96
|
-
export const OPEN_TIMEOUT = 5_000
|
97
|
-
|
98
70
|
/**
|
99
71
|
* When closing a stream, we wait for `bufferedAmount` to become 0 before
|
100
72
|
* closing the underlying RTCDataChannel - this controls how long we wait in ms
|