@peerbit/stream 4.4.0-58d3d09 → 4.4.0-780f7ce
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/src/index.d.ts +10 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +79 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/pushable-lanes.d.ts +48 -22
- package/dist/src/pushable-lanes.d.ts.map +1 -1
- package/dist/src/pushable-lanes.js +183 -57
- package/dist/src/pushable-lanes.js.map +1 -1
- package/package.json +7 -7
- package/src/index.ts +108 -11
- package/src/pushable-lanes.ts +285 -116
|
@@ -11,53 +11,79 @@ export interface AbortOptions {
|
|
|
11
11
|
*/
|
|
12
12
|
export interface PushableLanes<T, R = void, N = unknown> extends AsyncGenerator<T, R, N> {
|
|
13
13
|
/**
|
|
14
|
-
* End the iterable after all values in the buffer (if any) have been yielded.
|
|
15
|
-
* error is passed the buffer is cleared immediately and the next
|
|
16
|
-
* throw the passed error
|
|
14
|
+
* End the iterable after all values in the buffer (if any) have been yielded.
|
|
15
|
+
* If an error is passed, the buffer is cleared immediately and the next
|
|
16
|
+
* iteration will throw the passed error.
|
|
17
17
|
*/
|
|
18
18
|
end(err?: Error): this;
|
|
19
19
|
/**
|
|
20
|
-
* Push a value into the iterable. Values are yielded
|
|
21
|
-
*
|
|
20
|
+
* Push a value into the iterable. Values are yielded in a lane-aware order.
|
|
21
|
+
* Values not yet consumed are buffered. Optional `lane` is 0-based (default 0).
|
|
22
22
|
*/
|
|
23
23
|
push(value: T, lane?: number): this;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
* this
|
|
27
|
-
*
|
|
28
|
-
* If an AbortSignal is passed as an option and that signal aborts, it only
|
|
29
|
-
* causes the returned promise to reject - it does not end the pushable.
|
|
25
|
+
* Resolves when the underlying buffer becomes empty (no queued data).
|
|
26
|
+
* If an AbortSignal is given and it aborts, only this promise rejects;
|
|
27
|
+
* the pushable itself is not ended.
|
|
30
28
|
*/
|
|
31
29
|
onEmpty(options?: AbortOptions): Promise<void>;
|
|
32
|
-
/**
|
|
33
|
-
* This property contains the total number of bytes in the queue ready to be read.
|
|
34
|
-
*
|
|
35
|
-
*/
|
|
30
|
+
/** Total number of bytes buffered (across all lanes). */
|
|
36
31
|
get readableLength(): number;
|
|
37
32
|
/**
|
|
38
|
-
* Get readable length for specific lane
|
|
39
|
-
* @param lane
|
|
40
|
-
* @returns readable length for the lane
|
|
33
|
+
* Get readable length for a specific lane (bytes) or total when `lane` is undefined.
|
|
41
34
|
*/
|
|
42
35
|
getReadableLength(lane?: number): number;
|
|
43
36
|
}
|
|
37
|
+
/** How to distribute turns between lanes. */
|
|
38
|
+
export type FairnessMode = "priority" | "wrr";
|
|
39
|
+
/** What to do when buffer would exceed `maxBufferedBytes`. */
|
|
40
|
+
export type OverflowPolicy = "throw" | "drop-newest";
|
|
44
41
|
export interface Options {
|
|
45
42
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* passed the error as a parameter.
|
|
43
|
+
* Called after *all* values have been yielded from the iterator (including buffered values).
|
|
44
|
+
* If the iterator is ended with an error it will receive the error.
|
|
49
45
|
*/
|
|
50
46
|
onEnd?(err?: Error): void;
|
|
51
47
|
/**
|
|
52
|
-
*
|
|
48
|
+
* Number of lanes. Lane 0 is the "fastest"/most preferred lane.
|
|
49
|
+
* Default: 1
|
|
53
50
|
*/
|
|
54
51
|
lanes?: number;
|
|
55
52
|
/**
|
|
56
|
-
* Optional hook invoked on every successful push with the value and lane
|
|
53
|
+
* Optional hook invoked on every successful push with the value and lane.
|
|
54
|
+
* Useful for metrics/telemetry.
|
|
57
55
|
*/
|
|
58
56
|
onPush?(value: {
|
|
59
57
|
byteLength: number;
|
|
60
58
|
}, lane: number): void;
|
|
59
|
+
/**
|
|
60
|
+
* Fairness mode:
|
|
61
|
+
* - 'priority': strict priority (original behavior).
|
|
62
|
+
* - 'wrr': weighted round-robin (starvation-free).
|
|
63
|
+
* Default: 'wrr'
|
|
64
|
+
*/
|
|
65
|
+
fairness?: FairnessMode;
|
|
66
|
+
/**
|
|
67
|
+
* Weights per lane if fairness === 'wrr'. Larger weight = more service.
|
|
68
|
+
* Must have length === lanes and each weight >= 1.
|
|
69
|
+
* If omitted, weights are auto-generated from `bias`.
|
|
70
|
+
*/
|
|
71
|
+
weights?: number[];
|
|
72
|
+
/**
|
|
73
|
+
* Bias factor for auto-generated weights when fairness === 'wrr'.
|
|
74
|
+
* For lanes L, weight[i] = floor(bias^(L-1-i)) with a minimum of 1.
|
|
75
|
+
* Default: 2 (e.g., lanes=4 -> [8,4,2,1])
|
|
76
|
+
*/
|
|
77
|
+
bias?: number;
|
|
78
|
+
/**
|
|
79
|
+
* Optional high-water mark in **bytes** across all lanes.
|
|
80
|
+
* If a `push` would exceed this many buffered bytes:
|
|
81
|
+
* - overflow: 'throw' -> throw an Error (default policy)
|
|
82
|
+
* - overflow: 'drop-newest' -> silently drop this pushed item
|
|
83
|
+
*/
|
|
84
|
+
maxBufferedBytes?: number;
|
|
85
|
+
/** Overflow policy when `maxBufferedBytes` would be exceeded. Default: 'throw' */
|
|
86
|
+
overflow?: OverflowPolicy;
|
|
61
87
|
}
|
|
62
88
|
export interface DoneResult {
|
|
63
89
|
done: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushable-lanes.d.ts","sourceRoot":"","sources":["../../src/pushable-lanes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pushable-lanes.d.ts","sourceRoot":"","sources":["../../src/pushable-lanes.ts"],"names":[],"mappings":"AA6BA,qBAAa,UAAW,SAAQ,KAAK;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;gBAED,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK3C;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CACtD,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/B;;;;OAIG;IACH,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAEvB;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC;;;;OAIG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,yDAAyD;IACzD,IAAI,cAAc,IAAI,MAAM,CAAC;IAE7B;;OAEG;IACH,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzC;AAED,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,KAAK,CAAC;AAE9C,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,aAAa,CAAC;AAErD,MAAM,WAAW,OAAO;IACvB;;;OAGG;IACH,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3D;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC1B;AAMD,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,IAAI,CAAC;CACX;AACD,MAAM,WAAW,WAAW,CAAC,CAAC;IAC7B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;CACT;AACD,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,CAAC;CACV;AA8ID,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,EAC1E,OAAO,GAAE,OAAY,GACnB,aAAa,CAAC,CAAC,CAAC,CAElB"}
|
|
@@ -1,5 +1,30 @@
|
|
|
1
|
+
// pushable-lanes.ts
|
|
2
|
+
// A multi-lane async pushable with starvation-free scheduling.
|
|
3
|
+
// Inspired by it-pushable (MIT) and extended for multi-lane fairness.
|
|
4
|
+
//
|
|
5
|
+
// Features:
|
|
6
|
+
// - Async iterator you can .push() into
|
|
7
|
+
// - N lanes (priorities) with starvation-free scheduling (Weighted Round-Robin)
|
|
8
|
+
// - Optional strict priority mode for legacy behavior
|
|
9
|
+
// - Optional high-water mark (bytes) with overflow policy
|
|
10
|
+
//
|
|
11
|
+
// Usage:
|
|
12
|
+
// const p = pushableLanes<Uint8Array>({ lanes: 2 }); // default fairness = 'wrr'
|
|
13
|
+
// p.push(new Uint8Array([1]), 1); // slower lane
|
|
14
|
+
// p.push(new Uint8Array([0]), 0); // faster lane
|
|
15
|
+
// for await (const chunk of p) { ... }
|
|
16
|
+
//
|
|
17
|
+
// // Backpressure example (throw if > 8MB buffered):
|
|
18
|
+
// const q = pushableLanes<Uint8Array>({ lanes: 3, maxBufferedBytes: 8 * 1024 * 1024, overflow: 'throw' });
|
|
19
|
+
//
|
|
20
|
+
// Notes:
|
|
21
|
+
// - T must have a .byteLength number property (e.g. Uint8Array).
|
|
22
|
+
// - Lane indices are 0..(lanes-1). Defaults to lane 0.
|
|
1
23
|
import GenericFIFO from "fast-fifo";
|
|
2
24
|
import defer from "p-defer";
|
|
25
|
+
// -----------------------------
|
|
26
|
+
// Errors & shared option types
|
|
27
|
+
// -----------------------------
|
|
3
28
|
export class AbortError extends Error {
|
|
4
29
|
type;
|
|
5
30
|
code;
|
|
@@ -10,80 +35,160 @@ export class AbortError extends Error {
|
|
|
10
35
|
}
|
|
11
36
|
}
|
|
12
37
|
/**
|
|
13
|
-
*
|
|
38
|
+
* FIFO that tracks the total readable bytes (`.size`) of queued values.
|
|
14
39
|
*/
|
|
15
|
-
class
|
|
40
|
+
class ByteFifo extends GenericFIFO {
|
|
16
41
|
size = 0;
|
|
17
42
|
push(val) {
|
|
18
|
-
if (val.value)
|
|
43
|
+
if (val.value)
|
|
19
44
|
this.size += val.value.byteLength;
|
|
20
|
-
}
|
|
21
45
|
return super.push(val);
|
|
22
46
|
}
|
|
23
47
|
shift() {
|
|
24
48
|
const shifted = super.shift();
|
|
25
|
-
if (shifted?.value)
|
|
49
|
+
if (shifted?.value)
|
|
26
50
|
this.size -= shifted.value.byteLength;
|
|
27
|
-
}
|
|
28
51
|
return shifted;
|
|
29
52
|
}
|
|
30
53
|
}
|
|
31
54
|
/**
|
|
32
|
-
* A queue
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* so no lane get really "stuck"
|
|
55
|
+
* A multi-lane queue with configurable fairness.
|
|
56
|
+
* - 'priority': probe lanes in order 0..L-1 each shift.
|
|
57
|
+
* - 'wrr': service lanes according to weights in a repeating schedule.
|
|
36
58
|
*/
|
|
37
|
-
class
|
|
59
|
+
class LaneQueue {
|
|
38
60
|
lanes;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
61
|
+
mode;
|
|
62
|
+
schedule; // WRR: repeated lane indices per weight
|
|
63
|
+
cursor = 0;
|
|
64
|
+
constructor(init) {
|
|
65
|
+
const L = Math.max(1, init.lanes | 0);
|
|
66
|
+
this.mode = init.fairness ?? "wrr";
|
|
67
|
+
this.lanes = Array.from({ length: L }, () => new ByteFifo());
|
|
68
|
+
if (this.mode === "wrr") {
|
|
69
|
+
const bias = init.bias ?? 2;
|
|
70
|
+
const auto = Array.from({ length: L }, (_, i) => Math.max(1, Math.floor(Math.pow(bias, L - 1 - i))));
|
|
71
|
+
const w = normalizeWeights(init.weights ?? auto, L);
|
|
72
|
+
// Build a simple round-robin schedule by repeating lanes according to weight.
|
|
73
|
+
this.schedule = [];
|
|
74
|
+
for (let i = 0; i < L; i++) {
|
|
75
|
+
for (let k = 0; k < w[i]; k++)
|
|
76
|
+
this.schedule.push(i);
|
|
77
|
+
}
|
|
78
|
+
// Edge case: if all weights collapsed to zero (shouldn't), fall back to priority.
|
|
79
|
+
if (this.schedule.length === 0) {
|
|
80
|
+
this.schedule = Array.from({ length: L }, (_, i) => i);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// strict priority
|
|
85
|
+
this.schedule = Array.from({ length: L }, (_, i) => i);
|
|
43
86
|
}
|
|
44
87
|
}
|
|
45
88
|
get size() {
|
|
46
89
|
let sum = 0;
|
|
47
|
-
for (const lane of this.lanes)
|
|
90
|
+
for (const lane of this.lanes)
|
|
48
91
|
sum += lane.size;
|
|
49
|
-
}
|
|
50
92
|
return sum;
|
|
51
93
|
}
|
|
94
|
+
/** Enqueue a value into a specific lane. */
|
|
52
95
|
push(val, lane) {
|
|
53
|
-
|
|
96
|
+
const idx = clampLane(lane, this.lanes.length);
|
|
97
|
+
this.lanes[idx].push(val);
|
|
98
|
+
}
|
|
99
|
+
/** True if all lanes are empty. */
|
|
100
|
+
isEmpty() {
|
|
101
|
+
for (const lane of this.lanes)
|
|
102
|
+
if (!lane.isEmpty())
|
|
103
|
+
return false;
|
|
104
|
+
return true;
|
|
54
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Dequeue the next value by fairness rules.
|
|
108
|
+
* Ensures progress even if some schedule slots map to empty lanes.
|
|
109
|
+
*/
|
|
55
110
|
shift() {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
111
|
+
if (this.isEmpty())
|
|
112
|
+
return undefined;
|
|
113
|
+
if (this.mode === "priority") {
|
|
114
|
+
// strict priority: always scan from lane 0
|
|
115
|
+
for (let i = 0; i < this.lanes.length; i++) {
|
|
116
|
+
const item = this.lanes[i].shift();
|
|
117
|
+
if (item)
|
|
118
|
+
return item;
|
|
62
119
|
}
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
// WRR mode: use rotating schedule
|
|
123
|
+
const L = this.schedule.length;
|
|
124
|
+
for (let probes = 0; probes < L; probes++) {
|
|
125
|
+
const laneIdx = this.schedule[this.cursor];
|
|
126
|
+
this.cursor = (this.cursor + 1) % L;
|
|
127
|
+
const item = this.lanes[laneIdx].shift();
|
|
128
|
+
if (item)
|
|
129
|
+
return item;
|
|
130
|
+
}
|
|
131
|
+
// (very unlikely) nothing was found despite size>0 – linear scan fallback
|
|
132
|
+
for (let i = 0; i < this.lanes.length; i++) {
|
|
133
|
+
const item = this.lanes[i].shift();
|
|
134
|
+
if (item)
|
|
135
|
+
return item;
|
|
63
136
|
}
|
|
64
137
|
return undefined;
|
|
65
138
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
139
|
+
}
|
|
140
|
+
function normalizeWeights(weights, lanes) {
|
|
141
|
+
if (weights.length !== lanes) {
|
|
142
|
+
throw new Error(`weights length (${weights.length}) must equal lanes (${lanes})`);
|
|
143
|
+
}
|
|
144
|
+
const w = weights.map((x) => (x && x > 0 ? Math.floor(x) : 0));
|
|
145
|
+
if (w.every((x) => x === 0)) {
|
|
146
|
+
// ensure at least 1 for all lanes to retain progress guarantees
|
|
147
|
+
return Array.from({ length: lanes }, () => 1);
|
|
73
148
|
}
|
|
149
|
+
return w;
|
|
74
150
|
}
|
|
151
|
+
function clampLane(lane, lanes) {
|
|
152
|
+
if (!Number.isFinite(lane))
|
|
153
|
+
return 0;
|
|
154
|
+
lane = lane | 0;
|
|
155
|
+
if (lane < 0)
|
|
156
|
+
return 0;
|
|
157
|
+
if (lane >= lanes)
|
|
158
|
+
return lanes - 1;
|
|
159
|
+
return lane;
|
|
160
|
+
}
|
|
161
|
+
// -----------------------------
|
|
162
|
+
// Factory
|
|
163
|
+
// -----------------------------
|
|
75
164
|
export function pushableLanes(options = {}) {
|
|
76
165
|
return _pushable(options);
|
|
77
166
|
}
|
|
78
|
-
//
|
|
167
|
+
// -----------------------------
|
|
168
|
+
// Core implementation
|
|
169
|
+
// -----------------------------
|
|
170
|
+
// Based on it-pushable, adapted to multi-lane buffered queues with fairness.
|
|
171
|
+
// Important invariants:
|
|
172
|
+
// - We resolve the internal "drain" promise whenever the buffer *becomes empty*.
|
|
173
|
+
// - After end(err), the iterator finishes; push() becomes a no-op.
|
|
79
174
|
function _pushable(options) {
|
|
80
175
|
options = options ?? {};
|
|
81
176
|
let onEnd = options.onEnd;
|
|
82
|
-
|
|
177
|
+
// Main buffer: multi-lane with fairness
|
|
178
|
+
let buffer = new LaneQueue({
|
|
179
|
+
lanes: options.lanes ?? 1,
|
|
180
|
+
fairness: options.fairness ?? "wrr",
|
|
181
|
+
weights: options.weights,
|
|
182
|
+
bias: options.bias ?? 2,
|
|
183
|
+
});
|
|
184
|
+
// After end(err) we may swap buffer to a simple ByteFifo to deliver the terminal signal/error.
|
|
185
|
+
const isLaneQueue = (buffer) => buffer instanceof LaneQueue;
|
|
83
186
|
let pushable;
|
|
84
187
|
let onNext;
|
|
85
|
-
let ended;
|
|
188
|
+
let ended = false;
|
|
86
189
|
let drain = defer();
|
|
190
|
+
const maxBytes = options.maxBufferedBytes;
|
|
191
|
+
const overflow = options.overflow ?? "throw";
|
|
87
192
|
const getNext = () => {
|
|
88
193
|
const next = buffer.shift();
|
|
89
194
|
if (next == null) {
|
|
@@ -121,9 +226,8 @@ function _pushable(options) {
|
|
|
121
226
|
});
|
|
122
227
|
}
|
|
123
228
|
finally {
|
|
229
|
+
// If buffer is empty after this turn, resolve the drain promise (in a microtask)
|
|
124
230
|
if (buffer.isEmpty()) {
|
|
125
|
-
// settle promise in the microtask queue to give consumers a chance to
|
|
126
|
-
// await after calling .push
|
|
127
231
|
queueMicrotask(() => {
|
|
128
232
|
drain.resolve();
|
|
129
233
|
drain = defer();
|
|
@@ -139,19 +243,38 @@ function _pushable(options) {
|
|
|
139
243
|
return pushable;
|
|
140
244
|
};
|
|
141
245
|
const bufferError = (err) => {
|
|
142
|
-
|
|
246
|
+
// swap to ByteFifo to deliver a single terminal error
|
|
247
|
+
buffer = new ByteFifo();
|
|
143
248
|
if (onNext != null) {
|
|
144
249
|
return onNext({ error: err }, 0);
|
|
145
250
|
}
|
|
146
251
|
buffer.push({ error: err });
|
|
147
252
|
return pushable;
|
|
148
253
|
};
|
|
254
|
+
const totalBufferedBytes = () => {
|
|
255
|
+
if (isLaneQueue(buffer))
|
|
256
|
+
return buffer.size;
|
|
257
|
+
return buffer.size;
|
|
258
|
+
};
|
|
149
259
|
const push = (value, lane = 0) => {
|
|
150
260
|
if (ended) {
|
|
261
|
+
// Ignore pushes after end() for safety (consistent with it-pushable).
|
|
151
262
|
return pushable;
|
|
152
263
|
}
|
|
264
|
+
// Simple backpressure: enforce HWM if configured
|
|
265
|
+
if (maxBytes != null && maxBytes > 0) {
|
|
266
|
+
const wouldBe = totalBufferedBytes() + value.byteLength;
|
|
267
|
+
if (wouldBe > maxBytes) {
|
|
268
|
+
if (overflow === "drop-newest") {
|
|
269
|
+
// silently drop this item
|
|
270
|
+
return pushable;
|
|
271
|
+
}
|
|
272
|
+
// default 'throw'
|
|
273
|
+
throw new Error(`pushableLanes buffer overflow: ${wouldBe} bytes > maxBufferedBytes=${maxBytes}`);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
153
276
|
const out = bufferNext({ done: false, value }, lane);
|
|
154
|
-
options?.onPush?.(value, lane);
|
|
277
|
+
options?.onPush?.(value, clampLane(lane, isLaneQueue(buffer) ? buffer.lanes.length : 1));
|
|
155
278
|
return out;
|
|
156
279
|
};
|
|
157
280
|
const end = (err) => {
|
|
@@ -161,7 +284,8 @@ function _pushable(options) {
|
|
|
161
284
|
return err != null ? bufferError(err) : bufferNext({ done: true }, 0);
|
|
162
285
|
};
|
|
163
286
|
const _return = () => {
|
|
164
|
-
|
|
287
|
+
// Ensure prompt termination
|
|
288
|
+
buffer = new ByteFifo();
|
|
165
289
|
end();
|
|
166
290
|
return { done: true };
|
|
167
291
|
};
|
|
@@ -179,30 +303,28 @@ function _pushable(options) {
|
|
|
179
303
|
push,
|
|
180
304
|
end,
|
|
181
305
|
get readableLength() {
|
|
182
|
-
return
|
|
306
|
+
return totalBufferedBytes();
|
|
183
307
|
},
|
|
184
308
|
getReadableLength(lane) {
|
|
185
|
-
if (lane == null)
|
|
186
|
-
return
|
|
309
|
+
if (lane == null)
|
|
310
|
+
return totalBufferedBytes();
|
|
311
|
+
if (isLaneQueue(buffer)) {
|
|
312
|
+
const idx = clampLane(lane, buffer.lanes.length);
|
|
313
|
+
return buffer.lanes[idx].size;
|
|
187
314
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}
|
|
191
|
-
return buffer.size; // we can only arrive here if we are "done" or "err" or "end" where we reasign the buffer to a simple one and put 1 message into it
|
|
315
|
+
// After end/error we swap to a ByteFifo: only "total" makes sense.
|
|
316
|
+
return buffer.size;
|
|
192
317
|
},
|
|
193
|
-
onEmpty: async (
|
|
194
|
-
const signal =
|
|
195
|
-
signal?.throwIfAborted();
|
|
196
|
-
if (buffer.isEmpty())
|
|
318
|
+
onEmpty: async (opts) => {
|
|
319
|
+
const signal = opts?.signal;
|
|
320
|
+
signal?.throwIfAborted?.();
|
|
321
|
+
if (buffer.isEmpty())
|
|
197
322
|
return;
|
|
198
|
-
}
|
|
199
323
|
let cancel;
|
|
200
324
|
let listener;
|
|
201
325
|
if (signal != null) {
|
|
202
|
-
cancel = new Promise((
|
|
203
|
-
listener = () =>
|
|
204
|
-
reject(new AbortError());
|
|
205
|
-
};
|
|
326
|
+
cancel = new Promise((_, reject) => {
|
|
327
|
+
listener = () => reject(new AbortError());
|
|
206
328
|
signal.addEventListener("abort", listener);
|
|
207
329
|
});
|
|
208
330
|
}
|
|
@@ -210,7 +332,7 @@ function _pushable(options) {
|
|
|
210
332
|
await Promise.race([drain.promise, cancel]);
|
|
211
333
|
}
|
|
212
334
|
finally {
|
|
213
|
-
if (listener != null
|
|
335
|
+
if (listener != null) {
|
|
214
336
|
signal?.removeEventListener("abort", listener);
|
|
215
337
|
}
|
|
216
338
|
}
|
|
@@ -219,6 +341,7 @@ function _pushable(options) {
|
|
|
219
341
|
if (onEnd == null) {
|
|
220
342
|
return pushable;
|
|
221
343
|
}
|
|
344
|
+
// Wrap with onEnd notifier
|
|
222
345
|
const _pushable = pushable;
|
|
223
346
|
pushable = {
|
|
224
347
|
[Symbol.asyncIterator]() {
|
|
@@ -255,7 +378,10 @@ function _pushable(options) {
|
|
|
255
378
|
get readableLength() {
|
|
256
379
|
return _pushable.readableLength;
|
|
257
380
|
},
|
|
258
|
-
|
|
381
|
+
getReadableLength(lane) {
|
|
382
|
+
return _pushable.getReadableLength(lane);
|
|
383
|
+
},
|
|
384
|
+
onEmpty(opts) {
|
|
259
385
|
return _pushable.onEmpty(opts);
|
|
260
386
|
},
|
|
261
387
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pushable-lanes.js","sourceRoot":"","sources":["../../src/pushable-lanes.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,MAAM,OAAO,UAAW,SAAQ,KAAK;IACpC,IAAI,CAAS;IACb,IAAI,CAAS;IAEb,YAAY,OAAgB,EAAE,IAAa;QAC1C,KAAK,CAAC,OAAO,IAAI,2BAA2B,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,WAAW,CAAC;IACjC,CAAC;CACD;AAiFD;;GAEG;AACH,MAAM,cAAiD,SAAQ,WAE9D;IACA,IAAI,GAAW,CAAC,CAAC;IACjB,IAAI,CAAC,GAAY;QAChB,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;QACnC,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,KAAK;QACJ,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QACvC,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;CACD;AAED;;;;;GAKG;AACH,MAAM,uBAAuB;IAC5B,KAAK,CAAsB;IAC3B,YAAY,UAA6B,EAAE,KAAK,EAAE,CAAC,EAAE;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;QACtC,CAAC;IACF,CAAC;IAED,IAAI,IAAI;QACP,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,GAAY,EAAE,IAAY;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,KAAK;QACJ,sCAAsC;QACtC,2FAA2F;QAC3F,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC;YAChB,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO;QACN,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAED,MAAM,UAAU,aAAa,CAC5B,UAAmB,EAAE;IAErB,OAAO,SAAS,CAAkC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,wDAAwD;AACxD,SAAS,SAAS,CACjB,OAAiB;IAEjB,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACxB,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,IAAI,MAAM,GACT,IAAI,uBAAuB,CAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CACpD,CAAC;IACH,IAAI,QAAa,CAAC;IAClB,IAAI,MAAmE,CAAC;IACxE,IAAI,KAAc,CAAC;IACnB,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;IAEpB,MAAM,OAAO,GAAG,GAA0B,EAAE;QAC3C,MAAM,IAAI,GAA+B,MAAM,CAAC,KAAK,EAAE,CAAC;QAExD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC;QAClB,CAAC;QAED,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI;YACxB,2DAA2D;YAC3D,KAAK,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,IAAoC,EAAE;QAC3D,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBACvB,OAAO,OAAO,EAAE,CAAC;YAClB,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACX,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,OAAO,MAAM,IAAI,OAAO,CAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnE,MAAM,GAAG,CAAC,IAAoB,EAAE,IAAY,EAAE,EAAE;oBAC/C,MAAM,GAAG,IAAI,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAExB,IAAI,CAAC;wBACJ,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;oBACpB,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBACnB,MAAM,CAAC,GAAG,CAAC,CAAC;oBACb,CAAC;oBAED,OAAO,QAAQ,CAAC;gBACjB,CAAC,CAAC;YACH,CAAC,CAAC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACV,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtB,sEAAsE;gBACtE,4BAA4B;gBAC5B,cAAc,CAAC,GAAG,EAAE;oBACnB,KAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAK,GAAG,KAAK,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,IAAoB,EAAE,IAAY,EAAc,EAAE;QACrE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxB,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAU,EAAc,EAAE;QAC9C,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAE9B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5B,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,KAAe,EAAE,OAAe,CAAC,EAAc,EAAE;QAC9D,IAAI,KAAK,EAAE,CAAC;YACX,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,CAAC,GAAW,EAAc,EAAE;QACvC,IAAI,KAAK;YAAE,OAAO,QAAQ,CAAC;QAC3B,KAAK,GAAG,IAAI,CAAC;QAEb,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAe,EAAE;QAChC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QAC9B,GAAG,EAAE,CAAC;QAEN,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,GAAU,EAAc,EAAE;QACzC,GAAG,CAAC,GAAG,CAAC,CAAC;QAET,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,QAAQ,GAAG;QACV,CAAC,MAAM,CAAC,aAAa,CAAC;YACrB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,MAAM;QACb,IAAI;QACJ,GAAG;QACH,IAAI,cAAc;YACjB,OAAO,MAAM,CAAC,IAAI,CAAC;QACpB,CAAC;QAED,iBAAiB,CAAC,IAAa;YAC9B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC;YAED,IAAI,MAAM,YAAY,uBAAuB,EAAE,CAAC;gBAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YAChC,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,mIAAmI;QACxJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE;YACzC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;YAC/B,MAAM,EAAE,cAAc,EAAE,CAAC;YAEzB,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtB,OAAO;YACR,CAAC;YAED,IAAI,MAAiC,CAAC;YACtC,IAAI,QAAkC,CAAC;YAEvC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACxC,QAAQ,GAAG,GAAG,EAAE;wBACf,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC;oBAC1B,CAAC,CAAC;oBAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC;oBAAS,CAAC;gBACV,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACxC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChD,CAAC;YACF,CAAC;QACF,CAAC;KACD,CAAC;IAEF,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC;IAE3B,QAAQ,GAAG;QACV,CAAC,MAAM,CAAC,aAAa,CAAC;YACrB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI;YACH,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,GAAU;YACf,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAErB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,GAAG,CAAC,CAAC;gBACX,KAAK,GAAG,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvB,CAAC;QACD,MAAM;YACL,SAAS,CAAC,MAAM,EAAE,CAAC;YAEnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBACnB,KAAK,EAAE,CAAC;gBACR,KAAK,GAAG,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvB,CAAC;QACD,IAAI;QACJ,GAAG,CAAC,GAAU;YACb,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEnB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,GAAG,CAAC,CAAC;gBACX,KAAK,GAAG,SAAS,CAAC;YACnB,CAAC;YAED,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD,IAAI,cAAc;YACjB,OAAO,SAAS,CAAC,cAAc,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;YAChC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;KACD,CAAC;IAEF,OAAO,QAAQ,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"pushable-lanes.js","sourceRoot":"","sources":["../../src/pushable-lanes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/stream",
|
|
3
|
-
"version": "4.4.0-
|
|
3
|
+
"version": "4.4.0-780f7ce",
|
|
4
4
|
"description": "A building block for direct streaming protocols",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"dao.xyz"
|
|
77
77
|
],
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"@peerbit/libp2p-test-utils": "2.1.20-
|
|
79
|
+
"@peerbit/libp2p-test-utils": "2.1.20-780f7ce",
|
|
80
80
|
"@types/yallist": "^4.0.4",
|
|
81
81
|
"@types/fast-fifo": "^1.0.2"
|
|
82
82
|
},
|
|
@@ -84,11 +84,11 @@
|
|
|
84
84
|
"p-queue": "^8.0.1",
|
|
85
85
|
"fast-fifo": "^1.3.2",
|
|
86
86
|
"@dao-xyz/borsh": "^5.2.3",
|
|
87
|
-
"@peerbit/cache": "2.1.4-
|
|
88
|
-
"@peerbit/crypto": "2.3.11-
|
|
89
|
-
"@peerbit/stream-interface": "5.2.5-
|
|
90
|
-
"@peerbit/time": "2.2.0-
|
|
91
|
-
"@peerbit/logger": "1.0.4-
|
|
87
|
+
"@peerbit/cache": "2.1.4-780f7ce",
|
|
88
|
+
"@peerbit/crypto": "2.3.11-780f7ce",
|
|
89
|
+
"@peerbit/stream-interface": "5.2.5-780f7ce",
|
|
90
|
+
"@peerbit/time": "2.2.0-780f7ce",
|
|
91
|
+
"@peerbit/logger": "1.0.4-780f7ce",
|
|
92
92
|
"libp2p": "^2.10.0",
|
|
93
93
|
"yallist": "^4.0.0",
|
|
94
94
|
"abortable-iterator": "^5.0.1"
|