@libp2p/utils 6.0.6-35b48025c → 6.0.6-80e798cdc

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.
@@ -9,4 +9,8 @@ export declare class RateLimitError extends Error {
9
9
  isFirstInDuration: boolean;
10
10
  constructor(message: string | undefined, props: RateLimiterResult);
11
11
  }
12
+ export declare class QueueFullError extends Error {
13
+ static name: string;
14
+ constructor(message?: string);
15
+ }
12
16
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,OAAO,CAAA;gBAEb,OAAO,oBAAwB,EAAE,KAAK,EAAE,iBAAiB;CAQvE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,OAAO,CAAA;gBAEb,OAAO,oBAAwB,EAAE,KAAK,EAAE,iBAAiB;CAQvE;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,MAAM,CAAC,IAAI,SAAmB;gBAEjB,OAAO,GAAE,MAA6B;CAIpD"}
@@ -15,4 +15,11 @@ export class RateLimitError extends Error {
15
15
  this.isFirstInDuration = props.isFirstInDuration;
16
16
  }
17
17
  }
18
+ export class QueueFullError extends Error {
19
+ static name = 'QueueFullError';
20
+ constructor(message = 'The queue was full') {
21
+ super(message);
22
+ this.name = 'QueueFullError';
23
+ }
24
+ }
18
25
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,eAAe,CAAQ;IACvB,YAAY,CAAQ;IACpB,cAAc,CAAQ;IACtB,iBAAiB,CAAS;IAE1B,YAAa,OAAO,GAAG,qBAAqB,EAAE,KAAwB;QACpE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;QAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAA;QAC5C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QACtC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;QAC1C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAA;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,eAAe,CAAQ;IACvB,YAAY,CAAQ;IACpB,cAAc,CAAQ;IACtB,iBAAiB,CAAS;IAE1B,YAAa,OAAO,GAAG,qBAAqB,EAAE,KAAwB;QACpE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;QAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAA;QAC5C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QACtC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAA;QAC1C,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAA;IAClD,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAE9B,YAAa,UAAkB,oBAAoB;QACjD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAA;IAC9B,CAAC"}
@@ -15,6 +15,13 @@ export interface QueueInit<JobReturnType, JobOptions extends AbortOptions = Abor
15
15
  * @default Infinity
16
16
  */
17
17
  concurrency?: number;
18
+ /**
19
+ * If the queue size grows to larger than this number the promise returned
20
+ * from the add function will reject
21
+ *
22
+ * @default Infinity
23
+ */
24
+ maxSize?: number;
18
25
  /**
19
26
  * The name of the metric for the queue length
20
27
  */
@@ -29,8 +36,8 @@ export interface QueueInit<JobReturnType, JobOptions extends AbortOptions = Abor
29
36
  sort?: Comparator<Job<JobOptions, JobReturnType>>;
30
37
  }
31
38
  export type JobStatus = 'queued' | 'running' | 'errored' | 'complete';
