@fails-components/webtransport 1.0.4 → 1.0.8

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 (121) hide show
  1. package/dist/main/lib/client.d.ts +95 -0
  2. package/dist/main/lib/client.d.ts.map +1 -0
  3. package/dist/main/lib/dom.d.ts +88 -0
  4. package/dist/main/lib/dom.d.ts.map +1 -0
  5. package/dist/main/lib/error.d.ts +8 -0
  6. package/dist/main/lib/error.d.ts.map +1 -0
  7. package/dist/main/lib/features.d.ts +2 -0
  8. package/dist/main/lib/features.d.ts.map +1 -0
  9. package/dist/main/lib/http2/browser/browser.d.ts +30 -0
  10. package/dist/main/lib/http2/browser/browser.d.ts.map +1 -0
  11. package/dist/main/lib/http2/browser/browserparser.d.ts +41 -0
  12. package/dist/main/lib/http2/browser/browserparser.d.ts.map +1 -0
  13. package/dist/main/lib/http2/flowcontroller.d.ts +70 -0
  14. package/dist/main/lib/http2/flowcontroller.d.ts.map +1 -0
  15. package/dist/main/lib/http2/node/capsuleparser.d.ts +24 -0
  16. package/dist/main/lib/http2/node/capsuleparser.d.ts.map +1 -0
  17. package/dist/main/lib/http2/node/client.d.ts +29 -0
  18. package/dist/main/lib/http2/node/client.d.ts.map +1 -0
  19. package/dist/main/lib/http2/node/index.d.ts +3 -0
  20. package/dist/main/lib/http2/node/index.d.ts.map +1 -0
  21. package/dist/main/lib/http2/node/server.d.ts +57 -0
  22. package/dist/main/lib/http2/node/server.d.ts.map +1 -0
  23. package/dist/main/lib/http2/node/websocketparser.d.ts +86 -0
  24. package/dist/main/lib/http2/node/websocketparser.d.ts.map +1 -0
  25. package/dist/main/lib/http2/parserbase.d.ts +84 -0
  26. package/dist/main/lib/http2/parserbase.d.ts.map +1 -0
  27. package/dist/main/lib/http2/parserbasehttp2.d.ts +31 -0
  28. package/dist/main/lib/http2/parserbasehttp2.d.ts.map +1 -0
  29. package/dist/main/lib/http2/session.d.ts +71 -0
  30. package/dist/main/lib/http2/session.d.ts.map +1 -0
  31. package/dist/main/lib/http2/stream.d.ts +112 -0
  32. package/dist/main/lib/http2/stream.d.ts.map +1 -0
  33. package/dist/main/lib/http2/websocketcommon.d.ts +2 -0
  34. package/dist/main/lib/http2/websocketcommon.d.ts.map +1 -0
  35. package/dist/main/lib/index.browser.d.ts +58 -0
  36. package/dist/main/lib/index.browser.d.ts.map +1 -0
  37. package/dist/main/lib/index.node.d.ts +59 -0
  38. package/dist/main/lib/index.node.d.ts.map +1 -0
  39. package/dist/main/lib/server.d.ts +102 -0
  40. package/dist/main/lib/server.d.ts.map +1 -0
  41. package/dist/main/lib/session.d.ts +296 -0
  42. package/dist/main/lib/session.d.ts.map +1 -0
  43. package/dist/main/lib/stream.d.ts +132 -0
  44. package/dist/main/lib/stream.d.ts.map +1 -0
  45. package/dist/main/lib/types.d.ts +277 -0
  46. package/dist/main/lib/types.d.ts.map +1 -0
  47. package/dist/main/lib/utils.d.ts +11 -0
  48. package/dist/main/lib/utils.d.ts.map +1 -0
  49. package/dist/main/lib/webstreams.browser.d.ts +5 -0
  50. package/dist/main/lib/webstreams.browser.d.ts.map +1 -0
  51. package/dist/main/lib/webstreams.d.ts +10 -0
  52. package/dist/main/lib/webstreams.d.ts.map +1 -0
  53. package/dist/main/lib/webtransport.browser.d.ts +60 -0
  54. package/dist/main/lib/webtransport.browser.d.ts.map +1 -0
  55. package/dist/main/lib/webtransport.node.d.ts +26 -0
  56. package/dist/main/lib/webtransport.node.d.ts.map +1 -0
  57. package/dist/main/lib/webtransportbase.d.ts +70 -0
  58. package/dist/main/lib/webtransportbase.d.ts.map +1 -0
  59. package/dist/main/test/bidirectional-streams.spec.d.ts +5 -0
  60. package/dist/main/test/bidirectional-streams.spec.d.ts.map +1 -0
  61. package/dist/main/test/datagrams.spec.d.ts +5 -0
  62. package/dist/main/test/datagrams.spec.d.ts.map +1 -0
  63. package/dist/main/test/fixtures/certificate.d.ts +21 -0
  64. package/dist/main/test/fixtures/certificate.d.ts.map +1 -0
  65. package/dist/main/test/fixtures/chai.d.ts +2 -0
  66. package/dist/main/test/fixtures/chai.d.ts.map +1 -0
  67. package/dist/main/test/fixtures/known-bytes.d.ts +8 -0
  68. package/dist/main/test/fixtures/known-bytes.d.ts.map +1 -0
  69. package/dist/main/test/fixtures/p-timeout.d.ts +8 -0
  70. package/dist/main/test/fixtures/p-timeout.d.ts.map +1 -0
  71. package/dist/main/test/fixtures/read-cert-hash.d.ts +6 -0
  72. package/dist/main/test/fixtures/read-cert-hash.d.ts.map +1 -0
  73. package/dist/main/test/fixtures/read-stream.d.ts +18 -0
  74. package/dist/main/test/fixtures/read-stream.d.ts.map +1 -0
  75. package/dist/main/test/fixtures/reader-value.d.ts +21 -0
  76. package/dist/main/test/fixtures/reader-value.d.ts.map +1 -0
  77. package/dist/main/test/fixtures/server.d.ts +5 -0
  78. package/dist/main/test/fixtures/server.d.ts.map +1 -0
  79. package/dist/main/test/fixtures/webtransport.browser.d.ts +4 -0
  80. package/dist/main/test/fixtures/webtransport.browser.d.ts.map +1 -0
  81. package/dist/main/test/fixtures/webtransport.d.ts +3 -0
  82. package/dist/main/test/fixtures/webtransport.d.ts.map +1 -0
  83. package/dist/main/test/fixtures/write-stream.d.ts +10 -0
  84. package/dist/main/test/fixtures/write-stream.d.ts.map +1 -0
  85. package/dist/main/test/index.d.ts +2 -0
  86. package/dist/main/test/index.d.ts.map +1 -0
  87. package/dist/main/test/session.spec.d.ts +5 -0
  88. package/dist/main/test/session.spec.d.ts.map +1 -0
  89. package/dist/main/test/unidirectional-streams.spec.d.ts +2 -0
  90. package/dist/main/test/unidirectional-streams.spec.d.ts.map +1 -0
  91. package/dist/main/tsconfig.tsbuildinfo +1 -0
  92. package/dist/transports/http3-quiche/lib/clientsocket.d.ts +19 -0
  93. package/dist/transports/http3-quiche/lib/clientsocket.d.ts.map +1 -0
  94. package/dist/transports/http3-quiche/lib/index.d.ts +11 -0
  95. package/dist/transports/http3-quiche/lib/index.d.ts.map +1 -0
  96. package/dist/transports/http3-quiche/lib/serversocket.d.ts +12 -0
  97. package/dist/transports/http3-quiche/lib/serversocket.d.ts.map +1 -0
  98. package/dist/transports/http3-quiche/lib/socket.d.ts +19 -0
  99. package/dist/transports/http3-quiche/lib/socket.d.ts.map +1 -0
  100. package/dist/transports/http3-quiche/lib/types.d.ts +21 -0
  101. package/dist/transports/http3-quiche/lib/types.d.ts.map +1 -0
  102. package/dist/transports/http3-quiche/lib/utils.d.ts +6 -0
  103. package/dist/transports/http3-quiche/lib/utils.d.ts.map +1 -0
  104. package/lib/features.js +16 -0
  105. package/lib/http2/browser/browser.js +52 -0
  106. package/lib/http2/node/capsuleparser.js +8 -0
  107. package/lib/http2/node/server.js +10 -4
  108. package/lib/http2/node/websocketparser.js +17 -3
  109. package/lib/http2/parserbase.js +7 -0
  110. package/lib/http2/session.js +1 -5
  111. package/lib/session.js +16 -10
  112. package/lib/stream.js +46 -39
  113. package/lib/webtransport.browser.js +8 -2
  114. package/package.json +8 -3
  115. package/test/bidirectional-streams.spec.js +17 -31
  116. package/test/datagrams.spec.js +17 -20
  117. package/test/fixtures/webtransport.browser.js +1 -1
  118. package/test/index.js +13 -4
  119. package/test/session.spec.js +43 -48
  120. package/test/unidirectional-streams.spec.js +17 -30
  121. package/tsconfig.json +15 -0
