@libp2p/websockets 9.2.19 → 10.0.0-55b7e5fea

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.
@@ -22,22 +22,13 @@
22
22
  * await node.dial(ma)
23
23
  * ```
24
24
  */
25
- import type { Transport, MultiaddrFilter, AbortOptions, ComponentLogger, OutboundConnectionUpgradeEvents, Metrics, CounterGroup, Libp2pEvents } from '@libp2p/interface';
25
+ import type { Transport, AbortOptions, ComponentLogger, OutboundConnectionUpgradeEvents, Metrics, CounterGroup, Libp2pEvents } from '@libp2p/interface';
26
26
  import type { WebSocketOptions } from 'it-ws/client';
27
27
  import type { TypedEventTarget } from 'main-event';
28
28
  import type http from 'node:http';
29
29
  import type https from 'node:https';
30
30
  import type { ProgressEvent } from 'progress-events';
31
- import type { ClientOptions } from 'ws';
32
31
  export interface WebSocketsInit extends AbortOptions, WebSocketOptions {
33
- /**
34
- * @deprecated Use a ConnectionGater instead
35
- */
36
- filter?: MultiaddrFilter;
37
- /**
38
- * Options used to create WebSockets
39
- */
40
- websocket?: ClientOptions;
41
32
  /**
42
33
  * Options used to create the HTTP server
43
34
  */
@@ -48,11 +39,22 @@ export interface WebSocketsInit extends AbortOptions, WebSocketOptions {
48
39
  */
49
40
  https?: https.ServerOptions;
50
41
  /**
51
- * Inbound connections must complete their upgrade within this many ms
42
+ * How large the outgoing [bufferedAmount](https://websockets.spec.whatwg.org/#dom-websocket-bufferedamount)
43
+ * property of incoming and outgoing websockets is allowed to get in bytes.
44
+ *
45
+ * If this limit is exceeded, backpressure will be applied to the writer.
46
+ *
47
+ * @default 4_194_304
48
+ */
49
+ maxBufferedAmount?: number;
50
+ /**
51
+ * If the [bufferedAmount](https://websockets.spec.whatwg.org/#dom-websocket-bufferedamount)
52
+ * property of a WebSocket exceeds `maxBufferedAmount`, poll the field every
53
+ * this number of ms to see if the socket can accept new data.
52
54
  *
53
- * @deprecated Use the `connectionManager.inboundUpgradeTimeout` libp2p config key instead
55
+ * @default 500
54
56
  */
55
- inboundConnectionUpgradeTimeout?: number;
57
+ bufferedAmountPollInterval?: number;
56
58
  }
57
59
  export interface WebSocketsComponents {
58
60
  logger: ComponentLogger;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAWH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAyD,YAAY,EAAE,eAAe,EAAsB,+BAA+B,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEnP,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,gBAAgB;IACpE;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,CAAA;IAExB;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAA;IAEzB;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAA;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAE3B;;;;OAIG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAA;CACzC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,MAAM,MAAM,oBAAoB,GAC9B,+BAA+B,GAC/B,aAAa,CAAC,4BAA4B,CAAC,CAAA;AA+H7C,wBAAgB,UAAU,CAAE,IAAI,GAAE,cAAmB,GAAG,CAAC,UAAU,EAAE,oBAAoB,KAAK,SAAS,CAItG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AASH,OAAO,KAAK,EAAE,SAAS,EAAyD,YAAY,EAAE,eAAe,EAAsB,+BAA+B,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElO,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,gBAAgB;IACpE;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAA;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAE3B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;;;;OAMG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,MAAM,MAAM,oBAAoB,GAC9B,+BAA+B,GAC/B,aAAa,CAAC,4BAA4B,CAAC,CAAA;AA6G7C,wBAAgB,UAAU,CAAE,IAAI,GAAE,cAAmB,GAAG,CAAC,UAAU,EAAE,oBAAoB,KAAK,SAAS,CAItG"}
package/dist/src/index.js CHANGED
@@ -23,14 +23,12 @@
23
23
  * ```
24
24
  */
25
25
  import { transportSymbol, serviceCapabilities, ConnectionFailedError } from '@libp2p/interface';
26
+ import { WebSockets as WebSocketsMatcher, WebSocketsSecure } from '@multiformats/multiaddr-matcher';
26
27
  import { multiaddrToUri as toUri } from '@multiformats/multiaddr-to-uri';
