@libp2p/webrtc 5.2.24-6059227cb → 5.2.24-87bc8d4fb

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.
Files changed (90) hide show
  1. package/README.md +20 -10
  2. package/dist/index.min.js +18 -18
  3. package/dist/index.min.js.map +4 -4
  4. package/dist/src/constants.d.ts +23 -4
  5. package/dist/src/constants.d.ts.map +1 -1
  6. package/dist/src/constants.js +23 -4
  7. package/dist/src/constants.js.map +1 -1
  8. package/dist/src/index.d.ts +22 -20
  9. package/dist/src/index.d.ts.map +1 -1
  10. package/dist/src/index.js +22 -12
  11. package/dist/src/index.js.map +1 -1
  12. package/dist/src/maconn.d.ts +58 -0
  13. package/dist/src/maconn.d.ts.map +1 -0
  14. package/dist/src/maconn.js +56 -0
  15. package/dist/src/maconn.js.map +1 -0
  16. package/dist/src/muxer.d.ts +46 -14
  17. package/dist/src/muxer.d.ts.map +1 -1
  18. package/dist/src/muxer.js +138 -30
  19. package/dist/src/muxer.js.map +1 -1
  20. package/dist/src/private-to-private/initiate-connection.d.ts +3 -2
  21. package/dist/src/private-to-private/initiate-connection.d.ts.map +1 -1
  22. package/dist/src/private-to-private/initiate-connection.js +5 -37
  23. package/dist/src/private-to-private/initiate-connection.js.map +1 -1
  24. package/dist/src/private-to-private/signaling-stream-handler.d.ts +4 -4
  25. package/dist/src/private-to-private/signaling-stream-handler.d.ts.map +1 -1
  26. package/dist/src/private-to-private/signaling-stream-handler.js +7 -19
  27. package/dist/src/private-to-private/signaling-stream-handler.js.map +1 -1
  28. package/dist/src/private-to-private/transport.d.ts +9 -2
  29. package/dist/src/private-to-private/transport.d.ts.map +1 -1
  30. package/dist/src/private-to-private/transport.js +15 -30
  31. package/dist/src/private-to-private/transport.js.map +1 -1
  32. package/dist/src/private-to-private/util.d.ts +2 -3
  33. package/dist/src/private-to-private/util.d.ts.map +1 -1
  34. package/dist/src/private-to-private/util.js +14 -26
  35. package/dist/src/private-to-private/util.js.map +1 -1
  36. package/dist/src/private-to-public/listener.d.ts.map +1 -1
  37. package/dist/src/private-to-public/listener.js +15 -21
  38. package/dist/src/private-to-public/listener.js.map +1 -1
  39. package/dist/src/private-to-public/transport.d.ts +8 -0
  40. package/dist/src/private-to-public/transport.d.ts.map +1 -1
  41. package/dist/src/private-to-public/transport.js +2 -3
  42. package/dist/src/private-to-public/transport.js.map +1 -1
  43. package/dist/src/private-to-public/utils/connect.d.ts +1 -1
  44. package/dist/src/private-to-public/utils/connect.d.ts.map +1 -1
  45. package/dist/src/private-to-public/utils/connect.js +14 -17
  46. package/dist/src/private-to-public/utils/connect.js.map +1 -1
  47. package/dist/src/private-to-public/utils/get-rtcpeerconnection.d.ts +4 -4
  48. package/dist/src/private-to-public/utils/get-rtcpeerconnection.d.ts.map +1 -1
  49. package/dist/src/private-to-public/utils/get-rtcpeerconnection.js +2 -13
  50. package/dist/src/private-to-public/utils/get-rtcpeerconnection.js.map +1 -1
  51. package/dist/src/private-to-public/utils/sdp.d.ts.map +1 -1
  52. package/dist/src/private-to-public/utils/sdp.js +13 -25
  53. package/dist/src/private-to-public/utils/sdp.js.map +1 -1
  54. package/dist/src/private-to-public/utils/stun-listener.js +1 -1
  55. package/dist/src/private-to-public/utils/stun-listener.js.map +1 -1
  56. package/dist/src/stream.d.ts +26 -14
  57. package/dist/src/stream.d.ts.map +1 -1
  58. package/dist/src/stream.js +204 -134
  59. package/dist/src/stream.js.map +1 -1
  60. package/dist/src/util.d.ts +1 -3
  61. package/dist/src/util.d.ts.map +1 -1
  62. package/dist/src/util.js +0 -19
  63. package/dist/src/util.js.map +1 -1
  64. package/dist/src/webrtc/index.d.ts +1 -1
  65. package/dist/src/webrtc/index.d.ts.map +1 -1
  66. package/dist/src/webrtc/index.js +1 -1
  67. package/dist/src/webrtc/index.js.map +1 -1
  68. package/package.json +29 -26
  69. package/src/constants.ts +28 -5
  70. package/src/index.ts +22 -21
  71. package/src/maconn.ts +101 -0
  72. package/src/muxer.ts +169 -39
  73. package/src/private-to-private/initiate-connection.ts +8 -46
  74. package/src/private-to-private/signaling-stream-handler.ts +10 -23
  75. package/src/private-to-private/transport.ts +25 -33
  76. package/src/private-to-private/util.ts +16 -33
  77. package/src/private-to-public/listener.ts +15 -22
  78. package/src/private-to-public/transport.ts +12 -3
  79. package/src/private-to-public/utils/connect.ts +15 -18
  80. package/src/private-to-public/utils/get-rtcpeerconnection.ts +4 -16
  81. package/src/private-to-public/utils/sdp.ts +13 -29
  82. package/src/private-to-public/utils/stun-listener.ts +1 -1
  83. package/src/stream.ts +237 -153
  84. package/src/util.ts +1 -22
  85. package/src/webrtc/index.ts +1 -1
  86. package/dist/src/rtcpeerconnection-to-conn.d.ts +0 -12
  87. package/dist/src/rtcpeerconnection-to-conn.d.ts.map +0 -1
  88. package/dist/src/rtcpeerconnection-to-conn.js +0 -46
  89. package/dist/src/rtcpeerconnection-to-conn.js.map +0 -1
  90. package/src/rtcpeerconnection-to-conn.ts +0 -66
