@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.
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +4 -4
- package/dist/src/encode.d.ts +2 -1
- package/dist/src/encode.d.ts.map +1 -1
- package/dist/src/encode.js +6 -4
- package/dist/src/encode.js.map +1 -1
- package/dist/src/index.d.ts +31 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/mplex.d.ts +53 -11
- package/dist/src/mplex.d.ts.map +1 -1
- package/dist/src/mplex.js +222 -56
- package/dist/src/mplex.js.map +1 -1
- package/dist/src/stream.d.ts +23 -17
- package/dist/src/stream.d.ts.map +1 -1
- package/dist/src/stream.js +28 -56
- package/dist/src/stream.js.map +1 -1
- package/package.json +15 -12
- package/src/encode.ts +7 -5
- package/src/index.ts +43 -10
- package/src/mplex.ts +273 -58
- package/src/stream.ts +46 -78
package/dist/src/mplex.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mplex.js","sourceRoot":"","sources":["../../src/mplex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;
|
1
|
+
{"version":3,"file":"mplex.js","sourceRoot":"","sources":["../../src/mplex.ts"],"names":[],"mappings":"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"}
|
package/dist/src/stream.d.ts
CHANGED
@@ -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 {
|
4
|
-
import type { Logger
|
5
|
-
import type { AbstractStreamInit
|
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
|
-
|
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
|
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
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
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 {};
|
package/dist/src/stream.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
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"}
|
package/dist/src/stream.js
CHANGED
@@ -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
|
-
|
34
|
-
|
35
|
-
|
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
|
-
|
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:
|
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
|
-
|
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(
|
58
|
-
this.
|
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(
|
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,
|
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
|
-
|
79
|
-
|
49
|
+
id: type === 'initiator' ? (`i${id}`) : `r${id}`,
|
50
|
+
streamId: id,
|
51
|
+
name: `${name ?? id}`,
|
80
52
|
direction,
|
81
53
|
maxDataSize: maxMsgSize,
|
82
|
-
|
83
|
-
|
84
|
-
|
54
|
+
onEnd,
|
55
|
+
send,
|
56
|
+
log: options.log.newScope(`${direction}:${id}`)
|
85
57
|
});
|
86
58
|
}
|
87
59
|
//# sourceMappingURL=stream.js.map
|
package/dist/src/stream.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
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-
|
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-
|
59
|
-
"@libp2p/utils": "6.7.2-
|
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-
|
67
|
-
"@libp2p/logger": "5.2.0-
|
68
|
-
"aegir": "^47.0.
|
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.
|
72
|
-
"it-drain": "^3.0.
|
73
|
-
"it-foreach": "^2.1.
|
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
|
-
"
|
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 (
|
59
|
-
const
|
60
|
-
|
61
|
-
|
62
|
-
|
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
|
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 {
|
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
|
48
|
+
* @default 1048576
|
46
49
|
*/
|
47
|
-
|
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
|
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 (
|
84
|
-
return new MplexStreamMuxer(
|
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
|
}
|