@libp2p/interface 2.11.0 → 3.0.0-334f91bdc

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.
Files changed (73) hide show
  1. package/dist/index.min.js +1 -1
  2. package/dist/index.min.js.map +4 -4
  3. package/dist/src/connection-encrypter.d.ts +17 -15
  4. package/dist/src/connection-encrypter.d.ts.map +1 -1
  5. package/dist/src/connection-gater.d.ts +1 -2
  6. package/dist/src/connection-gater.d.ts.map +1 -1
  7. package/dist/src/connection-protector.d.ts +9 -0
  8. package/dist/src/connection-protector.d.ts.map +1 -0
  9. package/dist/src/connection-protector.js +2 -0
  10. package/dist/src/connection-protector.js.map +1 -0
  11. package/dist/src/connection.d.ts +36 -233
  12. package/dist/src/connection.d.ts.map +1 -1
  13. package/dist/src/connection.js.map +1 -1
  14. package/dist/src/errors.d.ts +14 -0
  15. package/dist/src/errors.d.ts.map +1 -1
  16. package/dist/src/errors.js +20 -0
  17. package/dist/src/errors.js.map +1 -1
  18. package/dist/src/events.d.ts +26 -0
  19. package/dist/src/events.d.ts.map +1 -0
  20. package/dist/src/events.js +36 -0
  21. package/dist/src/events.js.map +1 -0
  22. package/dist/src/index.d.ts +35 -5
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +7 -3
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/message-stream.d.ts +159 -0
  27. package/dist/src/message-stream.d.ts.map +1 -0
  28. package/dist/src/message-stream.js +2 -0
  29. package/dist/src/message-stream.js.map +1 -0
  30. package/dist/src/metrics.d.ts +2 -2
  31. package/dist/src/metrics.d.ts.map +1 -1
  32. package/dist/src/multiaddr-connection.d.ts +25 -0
  33. package/dist/src/multiaddr-connection.d.ts.map +1 -0
  34. package/dist/src/multiaddr-connection.js +2 -0
  35. package/dist/src/multiaddr-connection.js.map +1 -0
  36. package/dist/src/peer-store.d.ts +0 -4
  37. package/dist/src/peer-store.d.ts.map +1 -1
  38. package/dist/src/stream-handler.d.ts +12 -13
  39. package/dist/src/stream-handler.d.ts.map +1 -1
  40. package/dist/src/stream-muxer.d.ts +113 -30
  41. package/dist/src/stream-muxer.d.ts.map +1 -1
  42. package/dist/src/stream.d.ts +63 -0
  43. package/dist/src/stream.d.ts.map +1 -0
  44. package/dist/src/stream.js +2 -0
  45. package/dist/src/stream.js.map +1 -0
  46. package/dist/src/topology.d.ts +3 -3
  47. package/dist/src/topology.d.ts.map +1 -1
  48. package/dist/src/transport.d.ts +20 -13
  49. package/dist/src/transport.d.ts.map +1 -1
  50. package/dist/src/transport.js.map +1 -1
  51. package/package.json +4 -6
  52. package/src/connection-encrypter.ts +19 -16
  53. package/src/connection-gater.ts +1 -2
  54. package/src/connection-protector.ts +9 -0
  55. package/src/connection.ts +38 -270
  56. package/src/errors.ts +24 -0
  57. package/src/events.ts +44 -0
  58. package/src/index.ts +38 -5
  59. package/src/message-stream.ts +183 -0
  60. package/src/metrics.ts +2 -2
  61. package/src/multiaddr-connection.ts +27 -0
  62. package/src/peer-store.ts +0 -5
  63. package/src/stream-handler.ts +14 -15
  64. package/src/stream-muxer.ts +122 -30
  65. package/src/stream.ts +70 -0
  66. package/src/topology.ts +3 -3
  67. package/src/transport.ts +25 -14
  68. package/dist/src/pubsub.d.ts +0 -248
  69. package/dist/src/pubsub.d.ts.map +0 -1
  70. package/dist/src/pubsub.js +0 -47
  71. package/dist/src/pubsub.js.map +0 -1
  72. package/dist/typedoc-urls.json +0 -223
  73. package/src/pubsub.ts +0 -286