27
- import { connect } from 'it-ws/client';
28
- import pDefer from 'p-defer';
28
+ import { pEvent } from 'p-event';
29
29
  import { CustomProgressEvent } from 'progress-events';
30
- import { raceSignal } from 'race-signal';
31
- import * as filters from './filters.js';
32
30
  import { createListener } from './listener.js';
33
- import { socketToMaConn } from './socket-to-conn.js';
31
+ import { webSocketToMaConn } from './websocket-to-conn.js';
34
32
  class WebSockets {
35
33
  log;
36
34
  init;
@@ -59,10 +57,14 @@ class WebSockets {
59
57
  async dial(ma, options) {
60
58
  this.log('dialing %s', ma);
61
59
  options = options ?? {};
62
- const socket = await this._connect(ma, options);
63
- const maConn = socketToMaConn(socket, ma, {
64
- logger: this.logger,
65
- metrics: this.metrics?.dialerEvents
60
+ const maConn = webSocketToMaConn({
61
+ websocket: await this._connect(ma, options),
62
+ remoteAddr: ma,
63
+ metrics: this.metrics?.dialerEvents,
64
+ direction: 'outbound',
65
+ log: this.components.logger.forComponent('libp2p:websockets:connection'),
66
+ maxBufferedAmount: this.init.maxBufferedAmount,
67
+ bufferedAmountPollInterval: this.init.bufferedAmountPollInterval
66
68
  });
67
69
  this.log('new outbound connection %s', maConn.remoteAddr);
68
70
  const conn = await options.upgrader.upgradeOutbound(maConn, options);
@@ -71,36 +73,31 @@ class WebSockets {
71
73
  }
72
74
  async _connect(ma, options) {
73
75
  options?.signal?.throwIfAborted();
74
- const cOpts = ma.toOptions();
75
- this.log('dialing %s:%s', cOpts.host, cOpts.port);
76
- const errorPromise = pDefer();
77
- const rawSocket = connect(toUri(ma), this.init);
78
- rawSocket.socket.addEventListener('error', () => {
79
- // the WebSocket.ErrorEvent type doesn't actually give us any useful
80
- // information about what happened
81
- // https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/error_event
82
- const err = new ConnectionFailedError(`Could not connect to ${ma.toString()}`);
83
- this.log.error('connection error:', err);
84
- this.metrics?.dialerEvents.increment({ error: true });
85
- errorPromise.reject(err);
86
- });
76
+ const uri = toUri(ma);
77
+ this.log('create websocket connection to %s', uri);
78
+ const websocket = new WebSocket(uri);
79
+ websocket.binaryType = 'arraybuffer';
87
80
  try {
88
81
  options.onProgress?.(new CustomProgressEvent('websockets:open-connection'));
89
- await raceSignal(Promise.race([rawSocket.connected(), errorPromise.promise]), options.signal);
82
+ await pEvent(websocket, 'open', options);
90
83
  }
91
84
  catch (err) {
92
85
  if (options.signal?.aborted) {
93
86
  this.metrics?.dialerEvents.increment({ abort: true });
87
+ throw new ConnectionFailedError(`Could not connect to ${uri}`);
88
+ }
89
+ else {
90
+ this.metrics?.dialerEvents.increment({ error: true });
94
91
  }
95
- rawSocket.close()
96
- .catch(err => {
97
- this.log.error('error closing raw socket', err);
98
- });
92
+ try {
93
+ websocket.close();
94
+ }
95
+ catch { }
99
96
  throw err;
100
97
  }
101
98
  this.log('connected %s', ma);
102
99
  this.metrics?.dialerEvents.increment({ connect: true });
103
- return rawSocket;
100
+ return websocket;
104
101
  }
105
102
  /**
106
103
  * Creates a WebSockets listener. The provided `handler` function will be called
@@ -117,21 +114,9 @@ class WebSockets {
117
114
  ...options
118
115
  });
119
116
  }
120
- /**
121
- * Takes a list of `Multiaddr`s and returns only valid WebSockets addresses.
122
- * By default, in a browser environment only DNS+WSS multiaddr is accepted,
123
- * while in a Node.js environment DNS+{WS, WSS} multiaddrs are accepted.
124
- */
125
117
  listenFilter(multiaddrs) {
126
- multiaddrs = Array.isArray(multiaddrs) ? multiaddrs : [multiaddrs];
127
- if (this.init?.filter != null) {
128
- return this.init?.filter(multiaddrs);
129
- }
130
- return filters.all(multiaddrs);
118
+ return multiaddrs.filter(ma => WebSocketsMatcher.exactMatch(ma) || WebSocketsSecure.exactMatch(ma));
131
119
  }
132
- /**
133
- * Filter check for all Multiaddrs that this transport can dial
134
- */
135
120
  dialFilter(multiaddrs) {
136
121
  return this.listenFilter(multiaddrs);
137
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export interface WebSocketListenerInit extends CreateListenerOptions {
19
19
  key?: string;
20
20
  http?: http.ServerOptions;
21
21
  https?: http.ServerOptions;
22
+ maxBufferedAmount?: number;
23
+ bufferedAmountPollInterval?: number;
22
24
  }
23
25
  export interface WebSocketListenerMetrics {
24
26
  status?: MetricGroup;
@@ -26,8 +28,8 @@ export interface WebSocketListenerMetrics {
26
28
  events?: CounterGroup;
27
29
  }
28
30
  export declare class WebSocketListener extends TypedEventEmitter<ListenerEvents> implements Listener {
31
+ private components;
29
32
  private readonly log;
30
- private readonly logger;
31
33
  private readonly server;
32
34
  private readonly wsServer;
33
35
  private readonly metrics;
@@ -40,6 +42,8 @@ export declare class WebSocketListener extends TypedEventEmitter<ListenerEvents>
40
42
  private https?;
41
43
  private addr?;
42
44
  private listeningMultiaddr?;
45
+ private maxBufferedAmount?;
46
+ private bufferedAmountPollInterval?;
43
47
  constructor(components: WebSocketListenerComponents, init: WebSocketListenerInit);
44
48
  onSocketConnection(socket: net.Socket): Promise<void>;
45
49
  onWsServerConnection(socket: ws.WebSocket, req: http.IncomingMessage): void;
@@ -1 +1 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,17 @@
1
1
  import http from 'node:http';
2
2
  import https from 'node:https';
3
3
  import net from 'node:net';
4
- import { getThinWaistAddresses } from '@libp2p/utils/get-thin-waist-addresses';
5
- import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr';
4
+ import { getNetConfig, getThinWaistAddresses, ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils';
6
5
  import { multiaddr } from '@multiformats/multiaddr';
7
6
  import { WebSockets, WebSocketsSecure } from '@multiformats/multiaddr-matcher';
8
- import duplex from 'it-ws/duplex';
9
7
  import { TypedEventEmitter, setMaxListeners } from 'main-event';
10
8
  import { pEvent } from 'p-event';
11
9
  import * as ws from 'ws';
12
- import { socketToMaConn } from './socket-to-conn.js';
10
+ import { toWebSocket } from "./utils.js";
11
+ import { webSocketToMaConn } from './websocket-to-conn.js';
13
12
  export class WebSocketListener extends TypedEventEmitter {
13
+ components;
14
14
  log;
15
- logger;
16
15
  server;
17
16
  wsServer;
18
17
  metrics;
@@ -25,13 +24,17 @@ export class WebSocketListener extends TypedEventEmitter {
25
24
  https;
26
25
  addr;
27
26
  listeningMultiaddr;
27
+ maxBufferedAmount;
28
+ bufferedAmountPollInterval;
28
29
  constructor(components, init) {
29
30
  super();
31
+ this.components = components;
30
32
  this.log = components.logger.forComponent('libp2p:websockets:listener');
31
- this.logger = components.logger;
32
33
  this.upgrader = init.upgrader;
33
34
  this.httpOptions = init.http;
34
35
  this.httpsOptions = init.https ?? init.http;
36
+ this.maxBufferedAmount = init.maxBufferedAmount;
37
+ this.bufferedAmountPollInterval = init.bufferedAmountPollInterval;
35
38
  this.sockets = new Set();
36
39
  this.shutdownController = new AbortController();
37
40
  setMaxListeners(Infinity, this.shutdownController.signal);
@@ -120,6 +123,7 @@ export class WebSocketListener extends TypedEventEmitter {
120
123
  }
121
124
  onWsServerConnection(socket, req) {
122
125
  let addr;
126
+ socket.binaryType = 'arraybuffer';
123
127
  try {
124
128
  addr = this.server.address();
125
129
  if (typeof addr === 'string') {
@@ -135,20 +139,17 @@ export class WebSocketListener extends TypedEventEmitter {
135
139
  socket.close();
136
140
  return;
137
141
  }
138
- const stream = {
139
- ...duplex(socket, {
140
- remoteAddress: req.socket.remoteAddress ?? '0.0.0.0',
141
- remotePort: req.socket.remotePort ?? 0
142
- }),
143
- localAddress: addr.address,
144
- localPort: addr.port
145
- };
146
142
  let maConn;
147
143
  try {
148
- maConn = socketToMaConn(stream, toMultiaddr(stream.remoteAddress ?? '', stream.remotePort ?? 0), {
149
- logger: this.logger,
144
+ maConn = webSocketToMaConn({
145
+ websocket: toWebSocket(socket),
146
+ remoteAddr: toMultiaddr(req.socket.remoteAddress ?? '0.0.0.0', req.socket.remotePort ?? 0).encapsulate('/ws'),
150
147
  metrics: this.metrics?.events,
151
- metricPrefix: `${this.addr} `
148
+ metricPrefix: `${this.addr} `,
149
+ direction: 'inbound',
150
+ log: this.components.logger.forComponent('libp2p:websockets:connection'),
151
+ maxBufferedAmount: this.maxBufferedAmount,
152
+ bufferedAmountPollInterval: this.bufferedAmountPollInterval
152
153
  });
153
154
  }
154
155
  catch (err) {
@@ -164,11 +165,7 @@ export class WebSocketListener extends TypedEventEmitter {
164
165
  .catch(async (err) => {
165
166
  this.log.error('inbound connection failed to upgrade - %e', err);
166
167
  this.metrics.errors?.increment({ [`${this.addr} inbound_upgrade`]: true });
167
- await maConn.close()
168
- .catch(err => {
169
- this.log.error('inbound connection failed to close after upgrade failed', err);
170
- this.metrics.errors?.increment({ [`${this.addr} inbound_closing_failed`]: true });
171
- });
168
+ maConn.close();
172
169
  });
173
170
  }
174
171
  onUpgrade(req, socket, head) {
@@ -188,11 +185,11 @@ export class WebSocketListener extends TypedEventEmitter {
188
185
  this.https.addListener('upgrade', this.onUpgrade.bind(this));
189
186
  this.https.addListener('tlsClientError', this.onTLSClientError.bind(this));
190
187
  }
191
- const options = ma.toOptions();
192
- this.addr = `${options.host}:${options.port}`;
188
+ const config = getNetConfig(ma);
189
+ this.addr = `${config.host}:${config.port}`;
193
190
  this.server.listen({
194
- ...options,
195
- ipv6Only: options.family === 6
191
+ ...config,
192
+ ipv6Only: config.type === 'ip6'
196
193
  });
197
194
  await new Promise((resolve, reject) => {
198
195
  const onListening = () => {
@@ -259,12 +256,17 @@ export class WebSocketListener extends TypedEventEmitter {
259
256
  });
260
257
  // abort and in-flight connection upgrades
261
258
  this.shutdownController.abort();
262
- await Promise.all([
259
+ const events = [
263
260
  pEvent(this.server, 'close'),
264
- this.http == null ? null : pEvent(this.http, 'close'),
265
- this.https == null ? null : pEvent(this.https, 'close'),
266
261
  pEvent(this.wsServer, 'close')
267
- ]);
262
+ ];
263
+ if (this.http != null) {
264
+ events.push(pEvent(this.http, 'close'));
265
+ }
266
+ if (this.https != null) {
267
+ events.push(pEvent(this.https, 'close'));
268
+ }
269
+ await Promise.all(events);
268
270
  this.safeDispatchEvent('close');
269
271
  }
270
272
  getAddrs() {
@@ -1 +1 @@
1
- {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { WebSocket as WSSWebSocket } from 'ws';
2
+ /**
3
+ * Adds properties/methods to a `WebSocket` instance from the `ws` module to be
4
+ * compatible with the `globalThis.WebSocket` API
5
+ */
6
+ export declare function toWebSocket(ws: WSSWebSocket): WebSocket;
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,IAAI,CAAA;AAEnD;;;GAGG;AACH,wBAAgB,WAAW,CAAE,EAAE,EAAE,YAAY,GAAG,SAAS,CA6BxD"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Adds properties/methods to a `WebSocket` instance from the `ws` module to be
3
+ * compatible with the `globalThis.WebSocket` API
4
+ */
5
+ export function toWebSocket(ws) {
6
+ Object.defineProperty(ws, 'url', {
7
+ value: '',
8
+ writable: false
9
+ });
10
+ // @ts-expect-error not a WS/WebSocket method
11
+ ws.dispatchEvent = (evt) => {
12
+ if (evt.type === 'close') {
13
+ ws.emit('close');
14
+ }
15
+ if (evt.type === 'open') {
16
+ ws.emit('open');
17
+ }
18
+ if (evt.type === 'message') {
19
+ const m = evt;
20
+ ws.emit('data', m.data);
21
+ }
22
+ if (evt.type === 'error') {
23
+ ws.emit('error', new Error('An error occurred'));
24
+ }
25
+ ws.emit(evt.type, evt);
26
+ };
27
+ // @ts-expect-error ws is now WebSocket
28
+ return ws;
29
+ }
30
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAE,EAAgB;IAC3C,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE;QAC/B,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAA;IAEF,6CAA6C;IAC7C,EAAE,CAAC,aAAa,GAAG,CAAC,GAAU,EAAE,EAAE;QAChC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClB,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACxB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,GAAmB,CAAA;YAC7B,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzB,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAA;QAClD,CAAC;QACD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACxB,CAAC,CAAA;IAED,uCAAuC;IACvC,OAAO,EAAE,CAAA;AACX,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { MultiaddrConnection } from '@libp2p/interface';
2
+ import type { AbstractMultiaddrConnectionInit } from '@libp2p/utils';
3
+ export interface WebSocketMultiaddrConnectionInit extends Omit<AbstractMultiaddrConnectionInit, 'name'> {
4
+ websocket: WebSocket;
5
+ maxBufferedAmount?: number;
6
+ bufferedAmountPollInterval?: number;
7
+ }
8
+ export declare function webSocketToMaConn(init: WebSocketMultiaddrConnectionInit): MultiaddrConnection;
9
+ //# sourceMappingURL=websocket-to-conn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-to-conn.d.ts","sourceRoot":"","sources":["../../src/websocket-to-conn.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,KAAK,EAAE,+BAA+B,EAA6B,MAAM,eAAe,CAAA;AAK/F,MAAM,WAAW,gCAAiC,SAAQ,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC;IACrG,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC;AA4FD,wBAAgB,iBAAiB,CAAE,IAAI,EAAE,gCAAgC,GAAG,mBAAmB,CAE9F"}
@@ -0,0 +1,83 @@
1
+ import { AbstractMultiaddrConnection, repeatingTask } from '@libp2p/utils';
2
+ import { Uint8ArrayList } from 'uint8arraylist';
3
+ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
4
+ const DEFAULT_MAX_BUFFERED_AMOUNT = 1024 * 1024 * 4;
5
+ const DEFAULT_BUFFERED_AMOUNT_POLL_INTERVAL = 10;
6
+ class WebSocketMultiaddrConnection extends AbstractMultiaddrConnection {
7
+ websocket;
8
+ maxBufferedAmount;
9
+ checkBufferedAmountTask;
10
+ constructor(init) {
11
+ super(init);
12
+ this.websocket = init.websocket;
13
+ this.maxBufferedAmount = init.maxBufferedAmount ?? DEFAULT_MAX_BUFFERED_AMOUNT;
14
+ this.checkBufferedAmountTask = repeatingTask(this.checkBufferedAmount.bind(this), init.bufferedAmountPollInterval ?? DEFAULT_BUFFERED_AMOUNT_POLL_INTERVAL);
15
+ this.websocket.addEventListener('close', (evt) => {
16
+ this.log('closed - code %d, reason "%s", wasClean %s', evt.code, evt.reason, evt.wasClean);
17
+ this.checkBufferedAmountTask.stop();
18
+ if (!evt.wasClean) {
19
+ this.onRemoteReset();
20
+ return;
21
+ }
22
+ this.onTransportClosed();
23
+ }, { once: true });
24
+ this.websocket.addEventListener('message', (evt) => {
25
+ try {
26
+ let buf;
27
+ if (typeof evt.data === 'string') {
28
+ buf = uint8ArrayFromString(evt.data);
29
+ }
30
+ else if (evt.data instanceof ArrayBuffer) {
31
+ buf = new Uint8Array(evt.data, 0, evt.data.byteLength);
32
+ }
33
+ else {
34
+ this.abort(new Error('Incorrect binary type'));
35
+ return;
36
+ }
37
+ this.onData(buf);
38
+ }
39
+ catch (err) {
40
+ this.log.error('error receiving data - %e', err);
41
+ }
42
+ });
43
+ }
44
+ sendData(data) {
45
+ for (const buf of data) {
46
+ this.websocket.send(buf);
47
+ }
48
+ const canSendMore = this.websocket.bufferedAmount < this.maxBufferedAmount;
49
+ if (!canSendMore) {
50
+ this.checkBufferedAmountTask.start();
51
+ }
52
+ return {
53
+ sentBytes: data.byteLength,
54
+ canSendMore
55
+ };
56
+ }
57
+ sendReset() {
58
+ this.websocket.close(1006); // abnormal closure
59
+ }
60
+ async sendClose(options) {
61
+ this.websocket.close();
62
+ options?.signal?.throwIfAborted();
63
+ }
64
+ sendPause() {
65
+ // read backpressure is not supported
66
+ }
67
+ sendResume() {
68
+ // read backpressure is not supported
69
+ }
70
+ checkBufferedAmount() {
71
+ this.log('buffered amount now %d', this.websocket.bufferedAmount);
72
+ if (this.websocket.bufferedAmount === 0) {
73
+ this.checkBufferedAmountTask.stop();
74
+ this.safeDispatchEvent('drain');
75
+ }
76
+ }
77
+ }
78
+ // Convert a stream into a MultiaddrConnection
79
+ // https://github.com/libp2p/interface-transport#multiaddrconnection
80
+ export function webSocketToMaConn(init) {
81
+ return new WebSocketMultiaddrConnection(init);
82
+ }
83
+ //# sourceMappingURL=websocket-to-conn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-to-conn.js","sourceRoot":"","sources":["../../src/websocket-to-conn.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/websockets",
3
- "version": "9.2.19",
3
+ "version": "10.0.0-55b7e5fea",
4
4
  "description": "JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/transport-websockets#readme",
@@ -67,27 +67,28 @@
67
67
  "test:electron-main": "aegir test -t electron-main -f ./dist/test/node.js --cov"
68
68
  },
69
69
  "dependencies": {
70
- "@libp2p/interface": "^2.11.0",
71
- "@libp2p/utils": "^6.7.2",
72
- "@multiformats/multiaddr": "^12.4.4",
73
- "@multiformats/multiaddr-matcher": "^2.0.0",
74
- "@multiformats/multiaddr-to-uri": "^11.0.0",
70
+ "@libp2p/interface": "3.0.0-55b7e5fea",
71
+ "@libp2p/utils": "7.0.0-55b7e5fea",
72
+ "@multiformats/multiaddr": "^13.0.1",
73
+ "@multiformats/multiaddr-matcher": "^3.0.1",
74
+ "@multiformats/multiaddr-to-uri": "^12.0.0",
75
75
  "@types/ws": "^8.18.1",
76
76
  "it-ws": "^6.1.5",
77
77
  "main-event": "^1.0.1",
78
- "p-defer": "^4.0.1",
79
- "p-event": "^6.0.1",
78
+ "p-event": "^7.0.0",
80
79
  "progress-events": "^1.0.1",
81
- "race-signal": "^1.1.3",
82
- "ws": "^8.18.2"
80
+ "uint8arraylist": "^2.4.8",
81
+ "uint8arrays": "^5.1.0",
82
+ "ws": "^8.18.3"
83
83
  },
84
84
  "devDependencies": {
85
- "@libp2p/logger": "^5.2.0",
86
- "aegir": "^47.0.14",
85
+ "@libp2p/logger": "6.0.0-55b7e5fea",
86
+ "aegir": "^47.0.22",
87
87
  "is-loopback-addr": "^2.0.2",
88
- "p-wait-for": "^5.0.2",
89
- "sinon": "^20.0.0",
90
- "sinon-ts": "^2.0.0"
88
+ "p-wait-for": "^6.0.0",
89
+ "sinon": "^21.0.0",
90
+ "sinon-ts": "^2.0.0",
91
+ "undici": "^7.15.0"
91
92
  },
92
93
  "browser": {
93
94
  "./dist/src/listener.js": "./dist/src/listener.browser.js"