@libp2p/mplex 11.0.47-6059227cb → 11.0.47-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.
@@ -1 +1 @@
1
- {"version":3,"file":"mplex.js","sourceRoot":"","sources":["../../src/mplex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAO1C,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAE9B,SAAS,YAAY,CAAE,GAAY;IACjC,MAAM,MAAM,GAAQ;QAClB,GAAG,GAAG;QACN,IAAI,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG;KACpD,CAAA;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,iBAAiB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC9F,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAA;IACjE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,OAAO,gBAAiB,SAAQ,mBAAgC;IAC5D,SAAS,CAAQ;IACR,WAAW,CAAa;IACxB,cAAc,CAAQ;IACtB,8BAA8B,CAAQ;IACtC,OAAO,CAAS;IAEjC,YAAa,MAA2B,EAAE,IAAe;QACvD,KAAK,CAAC,MAAM,EAAE;YACZ,GAAG,IAAI;YACP,QAAQ,EAAE,cAAc;YACxB,IAAI,EAAE,OAAO;SACd,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,YAAY,CAAA;QACzD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,8BAA8B,IAAI,kBAAkB,CAAA;QAC/F,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAEpF,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC;YACjC,MAAM,EAAE,IAAI,CAAC,mBAAmB,IAAI,oBAAoB;YACxD,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAE,IAAiC;QACvC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,cAAc,CAAE,OAA4B;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,CAAA;QACpD,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE3B,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,UAAU,CAAE,EAAU,EAAE,SAAiC,EAAE,OAA6B;QACtF,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;QAE3C,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,GAAG,OAAO;YACV,EAAE;YACF,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,cAAc;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI;SACZ,CAAC,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC;IAED,aAAa,CAAE,OAAgB;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU,EAAE,CAAC;YAC7C,wEAAwE;YACxE,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,GAAG,CAAC,4GAA4G,CAAC,CAAA;gBACtH,uHAAuH;gBACvH,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;gBAC9C,OAAM;YACR,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;YACzE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;YAE3B,OAAM;QACR,CAAC;QAED,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,CAAA;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAElD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,uCAAuC,EAAE,EAAE,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAErF,qEAAqE;YACrE,qEAAqE;YACrE,0DAA0D;YAC1D,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAA;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAA;gBAC5G,uHAAuH;gBACvH,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAA;gBAC9D,OAAM;YACR,CAAC;YAED,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,YAAY,CAAC,iBAAiB,CAAC;gBACpC,KAAK,YAAY,CAAC,gBAAgB;oBAChC,6DAA6D;oBAC7D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;oBAC3B,MAAK;gBACP,KAAK,YAAY,CAAC,eAAe,CAAC;gBAClC,KAAK,YAAY,CAAC,cAAc;oBAC9B,iCAAiC;oBACjC,MAAM,CAAC,kBAAkB,EAAE,CAAA;oBAC3B,MAAK;gBACP,KAAK,YAAY,CAAC,eAAe,CAAC;gBAClC,KAAK,YAAY,CAAC,cAAc;oBAC9B,6EAA6E;oBAC7E,MAAM,CAAC,aAAa,EAAE,CAAA;oBACtB,MAAK;gBACP;oBACE,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA;YAC1D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"mplex.js","sourceRoot":"","sources":["../../src/mplex.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,39 @@
1
- import { AbstractStream } from '@libp2p/utils';
1
+ import { AbstractStream } from '@libp2p/utils/abstract-stream';
2
2
  import { Uint8ArrayList } from 'uint8arraylist';
3
- import type { MplexStreamMuxer } from './mplex.ts';
4
- import type { Logger, MessageStreamDirection } from '@libp2p/interface';
5
- import type { AbstractStreamInit, SendResult } from '@libp2p/utils';
6
- import type { AbortOptions } from 'it-pushable';
3
+ import type { Message } from './message-types.js';
4
+ import type { Logger } from '@libp2p/interface';
5
+ import type { AbstractStreamInit } from '@libp2p/utils/abstract-stream';
7
6
  export interface Options {
8
7
  id: number;
8
+ send(msg: Message): Promise<void>;
9
9
  log: Logger;
10
- direction: MessageStreamDirection;
10
+ name?: string;
11
+ onEnd?(err?: Error): void;
12
+ type?: 'initiator' | 'receiver';
11
13
  maxMsgSize?: number;
12
- muxer: MplexStreamMuxer;
13
14
  }
14
15
  interface MplexStreamInit extends AbstractStreamInit {
16
+ streamId: number;
17
+ name: string;
18
+ send(msg: Message): Promise<void>;
19
+ /**
20
+ * The maximum allowable data size, any data larger than this will be
21
+ * chunked and sent in multiple data messages
22
+ */
15
23
  maxDataSize: number;
16
- muxer: MplexStreamMuxer;
17
- direction: MessageStreamDirection;
18
24
  }
19
25
  export declare class MplexStream extends AbstractStream {
20
- readonly streamId: number;
26
+ private readonly name;
27
+ private readonly streamId;
28
+ private readonly send;
21
29
  private readonly types;
22
30
  private readonly maxDataSize;
23
- private readonly muxer;
24
31
  constructor(init: MplexStreamInit);
25
- sendData(data: Uint8ArrayList): SendResult;
26
- sendReset(): boolean;
27
- sendCloseWrite(options?: AbortOptions): Promise<void>;
28
- sendCloseRead(options?: AbortOptions): Promise<void>;
29
- sendPause(): void;
30
- sendResume(): void;
32
+ sendNewStream(): Promise<void>;
33
+ sendData(data: Uint8ArrayList): Promise<void>;
34
+ sendReset(): Promise<void>;
35
+ sendCloseWrite(): Promise<void>;
36
+ sendCloseRead(): Promise<void>;
31
37
  }
32
38
  export declare function createStream(options: Options): MplexStream;
33
39
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAK/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,sBAAsB,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,gBAAgB,CAAA;CACxB;AAED,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,gBAAgB,CAAA;IACvB,SAAS,EAAE,sBAAsB,CAAA;CAClC;AAED,qBAAa,WAAY,SAAQ,cAAc;IAC7C,SAAgB,QAAQ,EAAE,MAAM,CAAA;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;gBAE3B,IAAI,EAAE,eAAe;IA0BlC,QAAQ,CAAE,IAAI,EAAE,cAAc,GAAG,UAAU;IAwB3C,SAAS,IAAK,OAAO;IASf,cAAc,CAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtD,aAAa,CAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,SAAS,IAAK,IAAI;IAIlB,UAAU,IAAK,IAAI;CAGpB;AAED,wBAAgB,YAAY,CAAE,OAAO,EAAE,OAAO,GAAG,WAAW,CAY3D"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAI/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAEvE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACzB,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,WAAY,SAAQ,cAAc;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiC;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAEvB,IAAI,EAAE,eAAe;IAU5B,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC;IAI/B,QAAQ,CAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9C,SAAS,IAAK,OAAO,CAAC,IAAI,CAAC;IAI3B,cAAc,IAAK,OAAO,CAAC,IAAI,CAAC;IAIhC,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC;CAGtC;AAED,wBAAgB,YAAY,CAAE,OAAO,EAAE,OAAO,GAAG,WAAW,CAc3D"}
@@ -1,87 +1,59 @@
1
- import { AbstractStream } from '@libp2p/utils';
1
+ import { AbstractStream } from '@libp2p/utils/abstract-stream';
2
2
  import { Uint8ArrayList } from 'uint8arraylist';
3
3
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
4
4
  import { MAX_MSG_SIZE } from './decode.js';
5
- import { encode } from "./encode.js";
6
5
  import { InitiatorMessageTypes, ReceiverMessageTypes } from './message-types.js';
7
6
  export class MplexStream extends AbstractStream {
7
+ name;
8
8
  streamId;
9
+ send;
9
10
  types;
10
11
  maxDataSize;
11
- muxer;
12
12
  constructor(init) {
13
13
  super(init);
14
14
  this.types = init.direction === 'outbound' ? InitiatorMessageTypes : ReceiverMessageTypes;
15
+ this.send = init.send;
16
+ this.name = init.name;
17
+ this.streamId = init.streamId;
15
18
  this.maxDataSize = init.maxDataSize;
16
- this.muxer = init.muxer;
17
- this.streamId = parseInt(this.id.substring(1));
18
- if (init.direction === 'outbound') {
19
- // open the stream on the receiver end. do this in a microtask so the
20
- // stream gets added to the streams array by the muxer superclass before
21
- // we send the NEW_STREAM message, otherwise we create a race condition
22
- // whereby we can receive the stream messages before the stream is added
23
- // to the streams list
24
- queueMicrotask(() => {
25
- this.muxer.send(encode({
26
- id: this.streamId,
27
- type: InitiatorMessageTypes.NEW_STREAM,
28
- data: new Uint8ArrayList(uint8ArrayFromString(this.id))
29
- }));
30
- });
31
- }
32
19
  }
33
- sendData(data) {
34
- const list = new Uint8ArrayList();
35
- const sentBytes = data.byteLength;
20
+ async sendNewStream() {
21
+ await this.send({ id: this.streamId, type: InitiatorMessageTypes.NEW_STREAM, data: new Uint8ArrayList(uint8ArrayFromString(this.name)) });
22
+ }
23
+ async sendData(data) {
24
+ data = data.sublist();
36
25
  while (data.byteLength > 0) {
37
26
  const toSend = Math.min(data.byteLength, this.maxDataSize);
38
- const slice = data.sublist(0, toSend);
39
- data = data.sublist(toSend);
40
- list.append(encode({
27
+ await this.send({
41
28
  id: this.streamId,
42
29
  type: this.types.MESSAGE,
43
- data: slice
44
- }));
30
+ data: data.sublist(0, toSend)
31
+ });
32
+ data.consume(toSend);
45
33
  }
46
- return {
47
- sentBytes,
48
- canSendMore: this.muxer.send(list)
49
- };
50
34
  }
51
- sendReset() {
52
- return this.muxer.send(encode({
53
- id: this.streamId,
54
- type: this.types.RESET
55
- }));
35
+ async sendReset() {
36
+ await this.send({ id: this.streamId, type: this.types.RESET });
56
37
  }
57
- async sendCloseWrite(options) {
58
- this.muxer.send(encode({
59
- id: this.streamId,
60
- type: this.types.CLOSE
61
- }));
62
- options?.signal?.throwIfAborted();
38
+ async sendCloseWrite() {
39
+ await this.send({ id: this.streamId, type: this.types.CLOSE });
63
40
  }
64
- async sendCloseRead(options) {
65
- options?.signal?.throwIfAborted();
41
+ async sendCloseRead() {
66
42
  // mplex does not support close read, only close write
67
43
  }
68
- sendPause() {
69
- // mplex does not support backpressure
70
- }
71
- sendResume() {
72
- // mplex does not support backpressure
73
- }
74
44
  }
75
45
  export function createStream(options) {
76
- const { id, muxer, direction, maxMsgSize = MAX_MSG_SIZE } = options;
46
+ const { id, name, send, onEnd, type = 'initiator', maxMsgSize = MAX_MSG_SIZE } = options;
47
+ const direction = type === 'initiator' ? 'outbound' : 'inbound';
77
48
  return new MplexStream({
78
- ...options,
79
- id: direction === 'outbound' ? (`i${id}`) : `r${id}`,
49
+ id: type === 'initiator' ? (`i${id}`) : `r${id}`,
50
+ streamId: id,
51
+ name: `${name ?? id}`,
80
52
  direction,
81
53
  maxDataSize: maxMsgSize,
82
- muxer,
83
- log: options.log.newScope(`${direction}:${id}`),
84
- protocol: ''
54
+ onEnd,
55
+ send,
56
+ log: options.log.newScope(`${direction}:${id}`)
85
57
  });
86
58
  }
87
59
  //# sourceMappingURL=stream.js.map
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/mplex",
3
- "version": "11.0.47-6059227cb",
3
+ "version": "11.0.47-87bc8d4fb",
4
4
  "description": "JavaScript implementation of https://github.com/libp2p/mplex",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/stream-multiplexer-mplex#readme",
@@ -55,26 +55,29 @@
55
55
  "test:electron-main": "aegir test -t electron-main"
56
56
  },
57
57
  "dependencies": {
58
- "@libp2p/interface": "2.11.0-6059227cb",
59
- "@libp2p/utils": "6.7.2-6059227cb",
58
+ "@libp2p/interface": "2.11.0-87bc8d4fb",
59
+ "@libp2p/utils": "6.7.2-87bc8d4fb",
60
+ "it-pipe": "^3.0.1",
60
61
  "it-pushable": "^3.2.3",
62
+ "it-stream-types": "^2.0.2",
61
63
  "uint8-varint": "^2.0.4",
62
64
  "uint8arraylist": "^2.4.8",
63
65
  "uint8arrays": "^5.1.0"
64
66
  },
65
67
  "devDependencies": {
66
- "@libp2p/interface-compliance-tests": "6.5.0-6059227cb",
67
- "@libp2p/logger": "5.2.0-6059227cb",
68
- "aegir": "^47.0.22",
68
+ "@libp2p/interface-compliance-tests": "6.5.0-87bc8d4fb",
69
+ "@libp2p/logger": "5.2.0-87bc8d4fb",
70
+ "aegir": "^47.0.14",
69
71
  "benchmark": "^2.1.4",
72
+ "cborg": "^4.2.11",
73
+ "delay": "^6.0.0",
70
74
  "iso-random-stream": "^2.0.2",
71
- "it-all": "^3.0.9",
72
- "it-drain": "^3.0.10",
73
- "it-foreach": "^2.1.4",
75
+ "it-all": "^3.0.8",
76
+ "it-drain": "^3.0.9",
77
+ "it-foreach": "^2.1.3",
78
+ "it-map": "^3.1.3",
74
79
  "it-pair": "^2.0.6",
75
- "it-pipe": "^3.0.1",
76
- "it-stream-types": "^2.0.2",
77
- "p-event": "^6.0.1",
80
+ "p-defer": "^4.0.1",
78
81
  "random-int": "^3.0.0"
79
82
  },
80
83
  "sideEffects": false
package/src/encode.ts CHANGED
@@ -3,6 +3,7 @@ import { Uint8ArrayList } from 'uint8arraylist'
3
3
  import { allocUnsafe } from 'uint8arrays/alloc'
4
4
  import { MessageTypes } from './message-types.js'
5
5
  import type { Message } from './message-types.js'
6
+ import type { Source } from 'it-stream-types'
6
7
 
7
8
  const POOL_SIZE = 10 * 1024
8
9
 
@@ -55,9 +56,10 @@ const encoder = new Encoder()
55
56
  /**
56
57
  * Encode and yield one or more messages
57
58
  */
58
- export function encode (message: Message): Uint8ArrayList {
59
- const list = new Uint8ArrayList()
60
- encoder.write(message, list)
61
-
62
- return list
59
+ export async function * encode (source: Source<Message>): AsyncGenerator<Uint8Array | Uint8ArrayList, void, undefined> {
60
+ for await (const message of source) {
61
+ const list = new Uint8ArrayList()
62
+ encoder.write(message, list)
63
+ yield list
64
+ }
63
65
  }
package/src/index.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * This is a [simple stream multiplexer(https://docs.libp2p.io/concepts/multiplex/mplex/) that has been deprecated.
5
5
  *
6
- * Please use [@libp2p/yamux](https://www.npmjs.com/package/@libp2p/yamux) instead.
6
+ * Please use [@chainsafe/libp2p-yamux](https://www.npmjs.com/package/@chainsafe/libp2p-yamux) instead.
7
7
  *
8
8
  * @example
9
9
  *
@@ -33,7 +33,10 @@
33
33
 
34
34
  import { serviceCapabilities } from '@libp2p/interface'
35
35
  import { MplexStreamMuxer } from './mplex.js'
36
- import type { MultiaddrConnection, StreamMuxer, StreamMuxerFactory } from '@libp2p/interface'
36
+ import type { MplexComponents } from './mplex.js'
37
+ import type { StreamMuxer, StreamMuxerFactory, StreamMuxerInit } from '@libp2p/interface'
38
+
39
+ export type { MplexComponents }
37
40
 
38
41
  export interface MplexInit {
39
42
  /**
@@ -42,9 +45,9 @@ export interface MplexInit {
42
45
  * messages. If we receive a message larger than this an error will
43
46
  * be thrown and the connection closed.
44
47
  *
45
- * @default 1_048_576
48
+ * @default 1048576
46
49
  */
47
- maxMessageSize?: number
50
+ maxMsgSize?: number
48
51
 
49
52
  /**
50
53
  * Constrains the size of the unprocessed message queue buffer.
@@ -52,10 +55,37 @@ export interface MplexInit {
52
55
  * we have the complete message to deserialized. If the queue gets longer
53
56
  * than this value an error will be thrown and the connection closed.
54
57
  *
55
- * @default 4_194_304
58
+ * @default 4194304
56
59
  */
57
60
  maxUnprocessedMessageQueueSize?: number
58
61
 
62
+ /**
63
+ * The maximum number of multiplexed streams that can be open at any
64
+ * one time. A request to open more than this will have a stream
65
+ * reset message sent immediately as a response for the newly opened
66
+ * stream id
67
+ *
68
+ * @default 1024
69
+ */
70
+ maxInboundStreams?: number
71
+
72
+ /**
73
+ * The maximum number of multiplexed streams that can be open at any
74
+ * one time. An attempt to open more than this will throw
75
+ *
76
+ * @default 1024
77
+ */
78
+ maxOutboundStreams?: number
79
+
80
+ /**
81
+ * Incoming stream messages are buffered until processed by the stream
82
+ * handler. If the buffer reaches this size in bytes the stream will
83
+ * be reset
84
+ *
85
+ * @default 4194304
86
+ */
87
+ maxStreamBufferSize?: number
88
+
59
89
  /**
60
90
  * When `maxInboundStreams` is hit, if the remote continues try to open
61
91
  * more than this many new multiplexed streams per second the connection
@@ -69,8 +99,10 @@ export interface MplexInit {
69
99
  class Mplex implements StreamMuxerFactory {
70
100
  public protocol = '/mplex/6.7.0'
71
101
  private readonly _init: MplexInit
102
+ private readonly components: MplexComponents
72
103
 
73
- constructor (init: MplexInit = {}) {
104
+ constructor (components: MplexComponents, init: MplexInit = {}) {
105
+ this.components = components
74
106
  this._init = init
75
107
  }
76
108
 
@@ -80,8 +112,9 @@ class Mplex implements StreamMuxerFactory {
80
112
  '@libp2p/stream-multiplexing'
81
113
  ]
82
114
 
83
- createStreamMuxer (maConn: MultiaddrConnection): StreamMuxer {
84
- return new MplexStreamMuxer(maConn, {
115
+ createStreamMuxer (init: StreamMuxerInit): StreamMuxer {
116
+ return new MplexStreamMuxer(this.components, {
117
+ ...init,
85
118
  ...this._init
86
119
  })
87
120
  }
@@ -90,6 +123,6 @@ class Mplex implements StreamMuxerFactory {
90
123
  /**
91
124
  * @deprecated mplex is deprecated as it has no flow control. Please use yamux instead.
92
125
  */
93
- export function mplex (init: MplexInit = {}): () => StreamMuxerFactory {
94
- return () => new Mplex(init)
126
+ export function mplex (init: MplexInit = {}): (components: MplexComponents) => StreamMuxerFactory {
127
+ return (components) => new Mplex(components, init)
95
128
  }