@libp2p/webrtc 1.2.0 → 2.0.1
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 +3 -3
- package/dist/index.min.js +19 -16
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/maconn.d.ts.map +1 -1
- package/dist/src/maconn.js +5 -0
- package/dist/src/maconn.js.map +1 -1
- package/dist/src/pb/message.d.ts +20 -0
- package/dist/src/pb/message.d.ts.map +1 -0
- package/dist/src/pb/message.js +73 -0
- package/dist/src/pb/message.js.map +1 -0
- package/dist/src/{peer_transport → private-to-private}/handler.d.ts +10 -2
- package/dist/src/private-to-private/handler.d.ts.map +1 -0
- package/dist/src/{peer_transport → private-to-private}/handler.js +23 -11
- package/dist/src/private-to-private/handler.js.map +1 -0
- package/dist/src/{peer_transport → private-to-private}/listener.d.ts +6 -7
- package/dist/src/private-to-private/listener.d.ts.map +1 -0
- package/dist/src/private-to-private/listener.js +35 -0
- package/dist/src/private-to-private/listener.js.map +1 -0
- package/dist/src/{peer_transport/pb/index.d.ts → private-to-private/pb/message.d.ts} +2 -2
- package/dist/src/private-to-private/pb/message.d.ts.map +1 -0
- package/dist/src/{peer_transport/pb/index.js → private-to-private/pb/message.js} +1 -1
- package/dist/src/private-to-private/pb/message.js.map +1 -0
- package/dist/src/{peer_transport → private-to-private}/transport.d.ts +4 -6
- package/dist/src/private-to-private/transport.d.ts.map +1 -0
- package/dist/src/{peer_transport → private-to-private}/transport.js +21 -20
- package/dist/src/private-to-private/transport.js.map +1 -0
- package/dist/src/{peer_transport → private-to-private}/util.d.ts +3 -4
- package/dist/src/private-to-private/util.d.ts.map +1 -0
- package/dist/src/{peer_transport → private-to-private}/util.js +4 -6
- package/dist/src/private-to-private/util.js.map +1 -0
- package/dist/src/private-to-public/options.d.ts.map +1 -0
- package/dist/src/private-to-public/options.js.map +1 -0
- package/dist/src/private-to-public/sdp.d.ts.map +1 -0
- package/dist/src/{sdp.js → private-to-public/sdp.js} +1 -1
- package/dist/src/private-to-public/sdp.js.map +1 -0
- package/dist/src/private-to-public/transport.d.ts.map +1 -0
- package/dist/src/{transport.js → private-to-public/transport.js} +10 -12
- package/dist/src/private-to-public/transport.js.map +1 -0
- package/dist/src/private-to-public/util.d.ts +2 -0
- package/dist/src/private-to-public/util.d.ts.map +1 -0
- package/dist/src/private-to-public/util.js +3 -0
- package/dist/src/private-to-public/util.js.map +1 -0
- package/dist/src/stream.d.ts +2 -2
- package/dist/src/stream.d.ts.map +1 -1
- package/dist/src/stream.js +17 -17
- package/dist/src/stream.js.map +1 -1
- package/dist/src/util.d.ts +1 -1
- package/dist/src/util.d.ts.map +1 -1
- package/dist/src/util.js +3 -2
- package/dist/src/util.js.map +1 -1
- package/package.json +11 -16
- package/src/index.ts +3 -3
- package/src/maconn.ts +6 -0
- package/src/{message.proto → pb/message.proto} +2 -4
- package/src/pb/message.ts +92 -0
- package/src/{peer_transport → private-to-private}/handler.ts +32 -14
- package/src/private-to-private/listener.ts +55 -0
- package/src/{peer_transport/pb/index.ts → private-to-private/pb/message.ts} +1 -1
- package/src/{peer_transport → private-to-private}/transport.ts +29 -24
- package/src/{peer_transport → private-to-private}/util.ts +6 -9
- package/src/{sdp.ts → private-to-public/sdp.ts} +1 -1
- package/src/{transport.ts → private-to-public/transport.ts} +10 -12
- package/src/private-to-public/util.ts +3 -0
- package/src/stream.ts +19 -19
- package/src/util.ts +5 -3
- package/dist/proto_ts/message.d.ts +0 -56
- package/dist/proto_ts/message.d.ts.map +0 -1
- package/dist/proto_ts/message.js +0 -86
- package/dist/proto_ts/message.js.map +0 -1
- package/dist/src/options.d.ts.map +0 -1
- package/dist/src/options.js.map +0 -1
- package/dist/src/peer_transport/handler.d.ts.map +0 -1
- package/dist/src/peer_transport/handler.js.map +0 -1
- package/dist/src/peer_transport/listener.d.ts.map +0 -1
- package/dist/src/peer_transport/listener.js +0 -33
- package/dist/src/peer_transport/listener.js.map +0 -1
- package/dist/src/peer_transport/pb/index.d.ts.map +0 -1
- package/dist/src/peer_transport/pb/index.js.map +0 -1
- package/dist/src/peer_transport/transport.d.ts.map +0 -1
- package/dist/src/peer_transport/transport.js.map +0 -1
- package/dist/src/peer_transport/util.d.ts.map +0 -1
- package/dist/src/peer_transport/util.js.map +0 -1
- package/dist/src/sdp.d.ts.map +0 -1
- package/dist/src/sdp.js.map +0 -1
- package/dist/src/transport.d.ts.map +0 -1
- package/dist/src/transport.js.map +0 -1
- package/proto_ts/message.ts +0 -106
- package/src/peer_transport/listener.ts +0 -44
- /package/dist/src/{options.d.ts → private-to-public/options.d.ts} +0 -0
- /package/dist/src/{options.js → private-to-public/options.js} +0 -0
- /package/dist/src/{sdp.d.ts → private-to-public/sdp.d.ts} +0 -0
- /package/dist/src/{transport.d.ts → private-to-public/transport.d.ts} +0 -0
- /package/src/{peer_transport/pb/index.proto → private-to-private/pb/message.proto} +0 -0
- /package/src/{options.ts → private-to-public/options.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdp.d.ts","sourceRoot":"","sources":["../../../src/private-to-public/sdp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAIrD;;GAEG;AAEH,eAAO,MAAM,SAAS,EAAE,GAAwE,CAAA;AAEhG,wBAAgB,mBAAmB,CAAE,EAAE,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAwB9E;AAGD,wBAAgB,qBAAqB,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGtE;AAiBD,wBAAgB,QAAQ,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM,CAS/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAGxH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM,EAAE,CAWvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,CAW3E;AA2BD;;GAEG;AACH,wBAAgB,aAAa,CAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAKtF;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAShG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { logger } from '@libp2p/logger';
|
|
2
2
|
import { bases } from 'multiformats/basics';
|
|
3
3
|
import * as multihashes from 'multihashes';
|
|
4
|
-
import { inappropriateMultiaddr, invalidArgument, invalidFingerprint, unsupportedHashAlgorithm } from '
|
|
4
|
+
import { inappropriateMultiaddr, invalidArgument, invalidFingerprint, unsupportedHashAlgorithm } from '../error.js';
|
|
5
5
|
import { CERTHASH_CODE } from './transport.js';
|
|
6
6
|
const log = logger('libp2p:webrtc:sdp');
|
|
7
7
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdp.js","sourceRoot":"","sources":["../../../src/private-to-public/sdp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/private-to-public/transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAc/G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AASxD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAwC,CAAA;AAElE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAmC,CAAA;AAE/D;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,qBAAa,qBAAsB,YAAW,SAAS;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;gBAE/C,UAAU,EAAE,+BAA+B;IAYxD;;OAEG;IACG,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAM3E;;OAEG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ;IAIzD;;OAEG;IACH,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAI7C;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,2BAA0B;IAEvD;;OAEG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAO;IAExB;;OAEG;IACG,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAwI/E;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAkB9B"}
|
|
@@ -6,12 +6,12 @@ import { protocols } from '@multiformats/multiaddr';
|
|
|
6
6
|
import * as multihashes from 'multihashes';
|
|
7
7
|
import { concat } from 'uint8arrays/concat';
|
|
8
8
|
import { fromString as uint8arrayFromString } from 'uint8arrays/from-string';
|
|
9
|
-
import { dataChannelError, inappropriateMultiaddr, unimplemented, invalidArgument } from '
|
|
10
|
-
import { WebRTCMultiaddrConnection } from '
|
|
11
|
-
import { DataChannelMuxerFactory } from '
|
|
12
|
-
import {
|
|
9
|
+
import { dataChannelError, inappropriateMultiaddr, unimplemented, invalidArgument } from '../error.js';
|
|
10
|
+
import { WebRTCMultiaddrConnection } from '../maconn.js';
|
|
11
|
+
import { DataChannelMuxerFactory } from '../muxer.js';
|
|
12
|
+
import { WebRTCStream } from '../stream.js';
|
|
13
|
+
import { isFirefox } from '../util.js';
|
|
13
14
|
import * as sdp from './sdp.js';
|
|
14
|
-
import { WebRTCStream } from './stream.js';
|
|
15
15
|
import { genUfrag } from './util.js';
|
|
16
16
|
const log = logger('libp2p:webrtc:transport');
|
|
17
17
|
/**
|
|
@@ -145,15 +145,13 @@ export class WebRTCDirectTransport {
|
|
|
145
145
|
const wrappedDuplex = {
|
|
146
146
|
...wrappedChannel,
|
|
147
147
|
sink: wrappedChannel.sink.bind(wrappedChannel),
|
|
148
|
-
source: {
|
|
149
|
-
|
|
150
|
-
for
|
|
151
|
-
|
|
152
|
-
yield buf;
|
|
153
|
-
}
|
|
148
|
+
source: (async function* () {
|
|
149
|
+
for await (const list of wrappedChannel.source) {
|
|
150
|
+
for (const buf of list) {
|
|
151
|
+
yield buf;
|
|
154
152
|
}
|
|
155
153
|
}
|
|
156
|
-
}
|
|
154
|
+
}())
|
|
157
155
|
};
|
|
158
156
|
// Creating the connection before completion of the noise
|
|
159
157
|
// handshake ensures that the stream opening callback is set up
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/private-to-public/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/private-to-public/util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,QAAS,MAAM,KAAG,MAAoG,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/private-to-public/util.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;AAC9F,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA"}
|
package/dist/src/stream.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type DeferredPromise } from 'p-defer';
|
|
2
2
|
import { Uint8ArrayList } from 'uint8arraylist';
|
|
3
|
-
import
|
|
3
|
+
import { Message } from './pb/message.js';
|
|
4
4
|
import type { Stream, StreamStat, Direction } from '@libp2p/interface-connection';
|
|
5
5
|
import type { Source } from 'it-stream-types';
|
|
6
6
|
/**
|
|
@@ -41,7 +41,7 @@ interface StreamStateInput {
|
|
|
41
41
|
* 1 = STOP_SENDING
|
|
42
42
|
* 2 = RESET
|
|
43
43
|
*/
|
|
44
|
-
flag:
|
|
44
|
+
flag: Message.Flag;
|
|
45
45
|
}
|
|
46
46
|
export declare enum StreamStates {
|
|
47
47
|
OPEN = 0,
|
package/dist/src/stream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAKA,OAAc,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/src/stream.js
CHANGED
|
@@ -5,7 +5,7 @@ import { pipe } from 'it-pipe';
|
|
|
5
5
|
import { pushable } from 'it-pushable';
|
|
6
6
|
import defer from 'p-defer';
|
|
7
7
|
import { Uint8ArrayList } from 'uint8arraylist';
|
|
8
|
-
import
|
|
8
|
+
import { Message } from './pb/message.js';
|
|
9
9
|
const log = logger('libp2p:webrtc:stream');
|
|
10
10
|
/**
|
|
11
11
|
* Constructs a default StreamStat
|
|
@@ -44,7 +44,7 @@ class StreamState {
|
|
|
44
44
|
}
|
|
45
45
|
if (direction === 'inbound') {
|
|
46
46
|
switch (flag) {
|
|
47
|
-
case
|
|
47
|
+
case Message.Flag.FIN:
|
|
48
48
|
if (this.state === StreamStates.OPEN) {
|
|
49
49
|
this.state = StreamStates.READ_CLOSED;
|
|
50
50
|
}
|
|
@@ -52,7 +52,7 @@ class StreamState {
|
|
|
52
52
|
this.state = StreamStates.CLOSED;
|
|
53
53
|
}
|
|
54
54
|
break;
|
|
55
|
-
case
|
|
55
|
+
case Message.Flag.STOP_SENDING:
|
|
56
56
|
if (this.state === StreamStates.OPEN) {
|
|
57
57
|
this.state = StreamStates.WRITE_CLOSED;
|
|
58
58
|
}
|
|
@@ -60,7 +60,7 @@ class StreamState {
|
|
|
60
60
|
this.state = StreamStates.CLOSED;
|
|
61
61
|
}
|
|
62
62
|
break;
|
|
63
|
-
case
|
|
63
|
+
case Message.Flag.RESET:
|
|
64
64
|
this.state = StreamStates.CLOSED;
|
|
65
65
|
break;
|
|
66
66
|
default:
|
|
@@ -69,7 +69,7 @@ class StreamState {
|
|
|
69
69
|
}
|
|
70
70
|
else {
|
|
71
71
|
switch (flag) {
|
|
72
|
-
case
|
|
72
|
+
case Message.Flag.FIN:
|
|
73
73
|
if (this.state === StreamStates.OPEN) {
|
|
74
74
|
this.state = StreamStates.WRITE_CLOSED;
|
|
75
75
|
}
|
|
@@ -77,7 +77,7 @@ class StreamState {
|
|
|
77
77
|
this.state = StreamStates.CLOSED;
|
|
78
78
|
}
|
|
79
79
|
break;
|
|
80
|
-
case
|
|
80
|
+
case Message.Flag.STOP_SENDING:
|
|
81
81
|
if (this.state === StreamStates.OPEN) {
|
|
82
82
|
this.state = StreamStates.READ_CLOSED;
|
|
83
83
|
}
|
|
@@ -85,7 +85,7 @@ class StreamState {
|
|
|
85
85
|
this.state = StreamStates.CLOSED;
|
|
86
86
|
}
|
|
87
87
|
break;
|
|
88
|
-
case
|
|
88
|
+
case Message.Flag.RESET:
|
|
89
89
|
this.state = StreamStates.CLOSED;
|
|
90
90
|
break;
|
|
91
91
|
default:
|
|
@@ -189,7 +189,7 @@ export class WebRTCStream {
|
|
|
189
189
|
};
|
|
190
190
|
// pipe framed protobuf messages through a length prefixed decoder, and
|
|
191
191
|
// surface data from the `Message.message` field through a source.
|
|
192
|
-
this._src = pipe(this._innersrc, lengthPrefixed.decode(), (source) => (async function* () {
|
|
192
|
+
this._src = pipe(this._innersrc, (source) => lengthPrefixed.decode(source), (source) => (async function* () {
|
|
193
193
|
for await (const buf of source) {
|
|
194
194
|
const message = self.processIncomingProtobuf(buf.subarray());
|
|
195
195
|
if (message != null) {
|
|
@@ -229,7 +229,7 @@ export class WebRTCStream {
|
|
|
229
229
|
if (this.streamState.isWriteClosed()) {
|
|
230
230
|
return;
|
|
231
231
|
}
|
|
232
|
-
const msgbuf =
|
|
232
|
+
const msgbuf = Message.encode({ message: buf.subarray() });
|
|
233
233
|
const sendbuf = lengthPrefixed.encode.single(msgbuf);
|
|
234
234
|
this.channel.send(sendbuf.subarray());
|
|
235
235
|
}
|
|
@@ -238,7 +238,7 @@ export class WebRTCStream {
|
|
|
238
238
|
* Handle incoming
|
|
239
239
|
*/
|
|
240
240
|
processIncomingProtobuf(buffer) {
|
|
241
|
-
const message =
|
|
241
|
+
const message = Message.decode(buffer);
|
|
242
242
|
if (message.flag !== undefined) {
|
|
243
243
|
const [currentState, nextState] = this.streamState.transition({ direction: 'inbound', flag: message.flag });
|
|
244
244
|
if (currentState !== nextState) {
|
|
@@ -279,13 +279,13 @@ export class WebRTCStream {
|
|
|
279
279
|
* Close a stream for reading only
|
|
280
280
|
*/
|
|
281
281
|
closeRead() {
|
|
282
|
-
const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag:
|
|
282
|
+
const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag: Message.Flag.STOP_SENDING });
|
|
283
283
|
if (currentState === nextState) {
|
|
284
284
|
// No change, no op
|
|
285
285
|
return;
|
|
286
286
|
}
|
|
287
287
|
if (currentState === StreamStates.OPEN || currentState === StreamStates.WRITE_CLOSED) {
|
|
288
|
-
this._sendFlag(
|
|
288
|
+
this._sendFlag(Message.Flag.STOP_SENDING);
|
|
289
289
|
this._innersrc.end();
|
|
290
290
|
}
|
|
291
291
|
if (nextState === StreamStates.CLOSED) {
|
|
@@ -296,13 +296,13 @@ export class WebRTCStream {
|
|
|
296
296
|
* Close a stream for writing only
|
|
297
297
|
*/
|
|
298
298
|
closeWrite() {
|
|
299
|
-
const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag:
|
|
299
|
+
const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag: Message.Flag.FIN });
|
|
300
300
|
if (currentState === nextState) {
|
|
301
301
|
// No change, no op
|
|
302
302
|
return;
|
|
303
303
|
}
|
|
304
304
|
if (currentState === StreamStates.OPEN || currentState === StreamStates.READ_CLOSED) {
|
|
305
|
-
this._sendFlag(
|
|
305
|
+
this._sendFlag(Message.Flag.FIN);
|
|
306
306
|
this.closeWritePromise.resolve();
|
|
307
307
|
}
|
|
308
308
|
if (nextState === StreamStates.CLOSED) {
|
|
@@ -322,18 +322,18 @@ export class WebRTCStream {
|
|
|
322
322
|
* @see this.closeWrite
|
|
323
323
|
*/
|
|
324
324
|
reset() {
|
|
325
|
-
const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag:
|
|
325
|
+
const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag: Message.Flag.RESET });
|
|
326
326
|
if (currentState === nextState) {
|
|
327
327
|
// No change, no op
|
|
328
328
|
return;
|
|
329
329
|
}
|
|
330
|
-
this._sendFlag(
|
|
330
|
+
this._sendFlag(Message.Flag.RESET);
|
|
331
331
|
this.close();
|
|
332
332
|
}
|
|
333
333
|
_sendFlag(flag) {
|
|
334
334
|
try {
|
|
335
335
|
log.trace('Sending flag: %s', flag.toString());
|
|
336
|
-
const msgbuf =
|
|
336
|
+
const msgbuf = Message.encode({ flag });
|
|
337
337
|
this.channel.send(lengthPrefixed.encode.single(msgbuf).subarray());
|
|
338
338
|
}
|
|
339
339
|
catch (err) {
|
package/dist/src/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAA+B,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,
|
|
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,4 +1,4 @@
|
|
|
1
|
+
export declare const isFirefox: boolean;
|
|
1
2
|
export declare const nopSource: () => AsyncGenerator<Uint8Array, any, unknown>;
|
|
2
3
|
export declare const nopSink: (_: any) => Promise<void>;
|
|
3
|
-
export declare const genUfrag: (len: number) => string;
|
|
4
4
|
//# sourceMappingURL=util.d.ts.map
|
package/dist/src/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,SAAoD,CAAA;AAE1E,eAAO,MAAM,SAAS,QAA4B,eAAe,UAAU,EAAE,GAAG,EAAE,OAAO,CAAI,CAAA;AAE7F,eAAO,MAAM,OAAO,MAAa,GAAG,KAAG,QAAQ,IAAI,CAAO,CAAA"}
|
package/dist/src/util.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { detect } from 'detect-browser';
|
|
2
|
+
const browser = detect();
|
|
3
|
+
export const isFirefox = ((browser != null) && browser.name === 'firefox');
|
|
1
4
|
export const nopSource = async function* nop() { };
|
|
2
5
|
export const nopSink = async (_) => { };
|
|
3
|
-
const charset = Array.from('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/');
|
|
4
|
-
export const genUfrag = (len) => [...Array(len)].map(() => charset.at(Math.floor(Math.random() * charset.length))).join('');
|
|
5
6
|
//# sourceMappingURL=util.js.map
|
package/dist/src/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAA;AACxB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,SAAU,CAAC,CAAC,GAAG,KAA+C,CAAC,CAAA;AAE7F,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAM,EAAiB,EAAE,GAAE,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/webrtc",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "A libp2p transport using WebRTC connections",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "Apache-2.0 OR MIT",
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"url": "https://github.com/libp2p/js-libp2p-webrtc/issues"
|
|
14
14
|
},
|
|
15
15
|
"engines": {
|
|
16
|
-
"node": ">=
|
|
17
|
-
"npm": ">=
|
|
16
|
+
"node": ">=18.0.0",
|
|
17
|
+
"npm": ">=8.6.0"
|
|
18
18
|
},
|
|
19
19
|
"type": "module",
|
|
20
20
|
"types": "./dist/src/index.d.ts",
|
|
@@ -123,13 +123,11 @@
|
|
|
123
123
|
]
|
|
124
124
|
},
|
|
125
125
|
"scripts": {
|
|
126
|
-
"generate
|
|
127
|
-
"generate:webrtc-direct": "protons src/peer_transport/pb/index.proto",
|
|
126
|
+
"generate": "protons src/private-to-private/pb/message.proto src/pb/message.proto",
|
|
128
127
|
"build": "aegir build",
|
|
129
128
|
"test": "aegir test -t browser",
|
|
130
|
-
"test:chrome": "aegir test -t browser
|
|
131
|
-
"test:firefox": "aegir test -t browser
|
|
132
|
-
"test:peer": "aegir test -t browser -f \"./dist/test/peer.browser.spec.js\"",
|
|
129
|
+
"test:chrome": "aegir test -t browser --cov",
|
|
130
|
+
"test:firefox": "aegir test -t browser --browser firefox",
|
|
133
131
|
"lint": "aegir lint",
|
|
134
132
|
"lint:fix": "aegir lint --fix",
|
|
135
133
|
"clean": "aegir clean",
|
|
@@ -137,11 +135,11 @@
|
|
|
137
135
|
"release": "aegir release"
|
|
138
136
|
},
|
|
139
137
|
"dependencies": {
|
|
140
|
-
"@chainsafe/libp2p-noise": "^
|
|
138
|
+
"@chainsafe/libp2p-noise": "^12.0.0",
|
|
141
139
|
"@libp2p/interface-connection": "^5.0.2",
|
|
140
|
+
"@libp2p/interface-libp2p": "^3.1.0",
|
|
142
141
|
"@libp2p/interface-metrics": "^4.0.8",
|
|
143
142
|
"@libp2p/interface-peer-id": "^2.0.2",
|
|
144
|
-
"@libp2p/interface-peer-store": "^2.0.2",
|
|
145
143
|
"@libp2p/interface-registrar": "^2.0.12",
|
|
146
144
|
"@libp2p/interface-stream-muxer": "^4.0.1",
|
|
147
145
|
"@libp2p/interface-transport": "^4.0.2",
|
|
@@ -149,10 +147,9 @@
|
|
|
149
147
|
"@libp2p/logger": "^2.0.7",
|
|
150
148
|
"@libp2p/peer-id": "^2.0.3",
|
|
151
149
|
"@multiformats/multiaddr": "^12.1.2",
|
|
152
|
-
"
|
|
153
|
-
"abortable-iterator": "^4.0.2",
|
|
150
|
+
"abortable-iterator": "^5.0.1",
|
|
154
151
|
"detect-browser": "^5.3.0",
|
|
155
|
-
"it-length-prefixed": "^
|
|
152
|
+
"it-length-prefixed": "^9.0.1",
|
|
156
153
|
"it-merge": "^3.0.0",
|
|
157
154
|
"it-pb-stream": "^4.0.1",
|
|
158
155
|
"it-pipe": "^3.0.1",
|
|
@@ -166,12 +163,10 @@
|
|
|
166
163
|
"uint8arrays": "^4.0.3"
|
|
167
164
|
},
|
|
168
165
|
"devDependencies": {
|
|
169
|
-
"@libp2p/interface-mocks": "^
|
|
166
|
+
"@libp2p/interface-mocks": "^12.0.1",
|
|
170
167
|
"@libp2p/peer-id-factory": "^2.0.3",
|
|
171
|
-
"@protobuf-ts/protoc": "^2.9.0",
|
|
172
168
|
"@types/sinon": "^10.0.14",
|
|
173
169
|
"aegir": "^39.0.6",
|
|
174
|
-
"eslint-plugin-etc": "^2.0.2",
|
|
175
170
|
"it-pair": "^2.0.6",
|
|
176
171
|
"protons": "^7.0.2",
|
|
177
172
|
"sinon": "^15.0.4",
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { WebRTCTransport } from './
|
|
2
|
-
import { WebRTCDirectTransport, type WebRTCDirectTransportComponents } from './transport.js'
|
|
3
|
-
import type { WebRTCTransportComponents, WebRTCTransportInit } from './
|
|
1
|
+
import { WebRTCTransport } from './private-to-private/transport.js'
|
|
2
|
+
import { WebRTCDirectTransport, type WebRTCDirectTransportComponents } from './private-to-public/transport.js'
|
|
3
|
+
import type { WebRTCTransportComponents, WebRTCTransportInit } from './private-to-private/transport.js'
|
|
4
4
|
import type { Transport } from '@libp2p/interface-transport'
|
|
5
5
|
|
|
6
6
|
function webRTCDirect (): (components: WebRTCDirectTransportComponents) => Transport {
|
package/src/maconn.ts
CHANGED
|
@@ -64,6 +64,12 @@ export class WebRTCMultiaddrConnection implements MultiaddrConnection {
|
|
|
64
64
|
this.remoteAddr = init.remoteAddr
|
|
65
65
|
this.timeline = init.timeline
|
|
66
66
|
this.peerConnection = init.peerConnection
|
|
67
|
+
|
|
68
|
+
this.peerConnection.onconnectionstatechange = () => {
|
|
69
|
+
if (this.peerConnection.connectionState === 'closed' || this.peerConnection.connectionState === 'disconnected' || this.peerConnection.connectionState === 'failed') {
|
|
70
|
+
this.timeline.close = Date.now()
|
|
71
|
+
}
|
|
72
|
+
}
|
|
67
73
|
}
|
|
68
74
|
|
|
69
75
|
async close (err?: Error | undefined): Promise<void> {
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
syntax = "
|
|
2
|
-
|
|
3
|
-
package webrtc.pb;
|
|
1
|
+
syntax = "proto3";
|
|
4
2
|
|
|
5
3
|
message Message {
|
|
6
4
|
enum Flag {
|
|
@@ -10,7 +8,7 @@ message Message {
|
|
|
10
8
|
// The sender will no longer read messages on the stream. Incoming data is
|
|
11
9
|
// being discarded on receipt.
|
|
12
10
|
STOP_SENDING = 1;
|
|
13
|
-
|
|
11
|
+
|
|
14
12
|
// The sender abruptly terminates the sending part of the stream. The
|
|
15
13
|
// receiver can discard any data that it already received on that stream.
|
|
16
14
|
RESET = 2;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/* eslint-disable import/export */
|
|
2
|
+
/* eslint-disable complexity */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-namespace */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
6
|
+
|
|
7
|
+
import { enumeration, encodeMessage, decodeMessage, message } from 'protons-runtime'
|
|
8
|
+
import type { Codec } from 'protons-runtime'
|
|
9
|
+
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
10
|
+
|
|
11
|
+
export interface Message {
|
|
12
|
+
flag?: Message.Flag
|
|
13
|
+
message?: Uint8Array
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export namespace Message {
|
|
17
|
+
export enum Flag {
|
|
18
|
+
FIN = 'FIN',
|
|
19
|
+
STOP_SENDING = 'STOP_SENDING',
|
|
20
|
+
RESET = 'RESET'
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
enum __FlagValues {
|
|
24
|
+
FIN = 0,
|
|
25
|
+
STOP_SENDING = 1,
|
|
26
|
+
RESET = 2
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export namespace Flag {
|
|
30
|
+
export const codec = (): Codec<Flag> => {
|
|
31
|
+
return enumeration<Flag>(__FlagValues)
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
let _codec: Codec<Message>
|
|
36
|
+
|
|
37
|
+
export const codec = (): Codec<Message> => {
|
|
38
|
+
if (_codec == null) {
|
|
39
|
+
_codec = message<Message>((obj, w, opts = {}) => {
|
|
40
|
+
if (opts.lengthDelimited !== false) {
|
|
41
|
+
w.fork()
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (obj.flag != null) {
|
|
45
|
+
w.uint32(8)
|
|
46
|
+
Message.Flag.codec().encode(obj.flag, w)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
if (obj.message != null) {
|
|
50
|
+
w.uint32(18)
|
|
51
|
+
w.bytes(obj.message)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (opts.lengthDelimited !== false) {
|
|
55
|
+
w.ldelim()
|
|
56
|
+
}
|
|
57
|
+
}, (reader, length) => {
|
|
58
|
+
const obj: any = {}
|
|
59
|
+
|
|
60
|
+
const end = length == null ? reader.len : reader.pos + length
|
|
61
|
+
|
|
62
|
+
while (reader.pos < end) {
|
|
63
|
+
const tag = reader.uint32()
|
|
64
|
+
|
|
65
|
+
switch (tag >>> 3) {
|
|
66
|
+
case 1:
|
|
67
|
+
obj.flag = Message.Flag.codec().decode(reader)
|
|
68
|
+
break
|
|
69
|
+
case 2:
|
|
70
|
+
obj.message = reader.bytes()
|
|
71
|
+
break
|
|
72
|
+
default:
|
|
73
|
+
reader.skipType(tag & 7)
|
|
74
|
+
break
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return obj
|
|
79
|
+
})
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return _codec
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export const encode = (obj: Partial<Message>): Uint8Array => {
|
|
86
|
+
return encodeMessage(obj, Message.codec())
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export const decode = (buf: Uint8Array | Uint8ArrayList): Message => {
|
|
90
|
+
return decodeMessage(buf, Message.codec())
|
|
91
|
+
}
|
|
92
|
+
}
|