@fails-components/webtransport 1.4.0 → 1.4.2
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/lib/dom.d.ts +2 -0
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/http2/parserbase.d.ts +2 -2
- package/dist/lib/http2/parserbase.d.ts.map +1 -1
- package/dist/lib/server.d.ts +1 -0
- package/dist/lib/server.d.ts.map +1 -1
- package/dist/lib/session.d.ts +12 -1
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/stream.d.ts.map +1 -1
- package/dist/lib/types.d.ts +2 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/webtransport.browser.d.ts.map +1 -1
- package/dist/lib/webtransport.node.d.ts.map +1 -1
- package/lib/dom.ts +3 -0
- package/lib/http2/browser/browserparser.js +2 -2
- package/lib/http2/node/capsuleparser.js +2 -2
- package/lib/http2/node/client.js +6 -6
- package/lib/http2/node/server.js +6 -6
- package/lib/http2/node/websocketparser.js +2 -2
- package/lib/http2/parserbase.js +3 -3
- package/lib/server.js +3 -0
- package/lib/session.js +42 -11
- package/lib/stream.js +21 -9
- package/lib/types.ts +3 -1
- package/lib/webtransport.browser.js +1 -0
- package/lib/webtransport.node.js +1 -0
- package/package.json +2 -2
package/dist/lib/dom.d.ts
CHANGED
|
@@ -65,10 +65,12 @@ export interface WebTransportHash {
|
|
|
65
65
|
algorithm: string;
|
|
66
66
|
value: BufferSource;
|
|
67
67
|
}
|
|
68
|
+
export type DatagramsReadableMode = "bytes";
|
|
68
69
|
export interface WebTransportOptions {
|
|
69
70
|
allowPooling?: boolean;
|
|
70
71
|
requireUnreliable?: boolean;
|
|
71
72
|
serverCertificateHashes?: WebTransportHash[];
|
|
73
|
+
datagramsReadableMode?: DatagramsReadableMode;
|
|
72
74
|
/**
|
|
73
75
|
* Nonstandard option - when a new connection is opened, how long to wait for the quic handshake to complete in ms before rejecting or switching to http2
|
|
74
76
|
*/
|
package/dist/lib/dom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../lib/dom.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,yBAAyB,EAAE,MAAM,CAAA;IACjC,yBAAyB,EAAE,MAAM,CAAA;IACjC,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,yBAAyB,CAAA;CACrC;AAED,MAAM,WAAY,2BAA2B;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAO,OAAO,CAAC,2BAA2B,CAAC,CAAA;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,6BAA8B,SAAQ,cAAc;IACnE,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gCAAgC;IAC/C,cAAc,EAAE,CAAC,OAAO,CAAC,EAAG,uBAAuB,KAAK,6BAA6B,CAAC;IACtF,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAKjC;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc,CAAC,UAAU,CAAC;IACxE,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,yBAA0B,SAAQ,cAAc,CAAC,UAAU,CAAC;IAC3E,QAAQ,EAAE,MAAM,OAAO,CAAC,8BAA8B,CAAC,CAAA;CACxD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAA;IAC5C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,YAAY,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,uBAAuB,CAAC,EAAE,gBAAgB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../lib/dom.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,8 @@ export class ParserBase {
|
|
|
17
17
|
static WT_STREAM_DATA_BLOCKED: number;
|
|
18
18
|
static WT_STREAMS_BLOCKED_UNIDI: number;
|
|
19
19
|
static WT_STREAMS_BLOCKED_BIDI: number;
|
|
20
|
-
static
|
|
21
|
-
static
|
|
20
|
+
static WT_CLOSE_SESSION: number;
|
|
21
|
+
static WT_DRAIN_SESSION: number;
|
|
22
22
|
static DATAGRAM: number;
|
|
23
23
|
/**
|
|
24
24
|
* @param {import('../types').ParserInit} arg
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parserbase.d.ts","sourceRoot":"","sources":["../../../lib/http2/parserbase.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH,kCAHU,SAAO,MAAM,UAStB;AAED;IACE,uBAA2B;IAC3B,+BAAmC;IACnC,+BAAmC;IACnC,+BAAmC;IACnC,8BAAkC;IAClC,2BAA+B;IAC/B,kCAAsC;IACtC,mCAAuC;IACvC,oCAAwC;IACxC,+BAAmC;IACnC,sCAA0C;IAC1C,wCAA4C;IAC5C,uCAA2C;IAC3C,
|
|
1
|
+
{"version":3,"file":"parserbase.d.ts","sourceRoot":"","sources":["../../../lib/http2/parserbase.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH,kCAHU,SAAO,MAAM,UAStB;AAED;IACE,uBAA2B;IAC3B,+BAAmC;IACnC,+BAAmC;IACnC,+BAAmC;IACnC,8BAAkC;IAClC,2BAA+B;IAC/B,kCAAsC;IACtC,mCAAuC;IACvC,oCAAwC;IACxC,+BAAmC;IACnC,sCAA0C;IAC1C,wCAA4C;IAC5C,uCAA2C;IAC3C,gCAAgC;IAChC,gCAAgC;IAChC,wBAAsB;IAEtB;;OAEG;IACH,mNAFW,OAAO,UAAU,EAAE,UAAU,EA0BvC;IAfC,aAA4B;IAC5B,kBAAwB;IACxB,sBAAsB;IACtB,SADW,OAAO,CACE;IAEpB,2CAA4E;IAC5E,0CAA0E;IAC1E,yCAAwE;IACxE,2CAA0E;IAC1E,qCAAgE;IAEhE,kDAAkD;IAClD,WADW,IAAI,MAAM,EAAC,uBAAuB,CAAC,CACpB;IAE1B,6BAAwC;IAG1C;;;OAGG;IAEH,gBAHW,MAAM,GAAC,UAAU,QAK3B;IAED;;;OAGG;IAEH,kDAHU;QAAC,IAAI,SAAS;QAAC,WAAW,EAAE,MAAM,SAAO,MAAM,CAAC,CAAC;QAAC,OAAO,EAAE,UAAU,GAAC,SAAS,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;KAAC,QAK3G;IAED;;;OAGG;IACH,8BAFW,OAAO,CAIjB;IAED;;OAEG;IACH,4BAFU;QAAC,IAAI,SAAS;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,QAiBvC;IAED;;;OAGG;IACH,oBAHW,MAAM,YACN;QAAC,SAAS,EAAE,MAAM,CAAC;QAAA,WAAW,EAAE,MAAM,CAAA;KAAC,uCA+CjD;IAED,4BAUC;IAPC,oDAAoC;IAStC,oBASC;IAED;;OAEG;IACH,eAFW,MAAM,GAAC,SAAS,QAa1B;IAED;;;OAGG;IACH,0BAHW,MAAM,UACN,MAAM,QAUhB;IAED;;OAEG;IACH,iCAFW,MAAM,GAAC,SAAS,QAM1B;IAED;;OAEG;IACH,gCAFW,MAAM,GAAC,SAAS,QAM1B;IAED;;OAEG;IACH,mBAFW,MAAM,GAAC,SAAS,QAK1B;IAED;;;OAGG;IACH,8BAHW,MAAM,UACN,MAAM,QAMhB;IAED;;OAEG;IACH,iCAFW,MAAM,GAAC,SAAS,QAW1B;IAED;;OAEG;IACH,kCAFW,MAAM,GAAC,SAAS,QAW1B;IAED;;OAEG;IACH,6CAFW;QAAC,IAAI,EAAG,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,QAQzC;IAED,gBAEC;IAED;;;OAGG;IACH,4BAFW,MAAM,WAIhB;IAED;;;OAGG;IACH,mCAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,uBAFW,MAAM,QAKhB;IAED;;;;OAIG;IACH,wCAHW,MAAM,8BACN;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,QAKlD;IAED;;OAEG;IAEH,uBAHW,MAAM,QAKhB;CACF"}
|
package/dist/lib/server.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export class HttpServer implements HttpServerEventHandler {
|
|
|
15
15
|
sessionController: Record<string, ReadableStreamDefaultController<HttpWTSession>>;
|
|
16
16
|
port: number | null;
|
|
17
17
|
host: string | null;
|
|
18
|
+
defaultDatagramsReadableMode_: "bytes";
|
|
18
19
|
/** @type {any} */
|
|
19
20
|
requestHandler: any;
|
|
20
21
|
_ready: import("./types").Deferred<unknown>;
|
package/dist/lib/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../lib/server.js"],"names":[],"mappings":";AAuHA;;GAEG;AACH;IACE;;;OAGG;IACH,kBAFW,cAAc,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../lib/server.js"],"names":[],"mappings":";AAuHA;;GAEG;AACH;IACE;;;OAGG;IACH,kBAFW,cAAc,EAiCxB;IA9BC,uCAAgB;IAChB,6CAA6C;IAC7C,gBADW,OAAO,MAAM,EAAE,cAAc,CAAC,CACjB;IAExB,6EAA6E;IAC7E,mBADW,OAAO,MAAM,EAAE,gCAAgC,aAAa,CAAC,CAAC,CAC9C;IAE3B,oBAAgB;IAChB,oBAAgB;IAEhB,uCAAsE;IAGtE,kBAAkB;IAClB,gBADW,GAAG,CACY;IAE1B,4CAAqB;IACrB,wBAAgC;IAEhC,6CAAsB;IACtB,yBAAkC;IAClC;;OAEG;IACH,eAFU,MAAM,EAAE,CAEK;IAEvB;;OAEG;IACH,yBAFU,SAAS,GAAC,OAAO,CAEa;IAG1C,oBAgBC;IAED,mBAOC;IADC,6BAAmB;IAGrB;;;;SAIK;IACL,iBAJW,MAAM,WACN,MAAM,aACN,OAAO,QAKjB;IAED;;OAEG;IACH,WAFa;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAY1E;IAED;;OAEG;IACH,6BAFW,GAAG,QAOb;IAED;;;;;OAKG;IACH,oBALW,MAAM;;oBAGJ,eAAe,mBAAmB,CAAC,CAgB/C;IAED;;OAEG;IACH,uBAFW,yBAAyB,QAuBnC;IAED;;OAEG;IACH,6BAFW,+BAA+B,QAezC;IAED;;OAEG;IACH,+CAEC;IAED;;OAEG;IACH,uBAFW,wBAAwB,QAMlC;IAED;OACG;IACH,sBAEC;IAED;;QAEI;IACJ,0BAFU;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,GAAE,SAAS,iBAsElC;IA1CO,kBAA0D;CA2CnE;AAED;CAQC;AAED;CAQC;kCA7VY,OAAO,SAAS,EAAE,uBAAuB;kCACzC,OAAO,SAAS,EAAE,mBAAmB;qCACrC,OAAO,SAAS,EAAE,sBAAsB;8CACxC,OAAO,SAAS,EAAE,+BAA+B;uCACjD,OAAO,SAAS,EAAE,wBAAwB;wCAC1C,OAAO,SAAS,EAAE,yBAAyB;6BAC3C,OAAO,SAAS,EAAE,cAAc"}
|
package/dist/lib/session.d.ts
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* @typedef {import('./dom').WebTransportDatagramStats} WebTransportDatagramStats
|
|
24
24
|
* @typedef {import('./dom').WebTransportSendOptions} WebTransportSendOptions
|
|
25
25
|
* @typedef {import('./dom').WebTransportDatagramsWritable} WebTransportDatagramsWritable
|
|
26
|
+
* @typedef {import('./dom').DatagramsReadableMode} DatagramsReadableMode
|
|
26
27
|
*
|
|
27
28
|
* @typedef {import('./types').NativeHttpWTSession} NativeHttpWTSession
|
|
28
29
|
*
|
|
@@ -46,6 +47,7 @@ export class HttpWTSession implements WebTransportSessionEventHandler, WebTransp
|
|
|
46
47
|
* @param {Object | undefined} [args.header= undefined]
|
|
47
48
|
* @param {Object | undefined} [args.userData= undefined]
|
|
48
49
|
* @param {string | undefined} [args.peerAddress= undefined]
|
|
50
|
+
* @param {DatagramsReadableMode} [args.datagramsReadableMode]
|
|
49
51
|
*/
|
|
50
52
|
constructor(args: {
|
|
51
53
|
object?: import("./types").NativeHttpWTSession | undefined;
|
|
@@ -53,6 +55,7 @@ export class HttpWTSession implements WebTransportSessionEventHandler, WebTransp
|
|
|
53
55
|
header?: Object | undefined;
|
|
54
56
|
userData?: Object | undefined;
|
|
55
57
|
peerAddress?: string | undefined;
|
|
58
|
+
datagramsReadableMode?: "bytes" | undefined;
|
|
56
59
|
});
|
|
57
60
|
objint: import("./types").NativeHttpWTSession | undefined;
|
|
58
61
|
parentobj: import("./client").HttpClient | import("./server").HttpServer;
|
|
@@ -68,6 +71,7 @@ export class HttpWTSession implements WebTransportSessionEventHandler, WebTransp
|
|
|
68
71
|
userData: (Object | null | undefined);
|
|
69
72
|
/** @type {(string | undefined)} */
|
|
70
73
|
peerAddress_: (string | undefined);
|
|
74
|
+
datagramsReadableMode_: "bytes" | undefined;
|
|
71
75
|
/** @type {Promise<void>} */
|
|
72
76
|
ready: Promise<void>;
|
|
73
77
|
readyReject: (reason?: any) => void;
|
|
@@ -89,7 +93,10 @@ export class HttpWTSession implements WebTransportSessionEventHandler, WebTransp
|
|
|
89
93
|
/** @type {ReadableStream<WebTransportReceiveStream>} */
|
|
90
94
|
incomingUnidirectionalStreams: ReadableStream<WebTransportReceiveStream>;
|
|
91
95
|
incomUniDiController: ReadableStreamDefaultController<import("./dom").WebTransportReceiveStream>;
|
|
92
|
-
|
|
96
|
+
/** @type {import("stream/web").ReadableByteStreamController | undefined} */
|
|
97
|
+
incomDatagramControllerBytes_: import("stream/web").ReadableByteStreamController | undefined;
|
|
98
|
+
/** @type {import("stream/web").ReadableStreamController<Uint8Array> | undefined} */
|
|
99
|
+
incomDatagramController_: import("stream/web").ReadableStreamController<Uint8Array> | undefined;
|
|
93
100
|
_lastGetMaxDatagramSize: number;
|
|
94
101
|
/** @type {WebTransportDatagramDuplexStream} */
|
|
95
102
|
datagrams: WebTransportDatagramDuplexStream;
|
|
@@ -302,6 +309,10 @@ export type WebTransportSendOptions = import('./dom').WebTransportSendOptions;
|
|
|
302
309
|
* WebTransport session events
|
|
303
310
|
*/
|
|
304
311
|
export type WebTransportDatagramsWritable = import('./dom').WebTransportDatagramsWritable;
|
|
312
|
+
/**
|
|
313
|
+
* WebTransport session events
|
|
314
|
+
*/
|
|
315
|
+
export type DatagramsReadableMode = import('./dom').DatagramsReadableMode;
|
|
305
316
|
/**
|
|
306
317
|
* Public API
|
|
307
318
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../lib/session.js"],"names":[],"mappings":";AASA
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../lib/session.js"],"names":[],"mappings":"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"}
|
package/dist/lib/stream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../lib/stream.js"],"names":[],"mappings":";AAQA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;IACE;;;;;;;;;OASG;IACH;QARoC,MAAM,EAA/B,kBAAkB;QACE,SAAS,EAA7B,aAAa;QACA,SAAS,EAAtB,MAAM;QACQ,aAAa,EAA3B,OAAO;QACO,QAAQ,EAAtB,OAAO;QAC+B,SAAS,EAA/C,qBAAqB,GAAC,SAAS;QAClB,SAAS,EAAtB,MAAM;OAqNhB;IAlNC,6CAAyB;IAEzB,6CAA+B;IAC/B,kBAA+B;IAC/B,uBAAuC;IACvC,kBAA6B;IAC7B,gBAAmB;IAEnB,8DAAgC;IAChC,mBAAgC;IAMhC,mCAAmC;IACnC,kBADW,QAAQ,IAAI,CAAC,GAAG,IAAI,CACH;IAC5B,mBA2LkB,IAAI,SA3LA;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;IAqBlC,kBAoJU,IAAI,SApJU;IAQ1B,wBAA0B;IAkCxB,yEAAoC;IAwDlC,iBAsDQ,IAAI,SAtDW;IAyDjC,qBAAwB;IAG1B;;;OAGG;IACH,4BAHW;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAChB,UAAU,CAgBtB;IAED;;OAEG;IACH,4DAFW,UAAU;;
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../lib/stream.js"],"names":[],"mappings":";AAQA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;IACE;;;;;;;;;OASG;IACH;QARoC,MAAM,EAA/B,kBAAkB;QACE,SAAS,EAA7B,aAAa;QACA,SAAS,EAAtB,MAAM;QACQ,aAAa,EAA3B,OAAO;QACO,QAAQ,EAAtB,OAAO;QAC+B,SAAS,EAA/C,qBAAqB,GAAC,SAAS;QAClB,SAAS,EAAtB,MAAM;OAqNhB;IAlNC,6CAAyB;IAEzB,6CAA+B;IAC/B,kBAA+B;IAC/B,uBAAuC;IACvC,kBAA6B;IAC7B,gBAAmB;IAEnB,8DAAgC;IAChC,mBAAgC;IAMhC,mCAAmC;IACnC,kBADW,QAAQ,IAAI,CAAC,GAAG,IAAI,CACH;IAC5B,mBA2LkB,IAAI,SA3LA;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;IAqBlC,kBAoJU,IAAI,SApJU;IAQ1B,wBAA0B;IAkCxB,yEAAoC;IAwDlC,iBAsDQ,IAAI,SAtDW;IAyDjC,qBAAwB;IAG1B;;;OAGG;IACH,4BAHW;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAChB,UAAU,CAgBtB;IAED;;OAEG;IACH,4DAFW,UAAU;;MA+CpB;IAED,gCAMC;IAED;;;OAGG;IACH,yBAHW,OAAO,SAAS,EAAE,qBAAqB,GACrC,IAAI,CAqEhB;IA7BS,oCAA0B;IA+BpC,mBAGC;IAED;;OAEG;IAEH,oBAHW,gBAAgB,QAa1B;IAED;;OAEG;IACH,4BAFW,wBAAwB,QAiDlC;IArCK,qCAA2B;CAsClC;;;;6CAldY,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;;;;oCAEtC,OAAO,OAAO,EAAE,qBAAqB;;;;4BAErC,OAAO,WAAW,EAAE,aAAa;;;;8CAEjC,OAAO,YAAY,EAAE,+BAA+B"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
|
-
import type { WebTransportSession, WebTransportHash, WebTransportOptions, WebTransportSendStreamOptions } from './dom';
|
|
4
|
+
import type { WebTransportSession, WebTransportHash, WebTransportOptions, WebTransportSendStreamOptions, DatagramsReadableMode } from './dom';
|
|
5
5
|
import type { IncomingHttpHeaders, Http2Stream, ServerHttp2Stream } from 'http2';
|
|
6
6
|
import { ParserBase } from './http2/parserbase';
|
|
7
7
|
import { Http2WebTransportSession } from './http2/session';
|
|
@@ -270,6 +270,7 @@ export interface HttpServerInit extends HttpWebTransportInit {
|
|
|
270
270
|
sessionShouldAutoTuneReceiveWindow?: boolean;
|
|
271
271
|
sessionFlowControlWindowSizeLimit?: number;
|
|
272
272
|
reliability?: WebTransportServerReliability;
|
|
273
|
+
defaultDatagramsReadableMode: DatagramsReadableMode;
|
|
273
274
|
}
|
|
274
275
|
export interface HttpClientInit extends HttpWebTransportInit {
|
|
275
276
|
forceReliable?: any;
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,6BAA6B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webtransport.browser.d.ts","sourceRoot":"","sources":["../../lib/webtransport.browser.js"],"names":[],"mappings":"AAuDA;;;;GAIG;AACH;IAyBI,4BAA0B;
|
|
1
|
+
{"version":3,"file":"webtransport.browser.d.ts","sourceRoot":"","sources":["../../lib/webtransport.browser.js"],"names":[],"mappings":"AAuDA;;;;GAIG;AACH;IAyBI,4BAA0B;CAgB7B;AAED;IACE;;;OAGG;IACH,iBAHW,MAAM,0DAoPhB;IAhPC,gBAAuB;IACvB,kBAAqB;IACrB,uBAAyB;IACzB,2BAA8B;IAC9B,sDAAgB;IAEhB,qBAGE;IAFA,+BAAuB;IACvB,iCAAsB;IAGxB,oBAGE;IAFA,+BAAuB;IACvB,iCAAsB;IAGxB,uBAGE;IAFA,kCAA0B;IAC1B,oCAAyB;IAMzB,cAeW,YAAY,GAAC,oBAAoB,CAfW;IAoFzD,+DAA+D;IAE/D,WAFW,OAAO,OAAO,EAAE,gCAAgC,CAY1D;IAaG,yDAAuE;IA6BnE,qBAEkD;IA0C1D,6DAgBE;IAZE,iHAC4D;IAYhE,8DAgBE;IAZE,4GAC6D;IAcnE,uEAGC;IAED,+DAGC;IAED,oCAEC;IAED,mCAEC;IAED,yBAGC;IAED;;OAEG;IACH,2EAGC;IAED;;;OAGG;IACH,6FAFa,QAAQ,+BAA+B,CAAC,CAKpD;IAED;;;OAGG;IACH,8FAFa,QAAQ,sBAAsB,CAAC,CAK3C;CACF;2BArYY,OAAO,OAAO,EAAE,YAAY;oCAC5B,OAAO,OAAO,EAAE,qBAAqB;8CACrC,OAAO,OAAO,EAAE,+BAA+B;qCAC/C,OAAO,OAAO,EAAE,sBAAsB;4CACtC,OAAO,OAAO,EAAE,6BAA6B;wCAC7C,OAAO,OAAO,EAAE,yBAAyB;oCACzC,OAAO,OAAO,EAAE,qBAAqB;;;;gCAKrC,OAAO,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;oCAmC3C,OAAO,OAAO,EAAE,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webtransport.node.d.ts","sourceRoot":"","sources":["../../lib/webtransport.node.js"],"names":[],"mappings":"AAyBA,wCA4BE;AAEF;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AACH;
|
|
1
|
+
{"version":3,"file":"webtransport.node.d.ts","sourceRoot":"","sources":["../../lib/webtransport.node.js"],"names":[],"mappings":"AAyBA,wCA4BE;AAEF;;;;GAIG;AAEH;;;GAGG;AAEH;;;;GAIG;AACH;CA8EC;oCA7FY,OAAO,OAAO,EAAE,qBAAqB;8CACrC,OAAO,OAAO,EAAE,+BAA+B;wCAC/C,OAAO,OAAO,EAAE,yBAAyB;;;;gCAKzC,OAAO,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;oCAI3C,OAAO,OAAO,EAAE,YAAY"}
|
package/lib/dom.ts
CHANGED
|
@@ -85,10 +85,13 @@ export interface WebTransportHash {
|
|
|
85
85
|
value: BufferSource
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
export type DatagramsReadableMode = "bytes";
|
|
89
|
+
|
|
88
90
|
export interface WebTransportOptions {
|
|
89
91
|
allowPooling?: boolean
|
|
90
92
|
requireUnreliable?: boolean
|
|
91
93
|
serverCertificateHashes?: WebTransportHash[]
|
|
94
|
+
datagramsReadableMode?: DatagramsReadableMode;
|
|
92
95
|
|
|
93
96
|
/**
|
|
94
97
|
* Nonstandard option - when a new connection is opened, how long to wait for the quic handshake to complete in ms before rejecting or switching to http2
|
|
@@ -220,7 +220,7 @@ export class BrowserParser extends ParserBase {
|
|
|
220
220
|
case ParserBase.WT_STREAMS_BLOCKED_BIDI:
|
|
221
221
|
this.onStreamsBlockedBidi(readVarInt(bufferstate))
|
|
222
222
|
break
|
|
223
|
-
case ParserBase.
|
|
223
|
+
case ParserBase.WT_CLOSE_SESSION:
|
|
224
224
|
{
|
|
225
225
|
const code = readUint32(bufferstate) || 0
|
|
226
226
|
const decoder = new TextDecoder()
|
|
@@ -234,7 +234,7 @@ export class BrowserParser extends ParserBase {
|
|
|
234
234
|
this.onCloseWebTransportSession({ code, reason })
|
|
235
235
|
}
|
|
236
236
|
break
|
|
237
|
-
case ParserBase.
|
|
237
|
+
case ParserBase.WT_DRAIN_SESSION:
|
|
238
238
|
this.onDrain()
|
|
239
239
|
break
|
|
240
240
|
case ParserBase.DATAGRAM:
|
|
@@ -223,7 +223,7 @@ export class Http2CapsuleParser extends ParserBaseHttp2 {
|
|
|
223
223
|
case Http2CapsuleParser.WT_STREAMS_BLOCKED_BIDI:
|
|
224
224
|
this.onStreamsBlockedBidi(readVarInt(bufferstate))
|
|
225
225
|
break
|
|
226
|
-
case Http2CapsuleParser.
|
|
226
|
+
case Http2CapsuleParser.WT_CLOSE_SESSION:
|
|
227
227
|
{
|
|
228
228
|
const code = readUint32(bufferstate) || 0
|
|
229
229
|
const decoder = new TextDecoder()
|
|
@@ -237,7 +237,7 @@ export class Http2CapsuleParser extends ParserBaseHttp2 {
|
|
|
237
237
|
this.onCloseWebTransportSession({ code, reason })
|
|
238
238
|
}
|
|
239
239
|
break
|
|
240
|
-
case Http2CapsuleParser.
|
|
240
|
+
case Http2CapsuleParser.WT_DRAIN_SESSION:
|
|
241
241
|
this.onDrain()
|
|
242
242
|
break
|
|
243
243
|
case Http2CapsuleParser.DATAGRAM:
|
package/lib/http2/node/client.js
CHANGED
|
@@ -87,12 +87,12 @@ export class Http2WebTransportClient {
|
|
|
87
87
|
settings: {
|
|
88
88
|
enableConnectProtocol: true,
|
|
89
89
|
customSettings: {
|
|
90
|
-
0x2b60: 1, //
|
|
91
|
-
0x2b61: this.initialSessionFlowControlWindow, //
|
|
92
|
-
0x2b62: this.initialStreamFlowControlWindow, //
|
|
93
|
-
0x2b63: this.initialStreamFlowControlWindow, //
|
|
94
|
-
0x2b64: this.initialUnidirectionalStreams, //
|
|
95
|
-
0x2b65: this.initialBidirectionalStreams //
|
|
90
|
+
0x2b60: 1, // SETTINGS_WT_MAX_SESSIONS, TODO fix number
|
|
91
|
+
0x2b61: this.initialSessionFlowControlWindow, // SETTINGS_WT_INITIAL_MAX_DATA
|
|
92
|
+
0x2b62: this.initialStreamFlowControlWindow, // SETTINGS_WT_INITIAL_MAX_STREAM_DATA_UNI
|
|
93
|
+
0x2b63: this.initialStreamFlowControlWindow, // SETTINGS_WT_INITIAL_MAX_STREAM_DATA_BIDI
|
|
94
|
+
0x2b64: this.initialUnidirectionalStreams, // SETTINGS_WT_INITIAL_MAX_STREAMS_UNI
|
|
95
|
+
0x2b65: this.initialBidirectionalStreams // SETTINGS_WT_INITIAL_MAX_STREAMS_BIDI
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
remoteCustomSettings: [0x2b60, 0x2b61, 0x2b62, 0x2b63, 0x2b64, 0x2b65],
|
package/lib/http2/node/server.js
CHANGED
|
@@ -59,12 +59,12 @@ export class Http2WebTransportServer {
|
|
|
59
59
|
settings: {
|
|
60
60
|
enableConnectProtocol: true,
|
|
61
61
|
customSettings: {
|
|
62
|
-
0x2b60: 1, //
|
|
63
|
-
0x2b61: this.initialSessionFlowControlWindow, //
|
|
64
|
-
0x2b62: this.initialStreamFlowControlWindow, //
|
|
65
|
-
0x2b63: this.initialStreamFlowControlWindow, //
|
|
66
|
-
0x2b64: this.initialUnidirectionalStreams, //
|
|
67
|
-
0x2b65: this.initialBidirectionalStreams //
|
|
62
|
+
0x2b60: 1, // SETTINGS_WT_MAX_SESSIONS, TODO fix number
|
|
63
|
+
0x2b61: this.initialSessionFlowControlWindow, // SETTINGS_WT_INITIAL_MAX_DATA
|
|
64
|
+
0x2b62: this.initialStreamFlowControlWindow, // SETTINGS_WT_INITIAL_MAX_STREAM_DATA_UNI
|
|
65
|
+
0x2b63: this.initialStreamFlowControlWindow, // SETTINGS_WT_INITIAL_MAX_STREAM_DATA_BIDI
|
|
66
|
+
0x2b64: this.initialUnidirectionalStreams, // SETTINGS_WT_INITIAL_MAX_STREAMS_UNI
|
|
67
|
+
0x2b65: this.initialBidirectionalStreams // SETTINGS_WT_INITIAL_MAX_STREAMS_BIDI
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
70
|
remoteCustomSettings: [0x2b60, 0x2b61, 0x2b62, 0x2b63, 0x2b64, 0x2b65]
|
|
@@ -608,7 +608,7 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
608
608
|
case ParserBase.WT_STREAMS_BLOCKED_BIDI:
|
|
609
609
|
this.onStreamsBlockedBidi(readVarInt(bufferstate))
|
|
610
610
|
break
|
|
611
|
-
case ParserBase.
|
|
611
|
+
case ParserBase.WT_CLOSE_SESSION:
|
|
612
612
|
{
|
|
613
613
|
const code = readUint32(bufferstate) || 0
|
|
614
614
|
const decoder = new TextDecoder()
|
|
@@ -622,7 +622,7 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
622
622
|
this.onCloseWebTransportSession({ code, reason })
|
|
623
623
|
}
|
|
624
624
|
break
|
|
625
|
-
case ParserBase.
|
|
625
|
+
case ParserBase.WT_DRAIN_SESSION:
|
|
626
626
|
this.onDrain()
|
|
627
627
|
break
|
|
628
628
|
case ParserBase.DATAGRAM:
|
package/lib/http2/parserbase.js
CHANGED
|
@@ -31,8 +31,8 @@ export class ParserBase {
|
|
|
31
31
|
static WT_STREAM_DATA_BLOCKED = 0x190b4d42
|
|
32
32
|
static WT_STREAMS_BLOCKED_UNIDI = 0x190b4d43
|
|
33
33
|
static WT_STREAMS_BLOCKED_BIDI = 0x190b4d44
|
|
34
|
-
static
|
|
35
|
-
static
|
|
34
|
+
static WT_CLOSE_SESSION = 0x2843
|
|
35
|
+
static WT_DRAIN_SESSION = 0x78ae
|
|
36
36
|
static DATAGRAM = 0x00
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -101,7 +101,7 @@ export class ParserBase {
|
|
|
101
101
|
payload[2] = (code >> 8) & 0xff
|
|
102
102
|
payload[3] = code & 0xff
|
|
103
103
|
this.writeCapsule({
|
|
104
|
-
type: ParserBase.
|
|
104
|
+
type: ParserBase.WT_CLOSE_SESSION,
|
|
105
105
|
headerVints: [],
|
|
106
106
|
payload,
|
|
107
107
|
end: () => {
|
package/lib/server.js
CHANGED
|
@@ -136,6 +136,8 @@ export class HttpServer {
|
|
|
136
136
|
this.port = null
|
|
137
137
|
this.host = null
|
|
138
138
|
|
|
139
|
+
this.defaultDatagramsReadableMode_ = args.defaultDatagramsReadableMode
|
|
140
|
+
|
|
139
141
|
// FIX ME TYPE
|
|
140
142
|
/** @type {any} */
|
|
141
143
|
this.requestHandler = null
|
|
@@ -276,6 +278,7 @@ export class HttpServer {
|
|
|
276
278
|
header: args.header,
|
|
277
279
|
peerAddress: args.peerAddress,
|
|
278
280
|
userData: args.userData ?? {},
|
|
281
|
+
datagramsReadableMode: this.defaultDatagramsReadableMode_,
|
|
279
282
|
parentobj: this
|
|
280
283
|
})
|
|
281
284
|
args.session.jsobj = sesobj
|
package/lib/session.js
CHANGED
|
@@ -31,6 +31,7 @@ const log = logger(`webtransport:httpwtsession(${pid})`)
|
|
|
31
31
|
* @typedef {import('./dom').WebTransportDatagramStats} WebTransportDatagramStats
|
|
32
32
|
* @typedef {import('./dom').WebTransportSendOptions} WebTransportSendOptions
|
|
33
33
|
* @typedef {import('./dom').WebTransportDatagramsWritable} WebTransportDatagramsWritable
|
|
34
|
+
* @typedef {import('./dom').DatagramsReadableMode} DatagramsReadableMode
|
|
34
35
|
*
|
|
35
36
|
* @typedef {import('./types').NativeHttpWTSession} NativeHttpWTSession
|
|
36
37
|
*
|
|
@@ -55,6 +56,7 @@ export class HttpWTSession {
|
|
|
55
56
|
* @param {Object | undefined} [args.header= undefined]
|
|
56
57
|
* @param {Object | undefined} [args.userData= undefined]
|
|
57
58
|
* @param {string | undefined} [args.peerAddress= undefined]
|
|
59
|
+
* @param {DatagramsReadableMode} [args.datagramsReadableMode]
|
|
58
60
|
*/
|
|
59
61
|
constructor(args) {
|
|
60
62
|
if (args.object) {
|
|
@@ -80,6 +82,8 @@ export class HttpWTSession {
|
|
|
80
82
|
/** @type {(string | undefined)} */
|
|
81
83
|
this.peerAddress_ = args.peerAddress
|
|
82
84
|
|
|
85
|
+
this.datagramsReadableMode_ = args.datagramsReadableMode
|
|
86
|
+
|
|
83
87
|
/** @type {Promise<void>} */
|
|
84
88
|
this.ready = new Promise((resolve, reject) => {
|
|
85
89
|
this.readyResolve = resolve
|
|
@@ -117,14 +121,32 @@ export class HttpWTSession {
|
|
|
117
121
|
this.incomUniDiController = controller
|
|
118
122
|
}
|
|
119
123
|
})
|
|
124
|
+
/** @type {import("stream/web").ReadableByteStreamController | undefined} */
|
|
125
|
+
this.incomDatagramControllerBytes_ = undefined
|
|
126
|
+
/** @type {import("stream/web").ReadableStreamController<Uint8Array> | undefined} */
|
|
127
|
+
this.incomDatagramController_ = undefined
|
|
120
128
|
|
|
121
129
|
const readableopts = {
|
|
122
130
|
start: (
|
|
123
|
-
/** @type {import("stream/web").ReadableByteStreamController} */ controller
|
|
131
|
+
/** @type {import("stream/web").ReadableByteStreamController | import("stream/web").ReadableStreamController<Uint8Array>} */ controller
|
|
124
132
|
) => {
|
|
125
|
-
this.
|
|
133
|
+
if (this.datagramsReadableMode_ === 'bytes') {
|
|
134
|
+
this.incomDatagramControllerBytes_ =
|
|
135
|
+
/** @type {import("stream/web").ReadableByteStreamController} */ (
|
|
136
|
+
controller
|
|
137
|
+
)
|
|
138
|
+
} else {
|
|
139
|
+
this.incomDatagramController_ =
|
|
140
|
+
/** @type {import("stream/web").ReadableStreamController<Uint8Array>} */ (
|
|
141
|
+
controller
|
|
142
|
+
)
|
|
143
|
+
}
|
|
126
144
|
},
|
|
127
|
-
type
|
|
145
|
+
/** @type {undefined | 'bytes'} */
|
|
146
|
+
type: undefined
|
|
147
|
+
}
|
|
148
|
+
if (this.datagramsReadableMode_ === 'bytes') {
|
|
149
|
+
readableopts.type = 'bytes'
|
|
128
150
|
}
|
|
129
151
|
if (!canByteStream) {
|
|
130
152
|
// @ts-ignore
|
|
@@ -558,14 +580,17 @@ export class HttpWTSession {
|
|
|
558
580
|
|
|
559
581
|
this.incomBiDiController.close()
|
|
560
582
|
this.incomUniDiController.close()
|
|
561
|
-
|
|
583
|
+
// @ts-ignore
|
|
584
|
+
;(
|
|
585
|
+
this.incomDatagramController_ || this.incomDatagramControllerBytes_
|
|
586
|
+
).close()
|
|
562
587
|
// this.outgoDatagramController.error(errorcode)
|
|
563
588
|
this.state = 'closed'
|
|
564
589
|
|
|
565
590
|
const wtError = new WebTransportError(
|
|
566
591
|
`Session closed (on process ${pid}) with code ` +
|
|
567
592
|
args.errorcode +
|
|
568
|
-
' and reason' +
|
|
593
|
+
' and reason ' +
|
|
569
594
|
args.error
|
|
570
595
|
)
|
|
571
596
|
|
|
@@ -645,16 +670,19 @@ export class HttpWTSession {
|
|
|
645
670
|
* @param {DatagramReceivedEvent} args
|
|
646
671
|
*/
|
|
647
672
|
onDatagramReceived(args) {
|
|
648
|
-
log
|
|
673
|
+
log('datagram received', args.datagram)
|
|
649
674
|
// streams spec says zero length chunk on byob stream is illegal
|
|
650
|
-
if (
|
|
651
|
-
|
|
675
|
+
if (
|
|
676
|
+
args.datagram.byteLength === 0 &&
|
|
677
|
+
this.datagramsReadableMode_ === 'bytes'
|
|
678
|
+
) {
|
|
679
|
+
log('zerolength datagram dropped for a byte stream')
|
|
652
680
|
return
|
|
653
681
|
}
|
|
654
682
|
// console.log('datagram received', args.datagram, Date.now())
|
|
655
|
-
if (this.
|
|
683
|
+
if (this.incomDatagramControllerBytes_?.byobRequest) {
|
|
656
684
|
/** @type {ReadableStreamBYOBRequest} */
|
|
657
|
-
const byob = this.
|
|
685
|
+
const byob = this.incomDatagramControllerBytes_.byobRequest
|
|
658
686
|
/** @type {Uint8Array} */
|
|
659
687
|
// @ts-ignore
|
|
660
688
|
const view = byob?.view
|
|
@@ -672,7 +700,10 @@ export class HttpWTSession {
|
|
|
672
700
|
destview.set(args.datagram)
|
|
673
701
|
byob.respond(args.datagram.byteLength)
|
|
674
702
|
} else {
|
|
675
|
-
|
|
703
|
+
// @ts-ignore
|
|
704
|
+
;(
|
|
705
|
+
this.incomDatagramController_ || this.incomDatagramControllerBytes_
|
|
706
|
+
).enqueue(new Uint8Array(args.datagram))
|
|
676
707
|
}
|
|
677
708
|
}
|
|
678
709
|
|
package/lib/stream.js
CHANGED
|
@@ -304,6 +304,15 @@ export class HttpWTStream {
|
|
|
304
304
|
this.cancelres = null
|
|
305
305
|
res()
|
|
306
306
|
}
|
|
307
|
+
const parentstate = this.parentobj.state
|
|
308
|
+
if (parentstate === 'closed' || parentstate === 'failed') {
|
|
309
|
+
log('no parent cleanup for fin as parent was closed or failed')
|
|
310
|
+
} else {
|
|
311
|
+
this.parentobj.removeReceiveStream(
|
|
312
|
+
this.readable,
|
|
313
|
+
this.readableController
|
|
314
|
+
)
|
|
315
|
+
}
|
|
307
316
|
if (!this.readableclosed) {
|
|
308
317
|
this.readableController.close()
|
|
309
318
|
this.readableclosed = true
|
|
@@ -343,10 +352,12 @@ export class HttpWTStream {
|
|
|
343
352
|
this.readable,
|
|
344
353
|
this.readableController
|
|
345
354
|
)
|
|
346
|
-
this.readableclosed
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
355
|
+
if (!this.readableclosed) {
|
|
356
|
+
this.readableclosed = true
|
|
357
|
+
this.readableController.error(
|
|
358
|
+
new WebTransportError('Resetstream with code:' + (args.code || 0))
|
|
359
|
+
)
|
|
360
|
+
}
|
|
350
361
|
} else {
|
|
351
362
|
log.error('resetStream without readable')
|
|
352
363
|
}
|
|
@@ -359,11 +370,12 @@ export class HttpWTStream {
|
|
|
359
370
|
this.writable,
|
|
360
371
|
this.writableController
|
|
361
372
|
)
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
373
|
+
if (!this.writableclosed) {
|
|
374
|
+
this.writableclosed = true
|
|
375
|
+
this.writableController.error(
|
|
376
|
+
new WebTransportError('StopSending with code:' + (args.code || 0))
|
|
377
|
+
)
|
|
378
|
+
}
|
|
367
379
|
} else {
|
|
368
380
|
log.error('stopSending without writable')
|
|
369
381
|
}
|
package/lib/types.ts
CHANGED
|
@@ -2,7 +2,8 @@ import type {
|
|
|
2
2
|
WebTransportSession,
|
|
3
3
|
WebTransportHash,
|
|
4
4
|
WebTransportOptions,
|
|
5
|
-
WebTransportSendStreamOptions
|
|
5
|
+
WebTransportSendStreamOptions,
|
|
6
|
+
DatagramsReadableMode
|
|
6
7
|
} from './dom'
|
|
7
8
|
import type { IncomingHttpHeaders, Http2Stream, ServerHttp2Stream } from 'http2'
|
|
8
9
|
import { ParserBase } from './http2/parserbase'
|
|
@@ -316,6 +317,7 @@ export interface HttpServerInit extends HttpWebTransportInit {
|
|
|
316
317
|
sessionShouldAutoTuneReceiveWindow?: boolean
|
|
317
318
|
sessionFlowControlWindowSizeLimit?: number
|
|
318
319
|
reliability?: WebTransportServerReliability
|
|
320
|
+
defaultDatagramsReadableMode: DatagramsReadableMode
|
|
319
321
|
}
|
|
320
322
|
|
|
321
323
|
// see HttpClientJS C++ type
|
package/lib/webtransport.node.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fails-components/webtransport",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "A component to add webtransport support (server and client) to node.js using libquiche",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"engines": {
|
|
18
|
-
"node": ">=
|
|
18
|
+
"node": ">=20"
|
|
19
19
|
},
|
|
20
20
|
"type": "module",
|
|
21
21
|
"types": "./dist/lib/index.types.d.ts",
|