32
- export interface RunFunction<Options = AbortOptions, ReturnType = void> {
33
- (opts?: Options): Promise<ReturnType>;
39
+ export interface RunFunction<Options extends AbortOptions = AbortOptions, ReturnType = void> {
40
+ (options: Options): Promise<ReturnType>;
34
41
  }
35
42
  export interface JobMatcher<JobOptions extends AbortOptions = AbortOptions> {
36
43
  (options?: Partial<JobOptions>): boolean;
@@ -91,6 +98,7 @@ export interface QueueEvents<JobReturnType, JobOptions extends AbortOptions = Ab
91
98
  */
92
99
  export declare class Queue<JobReturnType = unknown, JobOptions extends AbortOptions = AbortOptions> extends TypedEventEmitter<QueueEvents<JobReturnType, JobOptions>> {
93
100
  concurrency: number;
101
+ maxSize: number;
94
102
  queue: Array<Job<JobOptions, JobReturnType>>;
95
103
  private pending;
96
104
  private readonly sort?;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { AbortError, TypedEventEmitter } from '@libp2p/interface';
2
2
  import { pushable } from 'it-pushable';
3
3
  import { raceEvent } from 'race-event';
4
+ import { QueueFullError } from '../errors.js';
4
5
  import { Job } from './job.js';
5
6
  /**
6
7
  * Heavily influence by `p-queue` with the following differences:
@@ -10,12 +11,14 @@ import { Job } from './job.js';
10
11
  */
11
12
  export class Queue extends TypedEventEmitter {
12
13
  concurrency;
14
+ maxSize;
13
15
  queue;
14
16
  pending;
15
17
  sort;
16
18
  constructor(init = {}) {
17
19
  super();
18
20
  this.concurrency = init.concurrency ?? Number.POSITIVE_INFINITY;
21
+ this.maxSize = init.maxSize ?? Number.POSITIVE_INFINITY;
19
22
  this.pending = 0;
20
23
  if (init.metricName != null) {
21
24
  init.metrics?.registerMetricGroup(init.metricName, {
@@ -88,6 +91,9 @@ export class Queue extends TypedEventEmitter {
88
91
  */
89
92
  async add(fn, options) {
90
93
  options?.signal?.throwIfAborted();
94
+ if (this.size === this.maxSize) {
95
+ throw new QueueFullError();
96
+ }
91
97
  const job = new Job(fn, options);
92
98
  this.enqueue(job);
93
99
  this.safeDispatchEvent('add');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/utils",
3
- "version": "6.0.6-35b48025c",
3
+ "version": "6.0.6-80e798cdc",
4
4
  "description": "Package to aggregate shared logic and dependencies for the libp2p ecosystem",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/utils#readme",
@@ -148,9 +148,9 @@
148
148
  },
149
149
  "dependencies": {
150
150
  "@chainsafe/is-ip": "^2.0.2",
151
- "@libp2p/crypto": "5.0.4-35b48025c",
152
- "@libp2p/interface": "2.1.2-35b48025c",
153
- "@libp2p/logger": "5.1.0-35b48025c",
151
+ "@libp2p/crypto": "5.0.4-80e798cdc",
152
+ "@libp2p/interface": "2.1.2-80e798cdc",
153
+ "@libp2p/logger": "5.1.0-80e798cdc",
154
154
  "@multiformats/multiaddr": "^12.2.3",
155
155
  "@sindresorhus/fnv1a": "^3.1.0",
156
156
  "@types/murmurhash3js-revisited": "^3.0.3",
@@ -171,6 +171,7 @@
171
171
  "uint8arrays": "^5.1.0"
172
172
  },
173
173
  "devDependencies": {
174
+ "@libp2p/peer-id": "5.0.4-80e798cdc",
174
175
  "@types/netmask": "^2.0.5",
175
176
  "aegir": "^44.0.1",
176
177
  "benchmark": "^2.1.4",
package/src/errors.ts CHANGED
@@ -18,3 +18,12 @@ export class RateLimitError extends Error {
18
18
  this.isFirstInDuration = props.isFirstInDuration
19
19
  }
20
20
  }
21
+
22
+ export class QueueFullError extends Error {
23
+ static name = 'QueueFullError'
24
+
25
+ constructor (message: string = 'The queue was full') {
26
+ super(message)
27
+ this.name = 'QueueFullError'
28
+ }
29
+ }
@@ -1,6 +1,7 @@
1
1
  import { AbortError, TypedEventEmitter } from '@libp2p/interface'
2
2
  import { pushable } from 'it-pushable'
3
3
  import { raceEvent } from 'race-event'
4
+ import { QueueFullError } from '../errors.js'
4
5
  import { Job } from './job.js'
5
6
  import type { AbortOptions, Metrics } from '@libp2p/interface'
6
7
 
@@ -21,6 +22,14 @@ export interface QueueInit<JobReturnType, JobOptions extends AbortOptions = Abor
21
22
  */
22
23
  concurrency?: number
23
24
 
25
+ /**
26
+ * If the queue size grows to larger than this number the promise returned
27
+ * from the add function will reject
28
+ *
29
+ * @default Infinity
30
+ */
31
+ maxSize?: number
32
+
24
33
  /**
25
34
  * The name of the metric for the queue length
26
35
  */
@@ -39,8 +48,8 @@ export interface QueueInit<JobReturnType, JobOptions extends AbortOptions = Abor
39
48
 
40
49
  export type JobStatus = 'queued' | 'running' | 'errored' | 'complete'
41
50
 
42
- export interface RunFunction<Options = AbortOptions, ReturnType = void> {
43
- (opts?: Options): Promise<ReturnType>
51
+ export interface RunFunction<Options extends AbortOptions = AbortOptions, ReturnType = void> {
52
+ (options: Options): Promise<ReturnType>
44
53
  }
45
54
 
46
55
  export interface JobMatcher<JobOptions extends AbortOptions = AbortOptions> {
@@ -114,6 +123,7 @@ export interface QueueEvents<JobReturnType, JobOptions extends AbortOptions = Ab
114
123
  */
115
124
  export class Queue<JobReturnType = unknown, JobOptions extends AbortOptions = AbortOptions> extends TypedEventEmitter<QueueEvents<JobReturnType, JobOptions>> {
116
125
  public concurrency: number
126
+ public maxSize: number
117
127
  public queue: Array<Job<JobOptions, JobReturnType>>
118
128
  private pending: number
119
129
  private readonly sort?: Comparator<Job<JobOptions, JobReturnType>>
@@ -122,6 +132,7 @@ export class Queue<JobReturnType = unknown, JobOptions extends AbortOptions = Ab
122
132
  super()
123
133
 
124
134
  this.concurrency = init.concurrency ?? Number.POSITIVE_INFINITY
135
+ this.maxSize = init.maxSize ?? Number.POSITIVE_INFINITY
125
136
  this.pending = 0
126
137
 
127
138
  if (init.metricName != null) {
@@ -212,6 +223,10 @@ export class Queue<JobReturnType = unknown, JobOptions extends AbortOptions = Ab
212
223
  async add (fn: RunFunction<JobOptions, JobReturnType>, options?: JobOptions): Promise<JobReturnType> {
213
224
  options?.signal?.throwIfAborted()
214
225
 
226
+ if (this.size === this.maxSize) {
227
+ throw new QueueFullError()
228
+ }
229
+
215
230
  const job = new Job<JobOptions, JobReturnType>(fn, options)
216
231
  this.enqueue(job)
217
232
  this.safeDispatchEvent('add')