@@ -0,0 +1,296 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * WebTransport session events
4
+ * @typedef {import('./types').WebTransportSessionEventHandler} WebTransportSessionEventHandler
5
+ * @typedef {import('./types').SessionReadyEvent} SessionReadyEvent
6
+ * @typedef {import('./types').SessionCloseEvent} SessionCloseEvent
7
+ * @typedef {import('./types').DatagramReceivedEvent} DatagramReceivedEvent
8
+ * @typedef {import('./types').DatagramSendEvent} DatagramSendEvent
9
+ * @typedef {import('./types').GoawayReceivedEvent} GoawayReceivedEvent
10
+ * @typedef {import('./types').DatagramStatsEvent} DatagramStatsEvent
11
+ * @typedef {import('./types').SessionStatsEvent} SessionStatsEvent
12
+ * @typedef {import('./types').NewStreamEvent} NewStreamEvent
13
+ *
14
+ * @typedef {import('./dom').WebTransportCloseInfo} WebTransportCloseInfo
15
+ * @typedef {import('./dom').WebTransportBidirectionalStream} WebTransportBidirectionalStream
16
+ * @typedef {import('./dom').WebTransportSendStream} WebTransportSendStream
17
+ * @typedef {import('./dom').WebTransportReceiveStream} WebTransportReceiveStream
18
+ * @typedef {import('./dom').WebTransportDatagramDuplexStream} WebTransportDatagramDuplexStream
19
+ * @typedef {import('./dom').WebTransportReliabilityMode} WebTransportReliabilityMode
20
+ * @typedef {import('./dom').WebTransportCongestionControl} WebTransportCongestionControl
21
+ * @typedef {import('./dom').WebTransportStats} WebTransportStats
22
+ * @typedef {import('./dom').WebTransportDatagramStats} WebTransportDatagramStats
23
+ *
24
+ * @typedef {import('./types').NativeHttpWTSession} NativeHttpWTSession
25
+ *
26
+ * Public API
27
+ * @typedef {import('./types').WebTransportSessionImpl} WebTransportSession
28
+ *
29
+ * @typedef {import('./server').HttpServer} HttpServer
30
+ * @typedef {import('./client').HttpClient} HttpClient
31
+ *
32
+ * @typedef {import('stream/web').WritableStreamDefaultController} WritableStreamDefaultController
33
+ */
34
+ /**
35
+ * @implements {WebTransportSessionEventHandler}
36
+ * @implements {WebTransportSession}
37
+ */
38
+ export class HttpWTSession implements WebTransportSessionEventHandler, WebTransportSession {
39
+ /**
40
+ * @param {object} args
41
+ * @param {import('./types').NativeHttpWTSession} [args.object]
42
+ * @param {HttpServer | HttpClient} args.parentobj
43
+ * @param {any | undefined} [args.header= undefined]
44
+ */
45
+ constructor(args: {
46
+ object?: import("./types").NativeHttpWTSession | undefined;
47
+ parentobj: HttpServer | HttpClient;
48
+ header?: any | undefined;
49
+ });
50
+ objint: import("./types").NativeHttpWTSession | undefined;
51
+ parentobj: import("./client").HttpClient | import("./server").HttpServer;
52
+ /** @type {import('./types').WebTransportSessionState} */
53
+ state: import('./types').WebTransportSessionState;
54
+ /** @type {((value?: any) => void) | null | undefined} */
55
+ readyResolve: ((value?: any) => void) | null | undefined;
56
+ /** @type {(() => void) | null | undefined} */
57
+ closeHook: (() => void) | null | undefined;
58
+ /** @type {(any | null | undefined)} */
59
+ header: (any | null | undefined);
60
+ /** @type {Promise<void>} */
61
+ ready: Promise<void>;
62
+ readyReject: (reason?: any) => void;
63
+ /** @type {WebTransportReliabilityMode} */
64
+ reliability: WebTransportReliabilityMode;
65
+ /** @type {WebTransportCongestionControl} */
66
+ congestionControl: WebTransportCongestionControl;
67
+ /** @type {Promise<WebTransportCloseInfo>} */
68
+ closed: Promise<WebTransportCloseInfo>;
69
+ closedResolve: (value: import("./dom").WebTransportCloseInfo | PromiseLike<import("./dom").WebTransportCloseInfo>) => void;
70
+ closedReject: (reason?: any) => void;
71
+ /** @type {Promise<undefined>} */
72
+ draining: Promise<undefined>;
73
+ drainingResolve: (value: PromiseLike<undefined> | undefined) => void;
74
+ drainingReject: (reason?: any) => void;
75
+ /** @type {ReadableStream<WebTransportBidirectionalStream>} */
76
+ incomingBidirectionalStreams: ReadableStream<WebTransportBidirectionalStream>;
77
+ incomBiDiController: ReadableStreamDefaultController<import("./dom").WebTransportBidirectionalStream>;
78
+ /** @type {ReadableStream<WebTransportReceiveStream>} */
79
+ incomingUnidirectionalStreams: ReadableStream<WebTransportReceiveStream>;
80
+ incomUniDiController: ReadableStreamDefaultController<import("./dom").WebTransportReceiveStream>;
81
+ /** @type {Array<() => void>} */
82
+ writeDatagramRes: (() => void)[];
83
+ /** @type {Array<(err?: Error) => void>} */
84
+ writeDatagramRej: ((err?: Error) => void)[];
85
+ /** @type {Array<Promise<void>>} */
86
+ writeDatagramProm: Array<Promise<void>>;
87
+ incomDatagramController: import("stream/web").ReadableByteStreamController;
88
+ /** @type {WebTransportDatagramDuplexStream} */
89
+ datagrams: WebTransportDatagramDuplexStream;
90
+ outgoDatagramController: import("stream/web").WritableStreamDefaultController;
91
+ /** @type {Array<(stream: WebTransportBidirectionalStream) => void>} */
92
+ resolveBiDi: ((stream: WebTransportBidirectionalStream) => void)[];
93
+ /** @type {Array<(stream: WebTransportSendStream) => void>} */
94
+ resolveUniDi: ((stream: WebTransportSendStream) => void)[];
95
+ /** @type {Array<(err?: Error) => void>} */
96
+ rejectBiDi: ((err?: Error) => void)[];
97
+ /** @type {Array<(err?: Error) => void>} */
98
+ rejectUniDi: ((err?: Error) => void)[];
99
+ /** @type {Array<(stats: WebTransportStats) => void>} */
100
+ resolveSessionStats: ((stats: WebTransportStats) => void)[];
101
+ /** @type {Array<(err?: Error) => void>} */
102
+ rejectSessionStats: ((err?: Error) => void)[];
103
+ /** @type {Array<(stats: WebTransportDatagramStats) => void>} */
104
+ resolveDatagramStats: ((stats: WebTransportDatagramStats) => void)[];
105
+ /** @type {Array<(err?: Error) => void>} */
106
+ rejectDatagramStats: ((err?: Error) => void)[];
107
+ /** @type {Set<WebTransportSendStream>} */
108
+ sendStreams: Set<WebTransportSendStream>;
109
+ /** @type {Set<WebTransportReceiveStream>} */
110
+ receiveStreams: Set<WebTransportReceiveStream>;
111
+ /** @type {Set<HttpWTStream>} */
112
+ streamObjs: Set<HttpWTStream>;
113
+ /** @type {Set<WritableStreamDefaultController>} */
114
+ sendStreamsController: Set<WritableStreamDefaultController>;
115
+ /** @type {Set<ReadableStreamDefaultController>} */
116
+ receiveStreamsController: Set<ReadableStreamDefaultController>;
117
+ /**
118
+ * @param {NativeHttpWTSession} object
119
+ * @param {boolean} reliable
120
+ */
121
+ setSessionObj(object: NativeHttpWTSession, reliable: boolean): void;
122
+ reliable: boolean | undefined;
123
+ getStats(): Promise<any>;
124
+ /**
125
+ * @param {SessionStatsEvent} evt
126
+ */
127
+ onSessionStats({ timestamp, expiredOutgoing, lostOutgoing, minRtt, smoothedRtt, rttVariation, estimatedSendRateBps }: SessionStatsEvent): void;
128
+ /**
129
+ * @param {DatagramStatsEvent} evt
130
+ */
131
+ onDatagramStats({ timestamp, expiredOutgoing, lostOutgoing }: DatagramStatsEvent): void;
132
+ waitForDatagramsSend(): Promise<void>;
133
+ notifySessionDraining(): void;
134
+ /**
135
+ * @param {HttpWTStream} stream
136
+ */
137
+ addStreamObj(stream: HttpWTStream): void;
138
+ /**
139
+ * @param {HttpWTStream} stream
140
+ */
141
+ removeStreamObj(stream: HttpWTStream): void;
142
+ /**
143
+ * @param {WebTransportSendStream} stream
144
+ * @param {WritableStreamDefaultController} controller
145
+ */
146
+ addSendStream(stream: WebTransportSendStream, controller: WritableStreamDefaultController): void;
147
+ /**
148
+ * @param {WebTransportSendStream} stream
149
+ * @param {WritableStreamDefaultController} controller
150
+ */
151
+ removeSendStream(stream: WebTransportSendStream, controller: WritableStreamDefaultController): void;
152
+ /**
153
+ * @param {WebTransportReceiveStream } stream
154
+ * @param {ReadableStreamDefaultController} controller
155
+ */
156
+ addReceiveStream(stream: WebTransportReceiveStream, controller: ReadableStreamDefaultController): void;
157
+ /**
158
+ * @param {WebTransportReceiveStream } stream
159
+ * @param {ReadableStreamDefaultController} controller
160
+ */
161
+ removeReceiveStream(stream: WebTransportReceiveStream, controller: ReadableStreamDefaultController): void;
162
+ /**
163
+ * @returns {Promise<WebTransportBidirectionalStream>}
164
+ */
165
+ createBidirectionalStream(): Promise<WebTransportBidirectionalStream>;
166
+ /**
167
+ *@returns {Promise<WebTransportSendStream>}
168
+ */
169
+ createUnidirectionalStream(): Promise<WebTransportSendStream>;
170
+ /**
171
+ * @param {object} [closeInfo]
172
+ * @param {number} closeInfo.closeCode
173
+ * @param {string} closeInfo.reason
174
+ * @returns {void}
175
+ */
176
+ close(closeInfo?: {
177
+ closeCode: number;
178
+ reason: string;
179
+ } | undefined): void;
180
+ onReady(): void;
181
+ /**
182
+ * @param {SessionCloseEvent} args
183
+ */
184
+ onClose(args: SessionCloseEvent): void;
185
+ /**
186
+ * @param {NewStreamEvent} args
187
+ */
188
+ onStream(args: NewStreamEvent): void;
189
+ /**
190
+ * @param {DatagramReceivedEvent} args
191
+ */
192
+ onDatagramReceived(args: DatagramReceivedEvent): void;
193
+ /**
194
+ * @param {DatagramSendEvent} args
195
+ */
196
+ onDatagramSend(args: DatagramSendEvent): void;
197
+ /**
198
+ * @param {GoawayReceivedEvent} args
199
+ */
200
+ onGoAwayReceived(args: GoawayReceivedEvent): void;
201
+ }
202
+ /**
203
+ * WebTransport session events
204
+ */
205
+ export type WebTransportSessionEventHandler = import('./types').WebTransportSessionEventHandler;
206
+ /**
207
+ * WebTransport session events
208
+ */
209
+ export type SessionReadyEvent = import('./types').SessionReadyEvent;
210
+ /**
211
+ * WebTransport session events
212
+ */
213
+ export type SessionCloseEvent = import('./types').SessionCloseEvent;
214
+ /**
215
+ * WebTransport session events
216
+ */
217
+ export type DatagramReceivedEvent = import('./types').DatagramReceivedEvent;
218
+ /**
219
+ * WebTransport session events
220
+ */
221
+ export type DatagramSendEvent = import('./types').DatagramSendEvent;
222
+ /**
223
+ * WebTransport session events
224
+ */
225
+ export type GoawayReceivedEvent = import('./types').GoawayReceivedEvent;
226
+ /**
227
+ * WebTransport session events
228
+ */
229
+ export type DatagramStatsEvent = import('./types').DatagramStatsEvent;
230
+ /**
231
+ * WebTransport session events
232
+ */
233
+ export type SessionStatsEvent = import('./types').SessionStatsEvent;
234
+ /**
235
+ * WebTransport session events
236
+ */
237
+ export type NewStreamEvent = import('./types').NewStreamEvent;
238
+ /**
239
+ * WebTransport session events
240
+ */
241
+ export type WebTransportCloseInfo = import('./dom').WebTransportCloseInfo;
242
+ /**
243
+ * WebTransport session events
244
+ */
245
+ export type WebTransportBidirectionalStream = import('./dom').WebTransportBidirectionalStream;
246
+ /**
247
+ * WebTransport session events
248
+ */
249
+ export type WebTransportSendStream = import('./dom').WebTransportSendStream;
250
+ /**
251
+ * WebTransport session events
252
+ */
253
+ export type WebTransportReceiveStream = import('./dom').WebTransportReceiveStream;
254
+ /**
255
+ * WebTransport session events
256
+ */
257
+ export type WebTransportDatagramDuplexStream = import('./dom').WebTransportDatagramDuplexStream;
258
+ /**
259
+ * WebTransport session events
260
+ */
261
+ export type WebTransportReliabilityMode = import('./dom').WebTransportReliabilityMode;
262
+ /**
263
+ * WebTransport session events
264
+ */
265
+ export type WebTransportCongestionControl = import('./dom').WebTransportCongestionControl;
266
+ /**
267
+ * WebTransport session events
268
+ */
269
+ export type WebTransportStats = import('./dom').WebTransportStats;
270
+ /**
271
+ * WebTransport session events
272
+ */
273
+ export type WebTransportDatagramStats = import('./dom').WebTransportDatagramStats;
274
+ /**
275
+ * Public API
276
+ */
277
+ export type NativeHttpWTSession = import('./types').NativeHttpWTSession;
278
+ /**
279
+ * WebTransport session events
280
+ */
281
+ export type WebTransportSession = import('./types').WebTransportSessionImpl;
282
+ /**
283
+ * WebTransport session events
284
+ */
285
+ export type HttpServer = import('./server').HttpServer;
286
+ /**
287
+ * WebTransport session events
288
+ */
289
+ export type HttpClient = import('./client').HttpClient;
290
+ /**
291
+ * WebTransport session events
292
+ */
293
+ export type WritableStreamDefaultController = import('stream/web').WritableStreamDefaultController;
294
+ import { ReadableStream } from "./webstreams.js";
295
+ import { HttpWTStream } from "./stream.js";
296
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../lib/session.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * WebTransport stream events
4
+ * @typedef {import('./types').WebTransportStreamEventHandler} WebTransportStreamEventHandler
5
+ * @typedef {import('./types').StreamRecvSignalEvent} StreamRecvSignalEvent
6
+ * @typedef {import('./types').StreamReadEvent} StreamReadEvent
7
+ * @typedef {import('./types').StreamWriteEvent} StreamWriteEvent
8
+ * @typedef {import('./types').StreamNetworkFinishEvent} StreamNetworkFinishEvent
9
+ *
10
+ * @typedef {import('./types').NativeHttpWTStream} NativeHttpWTStream
11
+ * @typedef {import('./types').ReadBuffer} ReadBuffer
12
+ *
13
+ * @typedef {import('./dom').WebTransportReceiveStream} WebTransportReceiveStream
14
+ * @typedef {import('./dom').WebTransportSendStream} WebTransportSendStream
15
+ *
16
+ * @typedef {import('./session').HttpWTSession} HttpWTSession
17
+ *
18
+ * @typedef {import('stream/web').WritableStreamDefaultController} WritableStreamDefaultController
19
+ */
20
+ export class HttpWTStream {
21
+ /**
22
+ * @param {object} args
23
+ * @param {NativeHttpWTStream} args.object
24
+ * @param {HttpWTSession} args.parentobj
25
+ * @param {object} args.transport
26
+ * @param {boolean} args.bidirectional
27
+ * @param {boolean} args.incoming
28
+ */
29
+ constructor(args: {
30
+ object: NativeHttpWTStream;
31
+ parentobj: HttpWTSession;
32
+ transport: object;
33
+ bidirectional: boolean;
34
+ incoming: boolean;
35
+ });
36
+ objint: import("./types").NativeHttpWTStream;
37
+ parentobj: import("./session").HttpWTSession;
38
+ transport: object;
39
+ bidirectional: boolean;
40
+ incoming: boolean;
41
+ closed: boolean;
42
+ /** @type {Promise<void> | null} */
43
+ pendingoperation: Promise<void> | null;
44
+ pendingres: (() => void) | null;
45
+ /** @type {WebTransportReceiveStream} */
46
+ readable: WebTransportReceiveStream;
47
+ /** @type {WebTransportSendStream} */
48
+ writable: WebTransportSendStream;
49
+ /** @type {Promise<void> | null} */
50
+ pendingoperationRead: Promise<void> | null;
51
+ pendingresRead: ((value: void | PromiseLike<void>) => void) | null;
52
+ readableController: import("stream/web").ReadableByteStreamController;
53
+ cancelres: (() => void) | null;
54
+ readableclosed: boolean;
55
+ writableController: import("stream/web").WritableStreamDefaultController;
56
+ abortres: (() => void) | null;
57
+ finaldrain_: boolean;
58
+ /**
59
+ * @param {{byteSize: number}} args
60
+ * @returns {ReadBuffer}
61
+ */
62
+ getReadBuffer({ byteSize }: {
63
+ byteSize: number;
64
+ }): ReadBuffer;
65
+ /**
66
+ * @param {ReadBuffer} args
67
+ */
68
+ commitReadBuffer({ buffer, byob, drained, readBytes, fin }: ReadBuffer): {
69
+ stopReading: boolean;
70
+ };
71
+ /**
72
+ * @param {import('./types').StreamRecvSignalEvent} args
73
+ * @returns {void}
74
+ */
75
+ onStreamRecvSignal(args: import('./types').StreamRecvSignalEvent): void;
76
+ writableclosed: boolean | undefined;
77
+ finalDrain(): void;
78
+ /**
79
+ * @param {StreamWriteEvent} args
80
+ */
81
+ onStreamWrite(args: StreamWriteEvent): void;
82
+ /**
83
+ * @param {StreamNetworkFinishEvent} args
84
+ */
85
+ onStreamNetworkFinish(args: StreamNetworkFinishEvent): void;
86
+ stopSendingRecv: boolean | undefined;
87
+ }
88
+ /**
89
+ * WebTransport stream events
90
+ */
91
+ export type WebTransportStreamEventHandler = import('./types').WebTransportStreamEventHandler;
92
+ /**
93
+ * WebTransport stream events
94
+ */
95
+ export type StreamRecvSignalEvent = import('./types').StreamRecvSignalEvent;
96
+ /**
97
+ * WebTransport stream events
98
+ */
99
+ export type StreamReadEvent = import('./types').StreamReadEvent;
100
+ /**
101
+ * WebTransport stream events
102
+ */
103
+ export type StreamWriteEvent = import('./types').StreamWriteEvent;
104
+ /**
105
+ * WebTransport stream events
106
+ */
107
+ export type StreamNetworkFinishEvent = import('./types').StreamNetworkFinishEvent;
108
+ /**
109
+ * WebTransport stream events
110
+ */
111
+ export type NativeHttpWTStream = import('./types').NativeHttpWTStream;
112
+ /**
113
+ * WebTransport stream events
114
+ */
115
+ export type ReadBuffer = import('./types').ReadBuffer;
116
+ /**
117
+ * WebTransport stream events
118
+ */
119
+ export type WebTransportReceiveStream = import('./dom').WebTransportReceiveStream;
120
+ /**
121
+ * WebTransport stream events
122
+ */
123
+ export type WebTransportSendStream = import('./dom').WebTransportSendStream;
124
+ /**
125
+ * WebTransport stream events
126
+ */
127
+ export type HttpWTSession = import('./session').HttpWTSession;
128
+ /**
129
+ * WebTransport stream events
130
+ */
131
+ export type WritableStreamDefaultController = import('stream/web').WritableStreamDefaultController;
132
+ //# sourceMappingURL=stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../lib/stream.js"],"names":[],"mappings":";AAQA;;;;;;;;;;;;;;;;;GAiBG;AAEH;IACE;;;;;;;OAOG;IACH;QANoC,MAAM,EAA/B,kBAAkB;QACE,SAAS,EAA7B,aAAa;QACA,SAAS,EAAtB,MAAM;QACQ,aAAa,EAA3B,OAAO;QACO,QAAQ,EAAtB,OAAO;OAgLjB;IA7KC,6CAAyB;IAEzB,6CAA+B;IAC/B,kBAA+B;IAC/B,uBAAuC;IACvC,kBAA6B;IAC7B,gBAAmB;IAMnB,mCAAmC;IACnC,kBADW,QAAQ,IAAI,CAAC,GAAG,IAAI,CACH;IAC5B,mBAyJkB,IAAI,SAzJA;IAEtB,wCAAwC;IACxC,UADW,yBAAyB,CACvB;IACb,qCAAqC;IACrC,UADW,sBAAsB,CACpB;IAEb,mCAAmC;IACnC,sBADW,QAAQ,IAAI,CAAC,GAAG,IAAI,CACC;IAChC,mEAA0B;IAOpB,sEAAoC;IAmBlC,kBAoHU,IAAI,SApHU;IAQ1B,wBAA0B;IAkCxB,yEAAoC;IAsDlC,iBAwBQ,IAAI,SAxBW;IA2BjC,qBAAwB;IAG1B;;;OAGG;IACH,4BAHW;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAChB,UAAU,CAgBtB;IAED;;OAEG;IACH,4DAFW,UAAU;;MAsCpB;IAED;;;OAGG;IACH,yBAHW,OAAO,SAAS,EAAE,qBAAqB,GACrC,IAAI,CAkEhB;IA5BO,oCAA0B;IA8BlC,mBAGC;IAED;;OAEG;IACH,oBAFW,gBAAgB,QAY1B;IAED;;OAEG;IACH,4BAFW,wBAAwB,QAiDlC;IArCK,qCAA2B;CAsClC;;;;6CApZY,OAAO,SAAS,EAAE,8BAA8B;;;;oCAChD,OAAO,SAAS,EAAE,qBAAqB;;;;8BACvC,OAAO,SAAS,EAAE,eAAe;;;;+BACjC,OAAO,SAAS,EAAE,gBAAgB;;;;uCAClC,OAAO,SAAS,EAAE,wBAAwB;;;;iCAE1C,OAAO,SAAS,EAAE,kBAAkB;;;;yBACpC,OAAO,SAAS,EAAE,UAAU;;;;wCAE5B,OAAO,OAAO,EAAE,yBAAyB;;;;qCACzC,OAAO,OAAO,EAAE,sBAAsB;;;;4BAEtC,OAAO,WAAW,EAAE,aAAa;;;;8CAEjC,OAAO,YAAY,EAAE,+BAA+B"}