@@ -1 +1 @@
1
- {"version":3,"file":"connection-encrypter.d.ts","sourceRoot":"","sources":["../../src/connection-encrypter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC;IAC1F,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,SAAS,GAAG,OAAO;IACtD,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,cAAc,CAAE,MAAM,SAAS,eAAe,GAAG,mBAAmB,EAAG,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;IAE5K;;;;OAIG;IACH,aAAa,CAAE,MAAM,SAAS,eAAe,GAAG,mBAAmB,EAAG,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;CAC5K;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,GAAG,GAAG,EAAE,SAAS,GAAG,OAAO;IAClE,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC"}
1
+ {"version":3,"file":"connection-encrypter.d.ts","sourceRoot":"","sources":["../../src/connection-encrypter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEzF;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAA;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,SAAS,GAAG,OAAO;IACtD,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,cAAc,CAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAA;IAEpH;;;;OAIG;IACH,aAAa,CAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAA;CACpH;AAED,MAAM,WAAW,iBAAiB,CAAC,SAAS,GAAG,OAAO;IACpD;;OAEG;IACH,UAAU,EAAE,aAAa,CAAA;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAE5B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC"}
@@ -1,5 +1,4 @@
1
- import type { MultiaddrConnection } from './connection.js';
2
- import type { PeerId } from './peer-id.js';
1
+ import type { MultiaddrConnection, PeerId } from './index.js';
3
2
  import type { Multiaddr } from '@multiformats/multiaddr';
4
3
  export interface ConnectionGater {
5
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"connection-gater.d.ts","sourceRoot":"","sources":["../../src/connection-gater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,eAAe;IAC9B;;;;;;;;OAQG;IACH,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAEzD;;;;;;;;OAQG;IACH,iBAAiB,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAEpE;;;;;;;OAOG;IACH,qBAAqB,CAAC,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAE/E;;;;;;;OAOG;IACH,sBAAsB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAEhG;;;;;;;;;OASG;IACH,8BAA8B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAExG;;;;;;;;;OASG;IACH,+BAA+B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAEzG;;;;;;;OAOG;IACH,6BAA6B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAEvG;;;;;;;OAOG;IACH,8BAA8B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAExG;;;;;OAKG;IACH,2BAA2B,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAExE;;;;;;;;OAQG;IACH,6BAA6B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAE/F;;;;;;;;OAQG;IACH,4BAA4B,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAE5F;;;;OAIG;IACH,sBAAsB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;CACxF"}
1
+ {"version":3,"file":"connection-gater.d.ts","sourceRoot":"","sources":["../../src/connection-gater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,eAAe;IAC9B;;;;;;;;OAQG;IACH,YAAY,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAEzD;;;;;;;;OAQG;IACH,iBAAiB,CAAC,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAEpE;;;;;;;OAOG;IACH,qBAAqB,CAAC,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAE/E;;;;;;;OAOG;IACH,sBAAsB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAEhG;;;;;;;;;OASG;IACH,8BAA8B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAExG;;;;;;;;;OASG;IACH,+BAA+B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAEzG;;;;;;;OAOG;IACH,6BAA6B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAEvG;;;;;;;OAOG;IACH,8BAA8B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAExG;;;;;OAKG;IACH,2BAA2B,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAExE;;;;;;;;OAQG;IACH,6BAA6B,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAE/F;;;;;;;;OAQG;IACH,4BAA4B,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;IAE5F;;;;OAIG;IACH,sBAAsB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;CACxF"}
@@ -0,0 +1,9 @@
1
+ import type { AbortOptions, MessageStream } from './index.ts';
2
+ export interface ConnectionProtector {
3
+ /**
4
+ * Takes a MessageStream and creates a private encryption stream between
5
+ * the two peers from the shared key the Protector instance was created with.
6
+ */
7
+ protect(connection: MessageStream, options?: AbortOptions): Promise<MessageStream>;
8
+ }
9
+ //# sourceMappingURL=connection-protector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-protector.d.ts","sourceRoot":"","sources":["../../src/connection-protector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE7D,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,OAAO,CAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CACpF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=connection-protector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-protector.js","sourceRoot":"","sources":["../../src/connection-protector.ts"],"names":[],"mappings":""}
@@ -1,153 +1,26 @@
1
- import type { AbortOptions, Logger } from './index.js';
2
- import type { PeerId } from './peer-id.js';
1
+ import type { AbortOptions, Logger, TypedEventTarget, Stream, MessageStreamEvents, PeerId, MultiaddrConnectionTimeline, MessageStreamStatus, MessageStreamDirection } from './index.js';
3
2
  import type { Multiaddr } from '@multiformats/multiaddr';
4
- import type { Duplex, Source } from 'it-stream-types';
5
- import type { Uint8ArrayList } from 'uint8arraylist';
6
- export interface ConnectionTimeline {
7
- /**
8
- * When the connection was opened
9
- */
10
- open: number;
11
- /**
12
- * When the MultiaddrConnection was upgraded to a Connection - e.g. the type
13
- * of connection encryption and multiplexing was negotiated.
14
- */
15
- upgraded?: number;
16
- /**
17
- * When the connection was closed.
18
- */
19
- close?: number;
20
- }
3
+ export type ConnectionStatus = MessageStreamStatus;
21
4
  /**
22
- * Outbound connections are opened by the local node, inbound streams are opened by the remote
23
- */
24
- export type Direction = 'inbound' | 'outbound';
25
- export interface StreamTimeline {
26
- /**
27
- * A timestamp of when the stream was opened
28
- */
29
- open: number;
30
- /**
31
- * A timestamp of when the stream was closed for both reading and writing
32
- */
33
- close?: number;
34
- /**
35
- * A timestamp of when the stream was closed for reading
36
- */
37
- closeRead?: number;
38
- /**
39
- * A timestamp of when the stream was closed for writing
40
- */
41
- closeWrite?: number;
42
- /**
43
- * A timestamp of when the stream was reset
44
- */
45
- reset?: number;
46
- /**
47
- * A timestamp of when the stream was aborted
48
- */
49
- abort?: number;
50
- }
51
- /**
52
- * The states a stream can be in
53
- */
54
- export type StreamStatus = 'open' | 'closing' | 'closed' | 'aborted' | 'reset';
55
- /**
56
- * The states the readable end of a stream can be in
57
- *
58
- * ready - the readable end is ready for reading
59
- * closing - the readable end is closing
60
- * closed - the readable end has closed
61
- */
62
- export type ReadStatus = 'ready' | 'closing' | 'closed';
63
- /**
64
- * The states the writable end of a stream can be in
65
- *
66
- * ready - the writable end is ready for writing
67
- * writing - the writable end is in the process of being written to
68
- * done - the source passed to the `.sink` function yielded all values without error
69
- * closing - the writable end is closing
70
- * closed - the writable end has closed
71
- */
72
- export type WriteStatus = 'ready' | 'writing' | 'done' | 'closing' | 'closed';
73
- /**
74
- * A Stream is a data channel between two peers that
75
- * can be written to and read from at both ends.
5
+ * Connection limits are present on connections that are only allowed to
6
+ * transfer a certain amount of bytes or be open for a certain number
7
+ * of seconds.
76
8
  *
77
- * It may be encrypted and multiplexed depending on the
78
- * configuration of the nodes.
9
+ * These limits are applied by Circuit Relay v2 servers, for example and
10
+ * the connection will normally be closed abruptly if the limits are
11
+ * exceeded.
79
12
  */
80
- export interface Stream extends Duplex<AsyncGenerator<Uint8ArrayList>, Source<Uint8ArrayList | Uint8Array>, Promise<void>> {
81
- /**
82
- * Closes the stream for **reading** *and* **writing**.
83
- *
84
- * Any buffered data in the source can still be consumed and the stream will end normally.
85
- *
86
- * This will cause a `CLOSE` message to be sent to the remote, *unless* the sink has already ended.
87
- *
88
- * The sink and the source will return normally.
89
- */
90
- close(options?: AbortOptions): Promise<void>;
91
- /**
92
- * Closes the stream for **reading**. If iterating over the source of this stream in a `for await of` loop, it will return (exit the loop) after any buffered data has been consumed.
93
- *
94
- * This function is called automatically by the muxer when it receives a `CLOSE` message from the remote.
95
- *
96
- * The source will return normally, the sink will continue to consume.
97
- */
98
- closeRead(options?: AbortOptions): Promise<void>;
99
- /**
100
- * Closes the stream for **writing**. If iterating over the source of this stream in a `for await of` loop, it will return (exit the loop) after any buffered data has been consumed.
101
- *
102
- * The source will return normally, the sink will continue to consume.
103
- */
104
- closeWrite(options?: AbortOptions): Promise<void>;
105
- /**
106
- * Closes the stream for **reading** *and* **writing**. This should be called when a *local error* has occurred.
107
- *
108
- * Note, if called without an error any buffered data in the source can still be consumed and the stream will end normally.
109
- *
110
- * This will cause a `RESET` message to be sent to the remote, *unless* the sink has already ended.
111
- *
112
- * The sink will return and the source will throw.
113
- */
114
- abort(err: Error): void;
115
- /**
116
- * Unique identifier for a stream. Identifiers are not unique across muxers.
117
- */
118
- id: string;
119
- /**
120
- * Outbound streams are opened by the local node, inbound streams are opened by the remote
121
- */
122
- direction: Direction;
123
- /**
124
- * Lifecycle times for the stream
125
- */
126
- timeline: StreamTimeline;
127
- /**
128
- * The protocol negotiated for this stream
129
- */
130
- protocol?: string;
131
- /**
132
- * User defined stream metadata
133
- */
134
- metadata: Record<string, any>;
135
- /**
136
- * The current status of the stream
137
- */
138
- status: StreamStatus;
139
- /**
140
- * The current status of the readable end of the stream
141
- */
142
- readStatus: ReadStatus;
13
+ export interface ConnectionLimits {
143
14
  /**
144
- * The current status of the writable end of the stream
15
+ * If present this is the number of bytes remaining that may be
16
+ * transferred over this connection
145
17
  */
146
- writeStatus: WriteStatus;
18
+ bytes?: bigint;
147
19
  /**
148
- * The stream logger
20
+ * If present this is the number of seconds that this connection will
21
+ * remain open for
149
22
  */
150
- log: Logger;
23
+ seconds?: number;
151
24
  }
152
25
  export interface NewStreamOptions extends AbortOptions {
153
26
  /**
@@ -158,10 +31,11 @@ export interface NewStreamOptions extends AbortOptions {
158
31
  maxOutboundStreams?: number;
159
32
  /**
160
33
  * Opt-in to running over a limited connection - one that has restrictions
161
- * on the amount of data that may be transferred or how long it may be open for.
34
+ * on the amount of data that may be transferred or how long it may be open
35
+ * for.
162
36
  *
163
- * These limits are typically enforced by a relay server, if the protocol
164
- * will be transferring a lot of data or the stream will be open for a long time
37
+ * These limits are typically enforced by a relay server, if the protocol will
38
+ * be transferring a lot of data or the stream will be open for a long time
165
39
  * consider upgrading to a direct connection before opening the stream.
166
40
  *
167
41
  * @default false
@@ -194,35 +68,13 @@ export interface NewStreamOptions extends AbortOptions {
194
68
  */
195
69
  negotiateFully?: boolean;
196
70
  }
197
- export type ConnectionStatus = 'open' | 'closing' | 'closed';
198
- /**
199
- * Connection limits are present on connections that are only allowed to
200
- * transfer a certain amount of bytes or be open for a certain number
201
- * of seconds.
202
- *
203
- * These limits are applied by Circuit Relay v2 servers, for example and
204
- * the connection will normally be closed abruptly if the limits are
205
- * exceeded.
206
- */
207
- export interface ConnectionLimits {
208
- /**
209
- * If present this is the number of bytes remaining that may be
210
- * transferred over this connection
211
- */
212
- bytes?: bigint;
213
- /**
214
- * If present this is the number of seconds that this connection will
215
- * remain open for
216
- */
217
- seconds?: number;
218
- }
219
71
  /**
220
72
  * A Connection is a high-level representation of a connection
221
73
  * to a remote peer that may have been secured by encryption and
222
74
  * multiplexed, depending on the configuration of the nodes
223
75
  * between which the connection is made.
224
76
  */
225
- export interface Connection {
77
+ export interface Connection extends TypedEventTarget<Omit<MessageStreamEvents, 'drain' | 'message'>> {
226
78
  /**
227
79
  * The unique identifier for this connection
228
80
  */
@@ -235,10 +87,6 @@ export interface Connection {
235
87
  * The id of the peer at the remote end of the connection
236
88
  */
237
89
  remotePeer: PeerId;
238
- /**
239
- * A list of tags applied to this connection
240
- */
241
- tags: string[];
242
90
  /**
243
91
  * A list of open streams on this connection
244
92
  */
@@ -246,11 +94,11 @@ export interface Connection {
246
94
  /**
247
95
  * Outbound connections are opened by the local node, inbound streams are opened by the remote
248
96
  */
249
- direction: Direction;
97
+ direction: MessageStreamDirection;
250
98
  /**
251
- * Lifecycle times for the connection
99
+ * When stream life cycle events occurred
252
100
  */
253
- timeline: ConnectionTimeline;
101
+ timeline: MultiaddrConnectionTimeline;
254
102
  /**
255
103
  * The multiplexer negotiated for this connection
256
104
  */
@@ -263,6 +111,10 @@ export interface Connection {
263
111
  * The current status of the connection
264
112
  */
265
113
  status: ConnectionStatus;
114
+ /**
115
+ * Whether this connection is direct or, for example, is via a relay
116
+ */
117
+ direct: boolean;
266
118
  /**
267
119
  * If present, this connection has limits applied to it, perhaps by an
268
120
  * intermediate relay. Once the limits have been reached the connection will
@@ -275,75 +127,26 @@ export interface Connection {
275
127
  * This is updated periodically by the connection monitor.
276
128
  */
277
129
  rtt?: number;
130
+ /**
131
+ * The connection logger, used to log connection-specific information
132
+ */
133
+ log: Logger;
278
134
  /**
279
135
  * Create a new stream on this connection and negotiate one of the passed protocols
280
136
  */
281
137
  newStream(protocols: string | string[], options?: NewStreamOptions): Promise<Stream>;
282
138
  /**
283
- * Gracefully close the connection. All queued data will be written to the
284
- * underlying transport.
139
+ * Gracefully close the connection. The returned promise will resolve when all
140
+ * queued data has been written to the underlying transport. Any unread data
141
+ * will still be emitted as a 'message' event.
285
142
  */
286
143
  close(options?: AbortOptions): Promise<void>;
287
144
  /**
288
- * Immediately close the connection, any queued data will be discarded
145
+ * Immediately close the connection. Any data queued to be sent or read will
146
+ * be discarded.
289
147
  */
290
148
  abort(err: Error): void;
291
- /**
292
- * The connection logger
293
- */
294
- log: Logger;
295
149
  }
296
150
  export declare const connectionSymbol: unique symbol;
297
151
  export declare function isConnection(other: any): other is Connection;
298
- export interface ConnectionProtector {
299
- /**
300
- * Takes a given Connection and creates a private encryption stream
301
- * between its two peers from the PSK the Protector instance was
302
- * created with.
303
- */
304
- protect(connection: MultiaddrConnection, options?: AbortOptions): Promise<MultiaddrConnection>;
305
- }
306
- export interface MultiaddrConnectionTimeline {
307
- /**
308
- * When the connection was opened
309
- */
310
- open: number;
311
- /**
312
- * When the MultiaddrConnection was upgraded to a Connection - the type of
313
- * connection encryption and multiplexing was negotiated.
314
- */
315
- upgraded?: number;
316
- /**
317
- * When the connection was closed.
318
- */
319
- close?: number;
320
- }
321
- /**
322
- * A MultiaddrConnection is returned by transports after dialing
323
- * a peer. It is a low-level primitive and is the raw connection
324
- * without encryption or stream multiplexing.
325
- */
326
- export interface MultiaddrConnection extends Duplex<AsyncGenerator<Uint8Array | Uint8ArrayList>> {
327
- /**
328
- * Gracefully close the connection. All queued data will be written to the
329
- * underlying transport.
330
- */
331
- close(options?: AbortOptions): Promise<void>;
332
- /**
333
- * Immediately close the connection, any queued data will be discarded
334
- */
335
- abort(err: Error): void;
336
- /**
337
- * The address of the remote end of the connection
338
- */
339
- remoteAddr: Multiaddr;
340
- /**
341
- * When connection life cycle events occurred
342
- */
343
- timeline: MultiaddrConnectionTimeline;
344
- /**
345
- * The multiaddr connection logger
346
- */
347
- log: Logger;
348
- }
349
152
  //# sourceMappingURL=connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACvL,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAA;AAElD;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAEhC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAW,SAAQ,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,SAAS,CAAC,CAAC;IAClG;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,UAAU,EAAE,SAAS,CAAA;IAErB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,EAAE,CAAA;IAEjB;;OAEG;IACH,SAAS,EAAE,sBAAsB,CAAA;IAEjC;;OAEG;IACH,QAAQ,EAAE,2BAA2B,CAAA;IAErC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,MAAM,EAAE,gBAAgB,CAAA;IAExB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IAEf;;;;OAIG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAEzB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEpF;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5C;;;OAGG;IACH,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAA;CACxB;AAED,eAAO,MAAM,gBAAgB,eAAmC,CAAA;AAEhE,wBAAgB,YAAY,CAAE,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,UAAU,CAE7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAwVA,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAEhE,MAAM,UAAU,YAAY,CAAE,KAAU;IACtC,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;AAC1D,CAAC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AA4KA,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAEhE,MAAM,UAAU,YAAY,CAAE,KAAU;IACtC,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAA;AAC1D,CAAC"}
@@ -84,6 +84,13 @@ export declare class StreamResetError extends Error {
84
84
  static name: string;
85
85
  constructor(message?: string);
86
86
  }
87
+ /**
88
+ * Thrown when a protocol stream is aborted locally
89
+ */
90
+ export declare class StreamAbortedError extends Error {
91
+ static name: string;
92
+ constructor(message?: string);
93
+ }
87
94
  /**
88
95
  * Thrown when a stream is in an invalid state
89
96
  */
@@ -91,6 +98,13 @@ export declare class StreamStateError extends Error {
91
98
  static name: string;
92
99
  constructor(message?: string);
93
100
  }
101
+ /**
102
+ * Thrown when a stream buffer is full
103
+ */
104
+ export declare class StreamBufferError extends Error {
105
+ static name: string;
106
+ constructor(message?: string);
107
+ }
94
108
  /**
95
109
  * Thrown when a value could not be found
96
110
  */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -120,6 +120,16 @@ export class StreamResetError extends Error {
120
120
  this.name = 'StreamResetError';
121
121
  }
122
122
  }
123
+ /**
124
+ * Thrown when a protocol stream is aborted locally
125
+ */
126
+ export class StreamAbortedError extends Error {
127
+ static name = 'StreamAbortedError';
128
+ constructor(message = 'The stream has been aborted') {
129
+ super(message);
130
+ this.name = 'StreamAbortedError';
131
+ }
132
+ }
123
133
  /**
124
134
  * Thrown when a stream is in an invalid state
125
135
  */
@@ -130,6 +140,16 @@ export class StreamStateError extends Error {
130
140
  this.name = 'StreamStateError';
131
141
  }
132
142
  }
143
+ /**
144
+ * Thrown when a stream buffer is full
145
+ */
146
+ export class StreamBufferError extends Error {
147
+ static name = 'StreamBufferError';
148
+ constructor(message = 'The stream buffer was full') {
149
+ super(message);
150
+ this.name = 'StreamBufferError';
151
+ }
152
+ }
133
153
  /**
134
154
  * Thrown when a value could not be found
135
155
  */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAA;IAE1B,YAAa,UAAkB,2BAA2B;QACxD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;IAC1B,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAA;IAEnC,YAAa,OAAO,GAAG,iBAAiB;QACtC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAE1C,YAAa,OAAO,GAAG,yBAAyB;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,MAAM,CAAC,IAAI,GAAG,wBAAwB,CAAA;IAEtC,YAAa,OAAO,GAAG,oBAAoB;QACzC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAC,IAAI,GAAG,uBAAuB,CAAA;IAErC,YAAa,OAAO,GAAG,oBAAoB;QACzC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,MAAM,CAAC,IAAI,GAAG,wBAAwB,CAAA;IAEtC,YAAa,OAAO,GAAG,qBAAqB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAClD,MAAM,CAAC,IAAI,GAAG,2BAA2B,CAAA;IAEzC,YAAa,OAAO,GAAG,uBAAuB;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,MAAM,CAAC,IAAI,GAAG,wBAAwB,CAAA;IAEtC,YAAa,OAAO,GAAG,2BAA2B;QAChD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAC,IAAI,GAAG,uBAAuB,CAAA;IAErC,YAAa,OAAO,GAAG,0BAA0B;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAC,IAAI,GAAG,uBAAuB,CAAA;IAErC,YAAa,OAAO,GAAG,mBAAmB;QACxC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAEhC,YAAa,OAAO,GAAG,qBAAqB;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAEhC,YAAa,OAAO,GAAG,2BAA2B;QAChD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,MAAM,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAElC,YAAa,OAAO,GAAG,6BAA6B;QAClD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAEhC,YAAa,OAAO,GAAG,mCAAmC;QACxD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,MAAM,CAAC,IAAI,GAAG,mBAAmB,CAAA;IAEjC,YAAa,OAAO,GAAG,4BAA4B;QACjD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,MAAM,CAAC,IAAI,GAAG,eAAe,CAAA;IAE7B,YAAa,OAAO,GAAG,WAAW;QAChC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,MAAM,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAElC,YAAa,OAAO,GAAG,gBAAgB;QACrC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAC,IAAI,GAAG,uBAAuB,CAAA;IAErC,YAAa,OAAO,GAAG,mBAAmB;QACxC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAE/B,YAAa,OAAO,GAAG,aAAa;QAClC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAC,IAAI,GAAG,uBAAuB,CAAA;IAErC,YAAa,OAAO,GAAG,mBAAmB;QACxC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,MAAM,CAAC,IAAI,GAAG,0BAA0B,CAAA;IAExC,YAAa,OAAO,GAAG,4BAA4B;QACjD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAA;IAEnC,YAAa,OAAO,GAAG,iBAAiB;QACtC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;;AAGH;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,MAAM,CAAC,IAAI,GAAG,eAAe,CAAA;IAE7B,YAAa,OAAO,GAAG,gBAAgB;QACrC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,MAAM,CAAC,IAAI,GAAG,cAAc,CAAA;IAE5B,YAAa,OAAO,GAAG,WAAW;QAChC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;IAC5B,CAAC;;AAGH;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAE/B,YAAa,OAAO,GAAG,aAAa;QAClC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAA;IAEnC,YAAa,OAAO,GAAG,iBAAiB;QACtC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAA;IAEzB,YAAa,OAAO,GAAG,YAAY;QACjC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;IACzB,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,MAAM,CAAC,IAAI,GAAG,aAAa,CAAA;IAE3B,YAAa,OAAO,GAAG,cAAc;QACnC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;;AAGH;;;;GAIG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,MAAM,CAAC,IAAI,GAAG,wBAAwB,CAAA;IAEtC,YAAa,OAAO,GAAG,oBAAoB;QACzC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,kCAAmC,SAAQ,KAAK;IAC3D,MAAM,CAAC,IAAI,GAAG,oCAAoC,CAAA;IAElD,YAAa,OAAO,GAAG,mCAAmC;QACxD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAA;IAClD,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,mCAAoC,SAAQ,KAAK;IAC5D,MAAM,CAAC,IAAI,GAAG,qCAAqC,CAAA;IAEnD,YAAa,OAAO,GAAG,oCAAoC;QACzD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qCAAqC,CAAA;IACnD,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAChD,MAAM,CAAC,IAAI,GAAG,yBAAyB,CAAA;IAEvC,YAAa,OAAO,GAAG,sBAAsB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;;AAGH;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAA;IAEnC,YAAa,OAAO,GAAG,iBAAiB;QACtC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { Uint8ArrayList } from 'uint8arraylist';
2
+ /**
3
+ * A custom implementation of MessageEvent as the Undici version does too much
4
+ * validation in it's constructor so is very slow.
5
+ */
6
+ export declare class StreamMessageEvent extends Event {
7
+ data: Uint8Array | Uint8ArrayList;
8
+ constructor(data: Uint8Array | Uint8ArrayList, eventInitDict?: EventInit);
9
+ }
10
+ /**
11
+ * An event dispatched when the stream is closed. The `error` property can be
12
+ * inspected to discover if the closing was graceful or not, and the `remote`
13
+ * property shows which end of the stream initiated the closure
14
+ */
15
+ export declare class StreamCloseEvent extends Event {
16
+ error?: Error;
17
+ local?: boolean;
18
+ constructor(local?: boolean, error?: Error, eventInitDict?: EventInit);
19
+ }
20
+ export declare class StreamAbortEvent extends StreamCloseEvent {
21
+ constructor(error: Error, eventInitDict?: EventInit);
22
+ }
23
+ export declare class StreamResetEvent extends StreamCloseEvent {
24
+ constructor(error: Error, eventInitDict?: EventInit);
25
+ }
26
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IACpC,IAAI,EAAE,UAAU,GAAG,cAAc,CAAA;gBAE3B,IAAI,EAAE,UAAU,GAAG,cAAc,EAAE,aAAa,CAAC,EAAE,SAAS;CAK1E;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IAClC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;gBAET,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,SAAS;CAMvE;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;gBACvC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,SAAS;CAGrD;AAED,qBAAa,gBAAiB,SAAQ,gBAAgB;gBACvC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,SAAS;CAGrD"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * A custom implementation of MessageEvent as the Undici version does too much
3
+ * validation in it's constructor so is very slow.
4
+ */
5
+ export class StreamMessageEvent extends Event {
6
+ data;
7
+ constructor(data, eventInitDict) {
8
+ super('message', eventInitDict);
9
+ this.data = data;
10
+ }
11
+ }
12
+ /**
13
+ * An event dispatched when the stream is closed. The `error` property can be
14
+ * inspected to discover if the closing was graceful or not, and the `remote`
15
+ * property shows which end of the stream initiated the closure
16
+ */
17
+ export class StreamCloseEvent extends Event {
18
+ error;
19
+ local;
20
+ constructor(local, error, eventInitDict) {
21
+ super('close', eventInitDict);
22
+ this.error = error;
23
+ this.local = local;
24
+ }
25
+ }
26
+ export class StreamAbortEvent extends StreamCloseEvent {
27
+ constructor(error, eventInitDict) {
28
+ super(true, error, eventInitDict);
29
+ }
30
+ }
31
+ export class StreamResetEvent extends StreamCloseEvent {
32
+ constructor(error, eventInitDict) {
33
+ super(false, error, eventInitDict);
34
+ }
35
+ }
36
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACpC,IAAI,CAA6B;IAExC,YAAa,IAAiC,EAAE,aAAyB;QACvE,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAE/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAClC,KAAK,CAAQ;IACb,KAAK,CAAU;IAEtB,YAAa,KAAe,EAAE,KAAa,EAAE,aAAyB;QACpE,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QAE7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IACpD,YAAa,KAAY,EAAE,aAAyB;QAClD,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;IACnC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IACpD,YAAa,KAAY,EAAE,aAAyB;QAClD,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;IACpC,CAAC;CACF"}