package/dist/src/muxer.js CHANGED
@@ -1,25 +1,59 @@
1
- import { AbstractStreamMuxer } from '@libp2p/utils';
2
1
  import { MUXER_PROTOCOL } from './constants.js';
3
- import { createStream, WebRTCStream } from './stream.js';
2
+ import { createStream } from './stream.js';
3
+ import { drainAndClose, nopSink, nopSource } from './util.js';
4
4
  export class DataChannelMuxerFactory {
5
5
  protocol;
6
6
  /**
7
7
  * WebRTC Peer Connection
8
8
  */
9
9
  peerConnection;
10
+ bufferedStreams = [];
10
11
  metrics;
11
12
  dataChannelOptions;
12
- constructor(init) {
13
+ components;
14
+ log;
15
+ constructor(components, init) {
16
+ this.components = components;
13
17
  this.peerConnection = init.peerConnection;
14
18
  this.metrics = init.metrics;
15
19
  this.protocol = init.protocol ?? MUXER_PROTOCOL;
16
20
  this.dataChannelOptions = init.dataChannelOptions ?? {};
21
+ this.log = components.logger.forComponent('libp2p:webrtc:muxerfactory');
22
+ // store any data channels opened before upgrade has been completed
23
+ this.peerConnection.ondatachannel = ({ channel }) => {
24
+ this.log.trace('incoming early datachannel with channel id %d and label "%s"', channel.id);
25
+ // 'init' channel is only used during connection establishment
26
+ if (channel.label === 'init') {
27
+ this.log.trace('closing early init channel');
28
+ channel.close();
29
+ return;
30
+ }
31
+ // @ts-expect-error fields are set below
32
+ const bufferedStream = {};
33
+ const stream = createStream({
34
+ channel,
35
+ direction: 'inbound',
36
+ onEnd: (err) => {
37
+ bufferedStream.onEnd(err);
38
+ },
39
+ log: this.log,
40
+ ...this.dataChannelOptions
41
+ });
42
+ bufferedStream.stream = stream;
43
+ bufferedStream.channel = channel;
44
+ bufferedStream.onEnd = () => {
45
+ this.bufferedStreams = this.bufferedStreams.filter(s => s.stream.id !== stream.id);
46
+ };
47
+ this.bufferedStreams.push(bufferedStream);
48
+ };
17
49
  }
18
- createStreamMuxer(maConn) {
19
- return new DataChannelMuxer(maConn, {
50
+ createStreamMuxer(init) {
51
+ return new DataChannelMuxer(this.components, {
52
+ ...init,
20
53
  peerConnection: this.peerConnection,
21
54
  dataChannelOptions: this.dataChannelOptions,
22
55
  metrics: this.metrics,
56
+ streams: this.bufferedStreams,
23
57
  protocol: this.protocol
24
58
  });
25
59
  }
@@ -27,16 +61,26 @@ export class DataChannelMuxerFactory {
27
61
  /**
28
62
  * A libp2p data channel stream muxer
29
63
  */
30
- export class DataChannelMuxer extends AbstractStreamMuxer {
64
+ export class DataChannelMuxer {
65
+ init;
66
+ /**
67
+ * Array of streams in the data channel
68
+ */
69
+ streams;
70
+ protocol;
71
+ log;
31
72
  peerConnection;
32
73
  dataChannelOptions;
33
- constructor(maConn, init) {
34
- super(maConn, {
35
- ...init,
36
- name: 'muxer'
37
- });
74
+ metrics;
75
+ logger;
76
+ constructor(components, init) {
77
+ this.init = init;
78
+ this.log = init.log?.newScope('muxer') ?? components.logger.forComponent('libp2p:webrtc:muxer');
79
+ this.logger = components.logger;
80
+ this.streams = init.streams.map(s => s.stream);
38
81
  this.peerConnection = init.peerConnection;
39
82
  this.protocol = init.protocol ?? MUXER_PROTOCOL;
83
+ this.metrics = init.metrics;
40
84
  this.dataChannelOptions = init.dataChannelOptions ?? {};
41
85
  /**
42
86
  * Fired when a data channel has been added to the connection has been
@@ -45,41 +89,105 @@ export class DataChannelMuxer extends AbstractStreamMuxer {
45
89
  * {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/datachannel_event}
46
90
  */
47
91
  this.peerConnection.ondatachannel = ({ channel }) => {
48
- this.log.trace('incoming %s datachannel with channel id %d, protocol %s and status %s', channel.protocol, channel.id, channel.protocol, channel.readyState);
49
- // 'init' channel is only used during connection establishment, it is
50
- // closed by the initiator
92
+ this.log.trace('incoming datachannel with channel id %d', channel.id);
93
+ // 'init' channel is only used during connection establishment
51
94
  if (channel.label === 'init') {
52
- this.log.trace('closing init channel %d', channel.id);
95
+ this.log.trace('closing init channel');
53
96
  channel.close();
54
97
  return;
55
98
  }
99
+ // lib-datachannel throws if `.getId` is called on a closed channel so
100
+ // memoize it
101
+ const id = channel.id;
56
102
  const stream = createStream({
57
- ...this.streamOptions,
58
- ...this.dataChannelOptions,
59
103
  channel,
60
104
  direction: 'inbound',
61
- log: this.log
105
+ onEnd: () => {
106
+ this.#onStreamEnd(stream, channel);
107
+ this.log('incoming channel %s ended', id);
108
+ },
109
+ log: this.log,
110
+ ...this.dataChannelOptions
62
111
  });
63
- this.onRemoteStream(stream);
112
+ this.streams.push(stream);
113
+ this.metrics?.increment({ incoming_stream: true });
114
+ init?.onIncomingStream?.(stream);
64
115
  };
116
+ // the DataChannelMuxer constructor is called during set up of the
117
+ // connection by the upgrader.
118
+ //
119
+ // If we invoke `init.onIncomingStream` immediately, the connection object
120
+ // will not be set up yet so add a tiny delay before letting the
121
+ // connection know about early streams
122
+ if (this.init.streams.length > 0) {
123
+ queueMicrotask(() => {
124
+ this.init.streams.forEach(bufferedStream => {
125
+ bufferedStream.onEnd = () => {
126
+ this.log('incoming early channel %s ended with state %s', bufferedStream.channel.id, bufferedStream.channel.readyState);
127
+ this.#onStreamEnd(bufferedStream.stream, bufferedStream.channel);
128
+ };
129
+ this.metrics?.increment({ incoming_stream: true });
130
+ this.init?.onIncomingStream?.(bufferedStream.stream);
131
+ });
132
+ });
133
+ }
65
134
  }
66
- async onCreateStream(options) {
67
- // The spec says the label MUST be an empty string: https://github.com/libp2p/specs/blob/master/webrtc/README.md#rtcdatachannel-label
68
- const channel = this.peerConnection.createDataChannel('', {
69
- // TODO: pre-negotiate stream protocol
70
- // protocol: options?.protocol
135
+ #onStreamEnd(stream, channel) {
136
+ this.log.trace('stream %s %s %s onEnd', stream.direction, stream.id, stream.protocol);
137
+ drainAndClose(channel, `${stream.direction} ${stream.id} ${stream.protocol}`, this.dataChannelOptions.drainTimeout, {
138
+ log: this.log
71
139
  });
72
- this.log('open channel %d for protocol %s', channel.id, options?.protocol);
140
+ this.streams = this.streams.filter(s => s.id !== stream.id);
141
+ this.metrics?.increment({ stream_end: true });
142
+ this.init?.onStreamEnd?.(stream);
143
+ }
144
+ /**
145
+ * Gracefully close all tracked streams and stop the muxer
146
+ */
147
+ async close(options) {
148
+ try {
149
+ await Promise.all(this.streams.map(async (stream) => stream.close(options)));
150
+ }
151
+ catch (err) {
152
+ this.abort(err);
153
+ }
154
+ }
155
+ /**
156
+ * Abort all tracked streams and stop the muxer
157
+ */
158
+ abort(err) {
159
+ for (const stream of this.streams) {
160
+ stream.abort(err);
161
+ }
162
+ }
163
+ /**
164
+ * The stream source, a no-op as the transport natively supports multiplexing
165
+ */
166
+ source = nopSource();
167
+ /**
168
+ * The stream destination, a no-op as the transport natively supports multiplexing
169
+ */
170
+ sink = nopSink;
171
+ newStream() {
172
+ // The spec says the label MUST be an empty string: https://github.com/libp2p/specs/blob/master/webrtc/README.md#rtcdatachannel-label
173
+ const channel = this.peerConnection.createDataChannel('');
174
+ // lib-datachannel throws if `.getId` is called on a closed channel so
175
+ // memoize it
176
+ const id = channel.id;
177
+ this.log.trace('opened outgoing datachannel with channel id %s', id);
73
178
  const stream = createStream({
74
- ...options,
75
- ...this.dataChannelOptions,
76
179
  channel,
77
180
  direction: 'outbound',
78
- log: this.log
181
+ onEnd: () => {
182
+ this.#onStreamEnd(stream, channel);
183
+ this.log('outgoing channel %s ended', id);
184
+ },
185
+ log: this.log,
186
+ ...this.dataChannelOptions
79
187
  });
188
+ this.streams.push(stream);
189
+ this.metrics?.increment({ outgoing_stream: true });
80
190
  return stream;
81
191
  }
82
- onData() {
83
- }
84
192
  }
85
193
  //# sourceMappingURL=muxer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../src/muxer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../src/muxer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAoC7D,MAAM,OAAO,uBAAuB;IAClB,QAAQ,CAAQ;IAEhC;;OAEG;IACc,cAAc,CAAmB;IAC1C,eAAe,GAAqB,EAAE,CAAA;IAC7B,OAAO,CAAe;IACtB,kBAAkB,CAAqB;IACvC,UAAU,CAAmC;IAC7C,GAAG,CAAQ;IAE5B,YAAa,UAA6C,EAAE,IAAiC;QAC3F,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAA;QAC/C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAA;QACvD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAA;QAEvE,mEAAmE;QACnE,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8DAA8D,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YAE1F,8DAA8D;YAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBAC5C,OAAO,CAAC,KAAK,EAAE,CAAA;gBAEf,OAAM;YACR,CAAC;YAED,wCAAwC;YACxC,MAAM,cAAc,GAAmB,EAAE,CAAA;YAEzC,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC1B,OAAO;gBACP,SAAS,EAAE,SAAS;gBACpB,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBACb,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAC3B,CAAC;gBACD,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,IAAI,CAAC,kBAAkB;aAC3B,CAAC,CAAA;YAEF,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;YAC9B,cAAc,CAAC,OAAO,GAAG,OAAO,CAAA;YAChC,cAAc,CAAC,KAAK,GAAG,GAAG,EAAE;gBAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAA;YACpF,CAAC,CAAA;YAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3C,CAAC,CAAA;IACH,CAAC;IAED,iBAAiB,CAAE,IAAsB;QACvC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE;YAC3C,GAAG,IAAI;YACP,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;IACJ,CAAC;CACF;AAUD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAamC;IAZ9D;;OAEG;IACI,OAAO,CAAU;IACjB,QAAQ,CAAQ;IAEN,GAAG,CAAQ;IACX,cAAc,CAAmB;IACjC,kBAAkB,CAAoB;IACtC,OAAO,CAAe;IACtB,MAAM,CAAiB;IAExC,YAAa,UAAsC,EAAW,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;QACtF,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAA;QAC/F,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAA;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAA;QAEvD;;;;;WAKG;QACH,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YAErE,8DAA8D;YAC9D,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACtC,OAAO,CAAC,KAAK,EAAE,CAAA;gBAEf,OAAM;YACR,CAAC;YAED,sEAAsE;YACtE,aAAa;YACb,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;YAErB,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC1B,OAAO;gBACP,SAAS,EAAE,SAAS;gBACpB,KAAK,EAAE,GAAG,EAAE;oBACV,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;oBAClC,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;gBAC3C,CAAC;gBACD,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,IAAI,CAAC,kBAAkB;aAC3B,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACzB,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;YAClD,IAAI,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC,CAAA;QAED,kEAAkE;QAClE,8BAA8B;QAC9B,EAAE;QACF,0EAA0E;QAC1E,gEAAgE;QAChE,sCAAsC;QACtC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,cAAc,CAAC,GAAG,EAAE;gBAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;oBACzC,cAAc,CAAC,KAAK,GAAG,GAAG,EAAE;wBAC1B,IAAI,CAAC,GAAG,CAAC,+CAA+C,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;wBACvH,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAA;oBAClE,CAAC,CAAA;oBAED,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;oBAClD,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;gBACtD,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,YAAY,CAAE,MAAc,EAAE,OAAuB;QACnD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACrF,aAAa,CACX,OAAO,EACP,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,EACrD,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACpC,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CACF,CAAA;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAE,OAAsB;QACjC,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CACxD,CAAA;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAE,GAAU;QACf,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,GAA6C,SAAS,EAAE,CAAA;IAE9D;;OAEG;IACH,IAAI,GAA6D,OAAO,CAAA;IAExE,SAAS;QACP,qIAAqI;QACrI,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;QACzD,sEAAsE;QACtE,aAAa;QACb,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QAErB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAA;QAEpE,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,OAAO;YACP,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAClC,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,IAAI,CAAC,kBAAkB;SAC3B,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;QAElD,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -2,13 +2,14 @@ import { DataChannelMuxerFactory } from '../muxer.js';
2
2
  import { RTCPeerConnection } from '../webrtc/index.js';
3
3
  import type { WebRTCDialEvents, WebRTCTransportMetrics } from './transport.js';
4
4
  import type { DataChannelOptions } from '../index.js';
5
- import type { LoggerOptions, ComponentLogger, AbortOptions } from '@libp2p/interface';
5
+ import type { LoggerOptions, ComponentLogger, IncomingStreamData } from '@libp2p/interface';
6
6
  import type { ConnectionManager, TransportManager } from '@libp2p/interface-internal';
7
7
  import type { Multiaddr } from '@multiformats/multiaddr';
8
8
  import type { ProgressOptions } from 'progress-events';
9
- export interface IncomingStreamOptions extends AbortOptions {
9
+ export interface IncomingStreamOpts extends IncomingStreamData {
10
10
  rtcConfiguration?: RTCConfiguration;
11
11
  dataChannelOptions?: Partial<DataChannelOptions>;
12
+ signal: AbortSignal;
12
13
  }
13
14
  export interface ConnectOptions extends LoggerOptions, ProgressOptions<WebRTCDialEvents> {
14
15
  rtcConfiguration?: RTCConfiguration;
@@ -1 +1 @@
1
- {"version":3,"file":"initiate-connection.d.ts","sourceRoot":"","sources":["../../../src/private-to-private/initiate-connection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAyB,MAAM,oBAAoB,CAAA;AAI7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAc,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa,EAAE,eAAe,CAAC,gBAAgB,CAAC;IACtF,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAChD,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,wBAAsB,kBAAkB,CAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,SAAS,CAAC;IAAC,cAAc,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,uBAAuB,CAAA;CAAE,CAAC,CA8L1S"}
1
+ {"version":3,"file":"initiate-connection.d.ts","sourceRoot":"","sources":["../../../src/private-to-private/initiate-connection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAyB,MAAM,oBAAoB,CAAA;AAI7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAc,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACvG,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AACrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAChD,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa,EAAE,eAAe,CAAC,gBAAgB,CAAC;IACtF,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAChD,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,wBAAsB,kBAAkB,CAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,SAAS,CAAC;IAAC,cAAc,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAwJ1S"}
@@ -1,5 +1,4 @@
1
- import { pbStream } from '@libp2p/utils';
2
- import { pEvent } from 'p-event';
1
+ import { pbStream } from 'it-protobuf-stream';
3
2
  import { CustomProgressEvent } from 'progress-events';
4
3
  import { SIGNALING_PROTOCOL } from '../constants.js';
5
4
  import { SDPHandshakeFailedError } from '../error.js';
@@ -35,19 +34,9 @@ export async function initiateConnection({ rtcConfiguration, dataChannel, signal
35
34
  });
36
35
  const messageStream = pbStream(stream).pb(Message);
37
36
  const peerConnection = new RTCPeerConnection(rtcConfiguration);
38
- // make sure C++ peer connection is garbage collected
39
- // https://github.com/murat-dogan/node-datachannel/issues/366#issuecomment-3228453155
40
- peerConnection.addEventListener('connectionstatechange', () => {
41
- switch (peerConnection.connectionState) {
42
- case 'closed':
43
- peerConnection.close();
44
- break;
45
- default:
46
- break;
47
- }
48
- });
49
37
  const muxerFactory = new DataChannelMuxerFactory({
50
- // @ts-expect-error https://github.com/murat-dogan/node-datachannel/pull/370
38
+ logger
39
+ }, {
51
40
  peerConnection,
52
41
  dataChannelOptions: dataChannel
53
42
  });
@@ -58,18 +47,10 @@ export async function initiateConnection({ rtcConfiguration, dataChannel, signal
58
47
  const channel = peerConnection.createDataChannel('init');
59
48
  // setup callback to write ICE candidates to the remote peer
60
49
  peerConnection.onicecandidate = ({ candidate }) => {
61
- if (peerConnection.connectionState === 'connected') {
62
- log.trace('ignore new ice candidate as peer connection is already connected');
63
- return;
64
- }
65
50
  // a null candidate means end-of-candidates, an empty string candidate
66
51
  // means end-of-candidates for this generation, otherwise this should
67
52
  // be a valid candidate object
68
53
  // see - https://www.w3.org/TR/webrtc/#rtcpeerconnectioniceevent
69
- if (candidate == null || candidate?.candidate === '') {
70
- log.trace('initiator detected end of ICE candidates');
71
- return;
72
- }
73
54
  const data = JSON.stringify(candidate?.toJSON() ?? null);
74
55
  log.trace('initiator sending ICE candidate %o', candidate);
75
56
  void messageStream.write({
@@ -79,7 +60,7 @@ export async function initiateConnection({ rtcConfiguration, dataChannel, signal
79
60
  signal
80
61
  })
81
62
  .catch(err => {
82
- log.error('error sending ICE candidate - %e', err);
63
+ log.error('error sending ICE candidate', err);
83
64
  });
84
65
  };
85
66
  peerConnection.onicecandidateerror = (event) => {
@@ -124,21 +105,8 @@ export async function initiateConnection({ rtcConfiguration, dataChannel, signal
124
105
  log,
125
106
  onProgress
126
107
  });
127
- log.trace('initiator connected');
128
- if (channel.readyState !== 'open') {
129
- log.trace('wait for init channel to open');
130
- await pEvent(channel, 'open', {
131
- signal
132
- });
133
- }
134
- log.trace('closing init channel');
108
+ log.trace('initiator connected, closing init channel');
135
109
  channel.close();
136
- // wait for init channel to close before proceeding, otherwise the channel
137
- // id can be reused before both sides have seen the channel close
138
- log.trace('waiting for init channel to close');
139
- await pEvent(channel, 'close', {
140
- signal
141
- });
142
110
  onProgress?.(new CustomProgressEvent('webrtc:close-signaling-stream'));
143
111
  log.trace('closing signaling channel');
144
112
  await stream.close({
@@ -1 +1 @@
1
- {"version":3,"file":"initiate-connection.js","sourceRoot":"","sources":["../../../src/private-to-private/initiate-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initiate-connection.js","sourceRoot":"","sources":["../../../src/private-to-private/initiate-connection.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import type { RTCPeerConnection } from '../webrtc/index.js';
2
- import type { AbortOptions, Connection, Logger, PeerId, Stream } from '@libp2p/interface';
2
+ import type { Logger, IncomingStreamData } from '@libp2p/interface';
3
3
  import type { Multiaddr } from '@multiformats/multiaddr';
4
- export interface IncomingStreamOptions extends AbortOptions {
4
+ export interface IncomingStreamOpts extends IncomingStreamData {
5
5
  peerConnection: RTCPeerConnection;
6
+ signal: AbortSignal;
6
7
  log: Logger;
7
8
  }
8
- export declare function handleIncomingStream(stream: Stream, connection: Connection, { peerConnection, signal, log }: IncomingStreamOptions): Promise<{
9
+ export declare function handleIncomingStream({ peerConnection, stream, signal, connection, log }: IncomingStreamOpts): Promise<{
9
10
  remoteAddress: Multiaddr;
10
- remotePeer: PeerId;
11
11
  }>;
12
12
  //# sourceMappingURL=signaling-stream-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signaling-stream-handler.d.ts","sourceRoot":"","sources":["../../../src/private-to-private/signaling-stream-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,cAAc,EAAE,iBAAiB,CAAA;IACjC,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,wBAAsB,oBAAoB,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CA0GrM"}
1
+ {"version":3,"file":"signaling-stream-handler.d.ts","sourceRoot":"","sources":["../../../src/private-to-private/signaling-stream-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,cAAc,EAAE,iBAAiB,CAAA;IACjC,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,wBAAsB,oBAAoB,CAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,SAAS,CAAA;CAAE,CAAC,CA4F1J"}
@@ -1,27 +1,19 @@
1
- import { pbStream } from '@libp2p/utils';
2
1
  import { multiaddr } from '@multiformats/multiaddr';
2
+ import { pbStream } from 'it-protobuf-stream';
3
3
  import { SDPHandshakeFailedError } from '../error.js';
4
4
  import { RTCSessionDescription } from '../webrtc/index.js';
5
5
  import { Message } from './pb/message.js';
6
- import { getRemotePeer, readCandidatesUntilConnected } from './util.js';
7
- export async function handleIncomingStream(stream, connection, { peerConnection, signal, log }) {
6
+ import { getConnectionState, readCandidatesUntilConnected } from './util.js';
7
+ export async function handleIncomingStream({ peerConnection, stream, signal, connection, log }) {
8
8
  log.trace('new inbound signaling stream');
9
9
  const messageStream = pbStream(stream).pb(Message);
10
10
  try {
11
11
  // candidate callbacks
12
12
  peerConnection.onicecandidate = ({ candidate }) => {
13
- if (peerConnection.connectionState === 'connected') {
14
- log.trace('ignore new ice candidate as peer connection is already connected');
15
- return;
16
- }
17
13
  // a null candidate means end-of-candidates, an empty string candidate
18
14
  // means end-of-candidates for this generation, otherwise this should
19
15
  // be a valid candidate object
20
16
  // see - https://www.w3.org/TR/webrtc/#rtcpeerconnectioniceevent
21
- if (candidate == null || candidate?.candidate === '') {
22
- log.trace('recipient detected end of ICE candidates');
23
- return;
24
- }
25
17
  const data = JSON.stringify(candidate?.toJSON() ?? null);
26
18
  log.trace('recipient sending ICE candidate %s', data);
27
19
  messageStream.write({
@@ -31,7 +23,7 @@ export async function handleIncomingStream(stream, connection, { peerConnection,
31
23
  signal
32
24
  })
33
25
  .catch(err => {
34
- log.error('error sending ICE candidate - %e', err);
26
+ log.error('error sending ICE candidate', err);
35
27
  });
36
28
  };
37
29
  log.trace('recipient read SDP offer');
@@ -74,7 +66,7 @@ export async function handleIncomingStream(stream, connection, { peerConnection,
74
66
  });
75
67
  }
76
68
  catch (err) {
77
- if (peerConnection.connectionState !== 'connected') {
69
+ if (getConnectionState(peerConnection) !== 'connected') {
78
70
  log.error('error while handling signaling stream from peer %a', connection.remoteAddr, err);
79
71
  peerConnection.close();
80
72
  throw err;
@@ -83,12 +75,8 @@ export async function handleIncomingStream(stream, connection, { peerConnection,
83
75
  log('error while handling signaling stream from peer %a, ignoring as the RTCPeerConnection is already connected', connection.remoteAddr, err);
84
76
  }
85
77
  }
86
- const remotePeer = getRemotePeer(connection.remoteAddr);
87
- const remoteAddress = multiaddr(`/webrtc/p2p/${remotePeer}`);
78
+ const remoteAddress = multiaddr(`/webrtc/p2p/${connection.remoteAddr.getPeerId()}`);
88
79
  log.trace('recipient connected to remote address %s', remoteAddress);
89
- return {
90
- remoteAddress,
91
- remotePeer
92
- };
80
+ return { remoteAddress };
93
81
  }
94
82
  //# sourceMappingURL=signaling-stream-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signaling-stream-handler.js","sourceRoot":"","sources":["../../../src/private-to-private/signaling-stream-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signaling-stream-handler.js","sourceRoot":"","sources":["../../../src/private-to-private/signaling-stream-handler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { serviceCapabilities, serviceDependencies, transportSymbol } from '@libp2p/interface';
2
2
  import type { DataChannelOptions } from '../index.js';
3
- import type { OutboundConnectionUpgradeEvents, CreateListenerOptions, DialTransportOptions, Transport, Listener, Upgrader, ComponentLogger, Connection, PeerId, CounterGroup, Metrics, Startable, OpenConnectionProgressEvents, Libp2pEvents, Stream } from '@libp2p/interface';
3
+ import type { OutboundConnectionUpgradeEvents, CreateListenerOptions, DialTransportOptions, Transport, Listener, Upgrader, ComponentLogger, Connection, PeerId, CounterGroup, Metrics, Startable, OpenConnectionProgressEvents, IncomingStreamData, Libp2pEvents } from '@libp2p/interface';
4
4
  import type { Registrar, ConnectionManager, TransportManager } from '@libp2p/interface-internal';
5
5
  import type { Multiaddr } from '@multiformats/multiaddr';
6
6
  import type { TypedEventTarget } from 'main-event';
@@ -16,6 +16,13 @@ export interface WebRTCTransportInit {
16
16
  * Any options here will be applied to any RTCDataChannels that are opened.
17
17
  */
18
18
  dataChannel?: DataChannelOptions;
19
+ /**
20
+ * Inbound connections must complete the upgrade within this many ms
21
+ *
22
+ * @default 30_000
23
+ * @deprecated configure `connectionManager.inboundUpgradeTimeout` instead
24
+ */
25
+ inboundConnectionTimeout?: number;
19
26
  }
20
27
  export interface WebRTCTransportComponents {
21
28
  peerId: PeerId;
@@ -57,7 +64,7 @@ export declare class WebRTCTransport implements Transport<WebRTCDialEvents>, Sta
57
64
  */
58
65
  dialFilter(multiaddrs: Multiaddr[]): Multiaddr[];
59
66
  dial(ma: Multiaddr, options: DialTransportOptions<WebRTCDialEvents>): Promise<Connection>;
60
- _onProtocol(stream: Stream, connection: Connection, signal: AbortSignal): Promise<void>;
67
+ _onProtocol({ connection, stream }: IncomingStreamData, signal: AbortSignal): Promise<void>;
61
68
  private _closeOnShutdown;
62
69
  }
63
70
  export declare function splitAddr(ma: Multiaddr): {
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/private-to-private/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/private-to-private/transport.ts"],"names":[],"mappings":"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"}