@fails-components/webtransport 1.1.4 → 1.2.0
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 +27 -10
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/http2/browser/browser.d.ts +5 -2
- package/dist/lib/http2/browser/browser.d.ts.map +1 -1
- package/dist/lib/http2/browser/browserparser.d.ts.map +1 -1
- package/dist/lib/http2/node/capsuleparser.d.ts.map +1 -1
- package/dist/lib/http2/node/client.d.ts +3 -2
- package/dist/lib/http2/node/client.d.ts.map +1 -1
- package/dist/lib/http2/node/server.d.ts +10 -5
- package/dist/lib/http2/node/server.d.ts.map +1 -1
- package/dist/lib/http2/node/websocketparser.d.ts.map +1 -1
- package/dist/lib/http2/parserbase.d.ts +33 -1
- package/dist/lib/http2/parserbase.d.ts.map +1 -1
- package/dist/lib/http2/priorityscheduler.d.ts +167 -0
- package/dist/lib/http2/priorityscheduler.d.ts.map +1 -0
- package/dist/lib/http2/session.d.ts +25 -16
- package/dist/lib/http2/session.d.ts.map +1 -1
- package/dist/lib/http2/stream.d.ts +10 -0
- package/dist/lib/http2/stream.d.ts.map +1 -1
- package/dist/lib/http2/websocketcommon.d.ts.map +1 -1
- package/dist/lib/server.d.ts.map +1 -1
- package/dist/lib/session.d.ts +31 -17
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/stream.d.ts +13 -0
- package/dist/lib/stream.d.ts.map +1 -1
- package/dist/lib/types.d.ts +18 -15
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/webtransport.browser.d.ts +3 -2
- package/dist/lib/webtransport.browser.d.ts.map +1 -1
- package/dist/lib/webtransportbase.d.ts +1 -0
- package/dist/lib/webtransportbase.d.ts.map +1 -1
- package/eslint.config.js +20 -22
- package/lib/dom.ts +31 -13
- package/lib/http2/browser/browser.js +28 -13
- package/lib/http2/browser/browserparser.js +4 -1
- package/lib/http2/node/capsuleparser.js +4 -1
- package/lib/http2/node/client.js +38 -27
- package/lib/http2/node/server.js +56 -19
- package/lib/http2/node/websocketparser.js +5 -2
- package/lib/http2/parserbase.js +76 -7
- package/lib/http2/priorityscheduler.js +654 -0
- package/lib/http2/session.js +69 -20
- package/lib/http2/stream.js +60 -10
- package/lib/http2/websocketcommon.js +1 -1
- package/lib/server.js +0 -1
- package/lib/session.js +128 -64
- package/lib/stream.js +50 -8
- package/lib/types.ts +15 -8
- package/lib/webtransport.browser.js +77 -18
- package/lib/webtransportbase.js +7 -0
- package/old_test/testsuite.js +6 -2
- package/package.json +6 -6
- package/readme.md +3 -1
package/dist/lib/dom.d.ts
CHANGED
|
@@ -19,21 +19,34 @@ export interface WebTransportStats {
|
|
|
19
19
|
estimatedSendRate: bigint;
|
|
20
20
|
datagrams: WebTransportDatagramStats;
|
|
21
21
|
}
|
|
22
|
+
export interface WebTransportSendStreamStats {
|
|
23
|
+
bytesWritten: bigint;
|
|
24
|
+
bytesSent: bigint;
|
|
25
|
+
bytesAcknowledged: bigint;
|
|
26
|
+
}
|
|
27
|
+
export interface WebTransportSendGroup {
|
|
28
|
+
getStats: () => Promise<WebTransportSendStreamStats>;
|
|
29
|
+
}
|
|
22
30
|
export interface WebTransportCloseInfo {
|
|
23
31
|
closeCode: number;
|
|
24
32
|
reason: string;
|
|
25
33
|
}
|
|
34
|
+
export interface WebTransportDatagramsWritable extends WritableStream {
|
|
35
|
+
sendGroup?: WebTransportSendGroup;
|
|
36
|
+
sendOrder: bigint;
|
|
37
|
+
}
|
|
38
|
+
export interface WebTransportSendOptions {
|
|
39
|
+
sendGroup?: WebTransportSendGroup;
|
|
40
|
+
sendOrder: number;
|
|
41
|
+
}
|
|
26
42
|
export interface WebTransportDatagramDuplexStream {
|
|
43
|
+
createWritable: (options?: WebTransportSendOptions) => WebTransportDatagramsWritable;
|
|
27
44
|
readable: ReadableStream<Uint8Array>;
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
export interface WebTransportSendStreamStats {
|
|
31
|
-
timestamp: number;
|
|
32
|
-
bytesWritten: bigint;
|
|
33
|
-
bytesSent: bigint;
|
|
34
|
-
bytesAcknowledged: bigint;
|
|
45
|
+
readonly maxDatagramSize: number;
|
|
35
46
|
}
|
|
36
47
|
export interface WebTransportSendStream extends WritableStream<Uint8Array> {
|
|
48
|
+
sendGroup?: WebTransportSendGroup;
|
|
49
|
+
sendOrder: bigint;
|
|
37
50
|
getStats: () => Promise<WebTransportSendStreamStats>;
|
|
38
51
|
}
|
|
39
52
|
export interface WebTransportReceiveStreamStats {
|
|
@@ -65,13 +78,16 @@ export interface WebTransportOptions {
|
|
|
65
78
|
*/
|
|
66
79
|
webTransportConnectTimeout?: number;
|
|
67
80
|
congestionControl?: WebTransportCongestionControl;
|
|
81
|
+
protocols?: string[];
|
|
68
82
|
}
|
|
69
|
-
export interface
|
|
70
|
-
|
|
83
|
+
export interface WebTransportSendStreamStats {
|
|
84
|
+
bytesWritten: bigint;
|
|
85
|
+
bytesSent: bigint;
|
|
86
|
+
bytesAcknowledged: bigint;
|
|
71
87
|
}
|
|
72
88
|
export interface WebTransportSendStreamOptions {
|
|
73
89
|
sendGroup: WebTransportSendGroup | null;
|
|
74
|
-
sendOrder?:
|
|
90
|
+
sendOrder?: bigint;
|
|
75
91
|
waitUntilAvailable?: boolean;
|
|
76
92
|
}
|
|
77
93
|
export interface WebTransportSession {
|
|
@@ -90,6 +106,7 @@ export interface WebTransportSession {
|
|
|
90
106
|
}
|
|
91
107
|
export interface WebTransport extends WebTransportSession {
|
|
92
108
|
readonly supportsReliableOnly: boolean;
|
|
109
|
+
readonly protocol: string | undefined;
|
|
93
110
|
}
|
|
94
111
|
export type WebTransportReliabilityMode = 'pending' | 'reliable-only' | 'supports-unreliable';
|
|
95
112
|
export type WebTransportCongestionControl = 'default' | 'throughput' | 'low-latency';
|
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,
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../lib/dom.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,18 +5,21 @@ export class Http2WebTransportBrowser {
|
|
|
5
5
|
constructor(args: import('../../types.js').NativeClientOptions);
|
|
6
6
|
port: number;
|
|
7
7
|
hostname: string;
|
|
8
|
+
protocols: string[];
|
|
8
9
|
initialStreamFlowControlWindow: number;
|
|
9
10
|
initialSessionFlowControlWindow: number;
|
|
10
11
|
initialBidirectionalStreams: number;
|
|
11
12
|
initialUnidirectionalStreams: number;
|
|
12
|
-
streamShouldAutoTuneReceiveWindow:
|
|
13
|
+
streamShouldAutoTuneReceiveWindow: true;
|
|
13
14
|
streamFlowControlWindowSizeLimit: number;
|
|
14
|
-
sessionShouldAutoTuneReceiveWindow:
|
|
15
|
+
sessionShouldAutoTuneReceiveWindow: true;
|
|
15
16
|
sessionFlowControlWindowSizeLimit: number;
|
|
16
17
|
/** @type {import('../../session.js').HttpClient} */
|
|
17
18
|
jsobj: import('../../session.js').HttpClient;
|
|
18
19
|
/** @type {WebSocket} */
|
|
19
20
|
clientInt: WebSocket;
|
|
21
|
+
/** @type {undefined|string} */
|
|
22
|
+
_webtransportProtocol: undefined | string;
|
|
20
23
|
/**
|
|
21
24
|
* @param {{path: string}} arg
|
|
22
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../lib/http2/browser/browser.js"],"names":[],"mappings":"AAOA;IACE;;OAEG;IACH,kBAFW,OAAO,gBAAgB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../../lib/http2/browser/browser.js"],"names":[],"mappings":"AAOA;IACE;;OAEG;IACH,kBAFW,OAAO,gBAAgB,EAAE,mBAAmB,EAiCtD;IA9BC,aAA6B;IAC7B,iBAAyC;IACzC,oBAAsC;IACtC,uCACmD;IACnD,wCACoD;IAEpD,oCAC8C;IAC9C,qCAC+C;IAE/C,wCACgD;IAChD,yCAC2D;IAE3D,yCACiD;IACjD,0CAC6D;IAC7D,oDAAoD;IAEpD,OAFW,OAAO,kBAAkB,EAAE,UAAU,CAE1B;IACtB,wBAAwB;IAExB,WAFW,SAAS,CAEM;IAC1B,+BAA+B;IAC/B,uBADW,SAAS,GAAC,MAAM,CACW;IAGxC;;OAEG;IACH,0BAFW;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,QA6ExB;IAED;;OAEG;IAEH,oBAHW,MAAM,QAkHhB;IAED,oBAGC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserparser.d.ts","sourceRoot":"","sources":["../../../../lib/http2/browser/browserparser.js"],"names":[],"mappings":"AAyCA;;;GAGG;AACH,gCAHU;IAAC,MAAM,SAAS;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,SAAQ;CAAC,OAClD,SAAO,MAAM,QAyBtB;AAED;IACE,2BAAwB;IACxB,uBAAoB;IACpB,yBAAsB;IACtB,wBAAqB;IACrB,uBAAoB;IACpB,uBAAoB;IACpB;;OAEG;IACH,uNAFW,OAAO,gBAAgB,EAAE,mBAAmB,EAsCtD;IAjBC,cAAY;IACZ,+BAA+B;IAC/B,WADW,MAAM,GAAC,SAAS,CACD;IAC1B,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAEtB,mBAAsB;IAaxB;;OAEG;IACH,gBAFW,UAAU,
|
|
1
|
+
{"version":3,"file":"browserparser.d.ts","sourceRoot":"","sources":["../../../../lib/http2/browser/browserparser.js"],"names":[],"mappings":"AAyCA;;;GAGG;AACH,gCAHU;IAAC,MAAM,SAAS;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,SAAQ;CAAC,OAClD,SAAO,MAAM,QAyBtB;AAED;IACE,2BAAwB;IACxB,uBAAoB;IACpB,yBAAsB;IACtB,wBAAqB;IACrB,uBAAoB;IACpB,uBAAoB;IACpB;;OAEG;IACH,uNAFW,OAAO,gBAAgB,EAAE,mBAAmB,EAsCtD;IAjBC,cAAY;IACZ,+BAA+B;IAC/B,WADW,MAAM,GAAC,SAAS,CACD;IAC1B,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAEtB,mBAAsB;IAaxB;;OAEG;IACH,gBAFW,UAAU,QAqIpB;IAED;;OAEG;IACH,kDAFU;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,WAuB3G;CASF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capsuleparser.d.ts","sourceRoot":"","sources":["../../../../lib/http2/node/capsuleparser.js"],"names":[],"mappings":"AAQA;IAwBI,aAAe;IACf,+BAA+B;IAC/B,WADW,MAAM,GAAC,SAAS,CACD;IAC1B,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAGxB;;OAEG;IACH,gBAFW,MAAM,
|
|
1
|
+
{"version":3,"file":"capsuleparser.d.ts","sourceRoot":"","sources":["../../../../lib/http2/node/capsuleparser.js"],"names":[],"mappings":"AAQA;IAwBI,aAAe;IACf,+BAA+B;IAC/B,WADW,MAAM,GAAC,SAAS,CACD;IAC1B,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAGxB;;OAEG;IACH,gBAFW,MAAM,QAqQhB;IA/CW,kBAA2D;IAGzD,8BAAyB;IACzB,0BAAsD;IA6CpE;;OAEG;IACH,kDAFU;QAAC,IAAI,SAAS;QAAC,WAAW,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,UAAU,GAAC,SAAS,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;KAAC,uBA0BpG;CASF"}
|
|
@@ -7,6 +7,7 @@ export class Http2WebTransportClient {
|
|
|
7
7
|
port: number;
|
|
8
8
|
hostname: string;
|
|
9
9
|
serverCertificateHashes: import("../../dom.js").WebTransportHash[];
|
|
10
|
+
protocols: string[];
|
|
10
11
|
localPort: number | undefined;
|
|
11
12
|
allowPooling: boolean;
|
|
12
13
|
forceIpv6: boolean;
|
|
@@ -14,9 +15,9 @@ export class Http2WebTransportClient {
|
|
|
14
15
|
initialSessionFlowControlWindow: number;
|
|
15
16
|
initialBidirectionalStreams: number;
|
|
16
17
|
initialUnidirectionalStreams: number;
|
|
17
|
-
streamShouldAutoTuneReceiveWindow:
|
|
18
|
+
streamShouldAutoTuneReceiveWindow: true;
|
|
18
19
|
streamFlowControlWindowSizeLimit: number;
|
|
19
|
-
sessionShouldAutoTuneReceiveWindow:
|
|
20
|
+
sessionShouldAutoTuneReceiveWindow: true;
|
|
20
21
|
sessionFlowControlWindowSizeLimit: number;
|
|
21
22
|
/** @type {import('../../session.js').HttpClient} */
|
|
22
23
|
jsobj: import('../../session.js').HttpClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../lib/http2/node/client.js"],"names":[],"mappings":";AAOA;IACE;;OAEG;IACH,kBAFW,OAAO,gBAAgB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../lib/http2/node/client.js"],"names":[],"mappings":";AAOA;IACE;;OAEG;IACH,kBAFW,OAAO,gBAAgB,EAAE,mBAAmB,EAkCtD;IA7BC,aAAwB;IACxB,iBAAyC;IACzC,mEAAyE;IACzE,oBAAsC;IACtC,8BAAqD;IACrD,sBAA+C;IAC/C,mBAAyC;IACzC,uCACmD;IACnD,wCACoD;IAEpD,oCAC8C;IAC9C,qCAC+C;IAE/C,wCACgD;IAChD,yCAC2D;IAE3D,yCACiD;IACjD,0CAC6D;IAC7D,oDAAoD;IAEpD,OAFW,OAAO,kBAAkB,EAAE,UAAU,CAE1B;IAGxB,wBAiKC;IAnGC,0DAGC;IAkGH;;OAEG;IACH,oBAFW,MAAM,QAkEhB;IAED,oBAEC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
2
3
|
export class Http2WebTransportServer {
|
|
3
4
|
/**
|
|
4
5
|
* @param {import('../../types.js').NativeServerOptions} args
|
|
@@ -11,9 +12,9 @@ export class Http2WebTransportServer {
|
|
|
11
12
|
initialSessionFlowControlWindow: number;
|
|
12
13
|
initialBidirectionalStreams: number;
|
|
13
14
|
initialUnidirectionalStreams: number;
|
|
14
|
-
streamShouldAutoTuneReceiveWindow:
|
|
15
|
+
streamShouldAutoTuneReceiveWindow: true;
|
|
15
16
|
streamFlowControlWindowSizeLimit: number;
|
|
16
|
-
sessionShouldAutoTuneReceiveWindow:
|
|
17
|
+
sessionShouldAutoTuneReceiveWindow: true;
|
|
17
18
|
sessionFlowControlWindowSizeLimit: number;
|
|
18
19
|
/** @type {Record<string, boolean>} */
|
|
19
20
|
paths: Record<string, boolean>;
|
|
@@ -21,12 +22,16 @@ export class Http2WebTransportServer {
|
|
|
21
22
|
/** @type {import('../../session.js').HttpServer} */
|
|
22
23
|
jsobj: import('../../session.js').HttpServer;
|
|
23
24
|
canHandleSettings: boolean;
|
|
24
|
-
serverInt: import("http2").Http2SecureServer
|
|
25
|
+
serverInt: import("http2").Http2SecureServer<typeof import("http").IncomingMessage, typeof import("http").ServerResponse, typeof import("http2").Http2ServerRequest, typeof import("http2").Http2ServerResponse>;
|
|
25
26
|
capsParser: WebSocketParser;
|
|
26
27
|
/**
|
|
27
28
|
* @param {import("http2").IncomingHttpHeaders} header
|
|
29
|
+
* @return {{websocketProt: string|undefined, webtransportProt?: string}}
|
|
28
30
|
*/
|
|
29
|
-
checkProtocolHeader(header: import("http2").IncomingHttpHeaders):
|
|
31
|
+
checkProtocolHeader(header: import("http2").IncomingHttpHeaders): {
|
|
32
|
+
websocketProt: string | undefined;
|
|
33
|
+
webtransportProt?: string;
|
|
34
|
+
};
|
|
30
35
|
startServer(): void;
|
|
31
36
|
stopServer(): void;
|
|
32
37
|
/**
|
|
@@ -54,7 +59,7 @@ export class Http2WebTransportServer {
|
|
|
54
59
|
/**
|
|
55
60
|
* @param {import('../../types.js').NativeFinishSessionRequest} args
|
|
56
61
|
*/
|
|
57
|
-
finishSessionRequest({ header, userData, session: stream, status, protocol, head, path, transportPrivate }: import('../../types.js').NativeFinishSessionRequest): void;
|
|
62
|
+
finishSessionRequest({ header, userData, session: stream, status, protocol, head, path, transportPrivate, selectedProtocol }: import('../../types.js').NativeFinishSessionRequest): void;
|
|
58
63
|
}
|
|
59
64
|
import { WebSocketParser } from "./websocketparser.js";
|
|
60
65
|
//# sourceMappingURL=server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../lib/http2/node/server.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../lib/http2/node/server.js"],"names":[],"mappings":";;AASA;IACE;;OAEG;IACH,kBAFW,OAAO,gBAAgB,EAAE,mBAAmB,EAgWtD;IA3VC,aAAwB;IACxB,eAA0B;IAE1B,aAAqC;IAMrC,uCACmD;IACnD,wCACoD;IAEpD,oCAA2E;IAC3E,qCAC2C;IAE3C,wCACgD;IAChD,yCAC2D;IAE3D,yCACiD;IACjD,0CAC6D;IAE7D,sCAAsC;IACtC,OADW,OAAO,MAAM,EAAE,OAAO,CAAC,CACnB;IACf,2BAA8B;IAC9B,oDAAoD;IAEpD,OAFW,OAAO,kBAAkB,EAAE,UAAU,CAE1B;IAEtB,2BAA8B;IAG9B,iNAgBE;IAoG6B,4BAYb;IAuLpB;;;OAGG;IACH,4BAHW,OAAO,OAAO,EAAE,mBAAmB,GAClC;QAAC,aAAa,EAAE,MAAM,GAAC,SAAS,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAC,CA6BvE;IAED,oBAEC;IAED,mBAGC;IAED;;;;SAIK;IAEL,iBALW,MAAM,GAAC,MAAM,EAAE,WACf,MAAM,GAAC,MAAM,EAAE,aACf,OAAO,QAKjB;IAED;;OAEG;IACH,2BAFW,OAAO,QAIjB;IAED;;OAEG;IACH,cAFW,MAAM,QAIhB;IAED;;OAEG;IACH,+CAFW;QAAC,MAAM,EAAE,OAAO,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,iBA4BvE;IAED;;OAEG;IACH,8HAFW,OAAO,gBAAgB,EAAE,0BAA0B,QAkL7D;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocketparser.d.ts","sourceRoot":"","sources":["../../../../lib/http2/node/websocketparser.js"],"names":[],"mappings":"AAmCA;;;GAGG;AACH,qCAHU;IAAC,MAAM,SAAS;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,SAAQ;CAAC,MAC9C;IAAC,MAAM,SAAS;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,sBAmB3C;AA+GD;IACE,2BAAwB;IACxB,uBAAoB;IACpB,yBAAsB;IACtB,wBAAqB;IACrB,uBAAoB;IACpB,uBAAoB;IAwBlB,aAAe;IACf,+BAA+B;IAC/B,WADW,MAAM,GAAC,SAAS,CACD;IAC1B,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAEtB,gCAAmC;IACnC,iCAAoC;IAGtC;;OAEG;IACH,gBAFW,MAAM,
|
|
1
|
+
{"version":3,"file":"websocketparser.d.ts","sourceRoot":"","sources":["../../../../lib/http2/node/websocketparser.js"],"names":[],"mappings":"AAmCA;;;GAGG;AACH,qCAHU;IAAC,MAAM,SAAS;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,SAAQ;CAAC,MAC9C;IAAC,MAAM,SAAS;IAAC,IAAI,EAAE,UAAU,CAAA;CAAC,sBAmB3C;AA+GD;IACE,2BAAwB;IACxB,uBAAoB;IACpB,yBAAsB;IACtB,wBAAqB;IACrB,uBAAoB;IACpB,uBAAoB;IAwBlB,aAAe;IACf,+BAA+B;IAC/B,WADW,MAAM,GAAC,SAAS,CACD;IAC1B,+BAA+B;IAC/B,OADW,SAAO,SAAS,CACL;IAEtB,gCAAmC;IACnC,iCAAoC;IAGtC;;OAEG;IACH,gBAFW,MAAM,QAufhB;IApbW;;;kBAGC;IAKD,+BAAwB;IAsItB,qCAAmB;IAyEf;;OAEG;IACH,qCAAoB;IA2CpB,8BAAyB;IA2G7B,kBAA2D;IAGzD,8BAAyB;IACzB,0BAA8C;IA0E9D;;OAEG;IACH,qDAGC;IADC,+BAAqB;IAGvB;;OAEG;IACH,kBAFW,UAAU,QAIpB;IAED;;OAEG;IACH,kDAFU;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,WAyD3G;IAED;;;OAGG;IACH,gBAHW;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,6BAClD;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE;;;kBA4B5D;IAED;;OAEG;IACH,kCAFW;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,GAAC,SAAS,CAAC;KAAE,WAkC5D;CAeF;0BAl2BY,OAAO,YAAY,EAAE,WAAW"}
|
|
@@ -35,6 +35,7 @@ export class ParserBase {
|
|
|
35
35
|
streamReceiveWindowSizeLimit: number;
|
|
36
36
|
/** @type {Map<bigint,Http2WebTransportStream>} */
|
|
37
37
|
wtstreams: Map<bigint, Http2WebTransportStream>;
|
|
38
|
+
scheduler: PriorityScheduler;
|
|
38
39
|
/**
|
|
39
40
|
* @abstract
|
|
40
41
|
* @param {Buffer|Uint8Array} data
|
|
@@ -59,8 +60,14 @@ export class ParserBase {
|
|
|
59
60
|
}): void;
|
|
60
61
|
/**
|
|
61
62
|
* @param {bigint} streamid
|
|
63
|
+
* @param {{sendOrder: bigint,sendGroupId: bigint}} priority
|
|
62
64
|
*/
|
|
63
|
-
newStream(streamid: bigint
|
|
65
|
+
newStream(streamid: bigint, priority: {
|
|
66
|
+
sendOrder: bigint;
|
|
67
|
+
sendGroupId: bigint;
|
|
68
|
+
}): Http2WebTransportStream | undefined;
|
|
69
|
+
scheduleDrainWrites(): void;
|
|
70
|
+
_scheduledDrainWriteCall: Promise<void> | undefined;
|
|
64
71
|
drainWrites(): void;
|
|
65
72
|
/**
|
|
66
73
|
* @param {bigint|undefined} val
|
|
@@ -104,10 +111,35 @@ export class ParserBase {
|
|
|
104
111
|
reason: string;
|
|
105
112
|
}): void;
|
|
106
113
|
onDrain(): void;
|
|
114
|
+
/**
|
|
115
|
+
*
|
|
116
|
+
* @param {bigint} streamid
|
|
117
|
+
*/
|
|
118
|
+
shouldYieldStream(streamid: bigint): boolean;
|
|
119
|
+
/**
|
|
120
|
+
*
|
|
121
|
+
* @param {bigint} streamid
|
|
122
|
+
*/
|
|
123
|
+
scheduleDrainWriteStream(streamid: bigint): void;
|
|
124
|
+
/**
|
|
125
|
+
*
|
|
126
|
+
* @param {bigint} streamid
|
|
127
|
+
*/
|
|
128
|
+
removeStream(streamid: bigint): void;
|
|
129
|
+
/**
|
|
130
|
+
*
|
|
131
|
+
* @param {bigint} streamid
|
|
132
|
+
* @param {{sendOrder: bigint, sendGroupId: bigint}} arg2
|
|
133
|
+
*/
|
|
134
|
+
streamUpdateSendOrderAndGroup(streamid: bigint, { sendOrder, sendGroupId }: {
|
|
135
|
+
sendOrder: bigint;
|
|
136
|
+
sendGroupId: bigint;
|
|
137
|
+
}): void;
|
|
107
138
|
/**
|
|
108
139
|
* @param {number} code
|
|
109
140
|
*/
|
|
110
141
|
closeHttp2Stream(code: number): void;
|
|
111
142
|
}
|
|
112
143
|
import { Http2WebTransportStream } from "./stream.js";
|
|
144
|
+
import { PriorityScheduler } from "./priorityscheduler.js";
|
|
113
145
|
//# sourceMappingURL=parserbase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parserbase.d.ts","sourceRoot":"","sources":["../../../lib/http2/parserbase.js"],"names":[],"mappings":"
|
|
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,0CAA0C;IAC1C,0CAA0C;IAC1C,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;;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"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
export class PriorityScheduler {
|
|
2
|
+
activeGroups_: BTreeScheduler;
|
|
3
|
+
/**
|
|
4
|
+
* @type {Object<string, BTreeScheduler>}
|
|
5
|
+
*/
|
|
6
|
+
perGroupSchedulers_: {
|
|
7
|
+
[x: string]: BTreeScheduler;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* @type {Object<string, {sendGroupId: SendGroupId, perGroupScheduler: BTreeScheduler }>}
|
|
11
|
+
*/
|
|
12
|
+
streamToGroupMap_: {
|
|
13
|
+
[x: string]: {
|
|
14
|
+
sendGroupId: SendGroupId;
|
|
15
|
+
perGroupScheduler: BTreeScheduler;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
HasRegistered(): boolean;
|
|
19
|
+
HasScheduled(): boolean;
|
|
20
|
+
NumScheduled(): number;
|
|
21
|
+
/**
|
|
22
|
+
* @param {StreamId} streamId
|
|
23
|
+
* @param {Priority} priority
|
|
24
|
+
*/
|
|
25
|
+
Register(streamId: StreamId, priority: Priority): void;
|
|
26
|
+
/**
|
|
27
|
+
* @param {StreamId} streamId
|
|
28
|
+
*/
|
|
29
|
+
Unregister(streamId: StreamId): void;
|
|
30
|
+
/**
|
|
31
|
+
* @param {StreamId} streamId
|
|
32
|
+
* @param {bigint} newSendOrder
|
|
33
|
+
*/
|
|
34
|
+
UpdateSendOrder(streamId: StreamId, newSendOrder: bigint): Error | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* @param {StreamId} streamId
|
|
37
|
+
* @param {SendGroupId} newSendGroup
|
|
38
|
+
*/
|
|
39
|
+
UpdateSendGroup(streamId: StreamId, newSendGroup: SendGroupId): void;
|
|
40
|
+
/**
|
|
41
|
+
* @param {StreamId} streamId
|
|
42
|
+
*/
|
|
43
|
+
ShouldYield(streamId: StreamId): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* @param {StreamId} streamId
|
|
46
|
+
*/
|
|
47
|
+
GetPriorityFor(streamId: StreamId): {
|
|
48
|
+
sendGroupId: bigint;
|
|
49
|
+
sendOrder: bigint;
|
|
50
|
+
} | null;
|
|
51
|
+
PopFront(): bigint | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* @param {StreamId} streamId
|
|
54
|
+
*/
|
|
55
|
+
Schedule(streamId: StreamId): Error | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* @param {StreamId} streamId
|
|
58
|
+
*/
|
|
59
|
+
IsScheduled(streamId: StreamId): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* @param {StreamId} streamId
|
|
62
|
+
*/
|
|
63
|
+
SchedulerForStream(streamId: StreamId): BTreeScheduler | undefined;
|
|
64
|
+
}
|
|
65
|
+
export type Priority = {
|
|
66
|
+
sendGroupId: SendGroupId;
|
|
67
|
+
sendOrder: bigint;
|
|
68
|
+
};
|
|
69
|
+
export type SendGroupId = bigint;
|
|
70
|
+
export type SendOrder = bigint;
|
|
71
|
+
export type StreamId = bigint;
|
|
72
|
+
export type FullStreamEntry = {
|
|
73
|
+
iD: SendGroupId;
|
|
74
|
+
streamEntry: StreamEntry;
|
|
75
|
+
};
|
|
76
|
+
export type ScheduleKey = {
|
|
77
|
+
priority: SendOrder;
|
|
78
|
+
sequenceNumber: number;
|
|
79
|
+
};
|
|
80
|
+
declare class BTreeScheduler {
|
|
81
|
+
/**
|
|
82
|
+
* @param {{scheduleKey: ScheduleKey, fullStreamEntry: FullStreamEntry}} entry
|
|
83
|
+
*/
|
|
84
|
+
static StreamId(entry: {
|
|
85
|
+
scheduleKey: ScheduleKey;
|
|
86
|
+
fullStreamEntry: FullStreamEntry;
|
|
87
|
+
}): bigint;
|
|
88
|
+
/**
|
|
89
|
+
* @type {Object<string, StreamEntry>}
|
|
90
|
+
*/
|
|
91
|
+
streams_: {
|
|
92
|
+
[x: string]: StreamEntry;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* @type {{scheduleKey: ScheduleKey, fullStreamEntry: FullStreamEntry}[]}
|
|
96
|
+
*/
|
|
97
|
+
schedule_: {
|
|
98
|
+
scheduleKey: ScheduleKey;
|
|
99
|
+
fullStreamEntry: FullStreamEntry;
|
|
100
|
+
}[];
|
|
101
|
+
currentWriteSequenceNumber_: number;
|
|
102
|
+
HasRegistered(): boolean;
|
|
103
|
+
HasScheduled(): boolean;
|
|
104
|
+
NumScheduled(): number;
|
|
105
|
+
NumRegistered(): number;
|
|
106
|
+
/**
|
|
107
|
+
* @param {number} min
|
|
108
|
+
* @param {number} max
|
|
109
|
+
*/
|
|
110
|
+
NumScheduledInPriorityRange(min: number, max: number): number;
|
|
111
|
+
/**
|
|
112
|
+
* @param {StreamId} streamId
|
|
113
|
+
*/
|
|
114
|
+
ShouldYield(streamId: StreamId): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* @param {StreamId} id
|
|
117
|
+
*/
|
|
118
|
+
GetPriorityFor(id: StreamId): bigint | undefined;
|
|
119
|
+
PopFront(): bigint | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* @param {StreamId} streamId
|
|
122
|
+
* @param {Priority} priority
|
|
123
|
+
*/
|
|
124
|
+
Register(streamId: StreamId, priority: Priority): void;
|
|
125
|
+
/**
|
|
126
|
+
* @param {StreamId} streamId
|
|
127
|
+
*/
|
|
128
|
+
Unregister(streamId: StreamId): void;
|
|
129
|
+
/**
|
|
130
|
+
* @param {StreamId} streamId
|
|
131
|
+
* @param {SendOrder} newPriority
|
|
132
|
+
*/
|
|
133
|
+
UpdatePriority(streamId: StreamId, newPriority: SendOrder): Error | undefined;
|
|
134
|
+
/**
|
|
135
|
+
* @param {StreamId} streamId
|
|
136
|
+
*/
|
|
137
|
+
Schedule(streamId: StreamId): Error | undefined;
|
|
138
|
+
/**
|
|
139
|
+
* @param {StreamId} streamId
|
|
140
|
+
*/
|
|
141
|
+
Deschedule(streamId: StreamId): void;
|
|
142
|
+
/**
|
|
143
|
+
* @param {StreamId} streamId
|
|
144
|
+
*/
|
|
145
|
+
IsScheduled(streamId: StreamId): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* @param {StreamEntry} entry
|
|
148
|
+
*/
|
|
149
|
+
DescheduleStream(entry: StreamEntry): {
|
|
150
|
+
scheduleKey: ScheduleKey;
|
|
151
|
+
fullStreamEntry: FullStreamEntry;
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
declare class StreamEntry {
|
|
155
|
+
/**
|
|
156
|
+
* @param {SendOrder} priority
|
|
157
|
+
*/
|
|
158
|
+
constructor(priority: SendOrder);
|
|
159
|
+
priority: bigint;
|
|
160
|
+
/**
|
|
161
|
+
* @type {number|undefined}
|
|
162
|
+
*/
|
|
163
|
+
currentSequenceNumber: number | undefined;
|
|
164
|
+
scheduled(): boolean;
|
|
165
|
+
}
|
|
166
|
+
export {};
|
|
167
|
+
//# sourceMappingURL=priorityscheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priorityscheduler.d.ts","sourceRoot":"","sources":["../../../lib/http2/priorityscheduler.js"],"names":[],"mappings":"AAyaA;IAMI,8BAAyC;IAEzC;;OAEG;IACH;YAFiB,MAAM,GAAE,cAAc;MAEV;IAE7B;;OAEG;IACH;YAFiB,MAAM,GAAE;YAAC,WAAW,EAAE,WAAW,CAAC;YAAC,iBAAiB,EAAE,cAAc,CAAA;SAAE;MAE5D;IAI7B,yBAEC;IAED,wBAEC;IAGD,uBAMC;IAID;;;OAGG;IACH,mBAHW,QAAQ,YACR,QAAQ,QAkBlB;IAED;;OAEG;IACH,qBAFW,QAAQ,QAiBlB;IAED;;;OAGG;IACH,0BAHW,QAAQ,gBACR,MAAM,qBAQhB;IAED;;;OAGG;IACH,0BAHW,QAAQ,gBACR,WAAW,QAoBrB;IAID;;OAEG;IACH,sBAFW,QAAQ,WAelB;IAGD;;OAEG;IACH,yBAFW,QAAQ;;;aAalB;IAGD,+BAoBC;IAGD;;OAEG;IACH,mBAFW,QAAQ,qBAUlB;IAED;;OAEG;IACH,sBAFW,QAAQ,WAQlB;IAkBD;;OAEG;IACH,6BAFW,QAAQ,8BAQlB;CACF;;iBApoBa,WAAW;eACX,MAAM;;0BAIP,MAAM;wBAIN,MAAM;uBAYN,MAAM;;QA+BL,WAAW;iBACX,WAAW;;;cAKX,SAAS;oBACT,MAAM;;AA4FpB;IAwOE;;OAEG;IACH,uBAFW;QAAC,WAAW,EAAE,WAAW,CAAC;QAAC,eAAe,EAAE,eAAe,CAAA;KAAC,UAItE;IA1OC;;OAEG;IACH;YAFiB,MAAM,GAAE,WAAW;MAElB;IAElB;;OAEG;IACH;qBAFwB,WAAW;yBAAmB,eAAe;QAElD;IAInB,oCAAoC;IAItC,yBAEC;IAED,wBAEC;IAED,uBAEC;IAED,wBAEC;IAKD;;;OAGG;IACH,iCAHW,MAAM,OACN,MAAM,UAiBhB;IAID;;OAEG;IACH,sBAFW,QAAQ,WAgBlB;IAGD;;OAEG;IACH,mBAFW,QAAQ,sBAQlB;IAGD,+BAWC;IAID;;;OAGG;IACH,mBAHW,QAAQ,YACR,QAAQ,QAOlB;IAED;;OAEG;IACH,qBAFW,QAAQ,QAelB;IAED;;;OAGG;IACH,yBAHW,QAAQ,eACR,SAAS,qBA0BnB;IAID;;OAEG;IACH,mBAFW,QAAQ,qBAwBlB;IAGD;;OAEG;IACH,qBAFW,QAAQ,QAalB;IAGD;;OAEG;IACH,sBAFW,QAAQ,WAQlB;IAkBD;;OAEG;IACH,wBAFW,WAAW;qBAzOI,WAAW;yBAAmB,eAAe;MA6PtE;CACF;AA7XD;IACE;;OAEG;IACH,sBAFW,SAAS,EAQnB;IALC,iBAAwB;IACxB;;OAEG;IACH,uBAFU,MAAM,GAAC,SAAS,CAEY;IAGxC,qBAEC;CACF"}
|
|
@@ -34,33 +34,41 @@ export class Http2WebTransportSession {
|
|
|
34
34
|
flowController: FlowController;
|
|
35
35
|
streamIdMngrUni: StreamIdManager;
|
|
36
36
|
streamIdMngrBi: StreamIdManager;
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
/** @type {Array<Uint8Array>} */
|
|
38
|
+
datagramsWaiting_: Array<Uint8Array>;
|
|
39
|
+
/** @type {Array<{sendOrder: bigint, sendGroupId: bigint}>} */
|
|
40
|
+
orderUniStreams: {
|
|
41
|
+
sendOrder: bigint;
|
|
42
|
+
sendGroupId: bigint;
|
|
43
|
+
}[];
|
|
44
|
+
/** @type {Array<{sendOrder: bigint, sendGroupId: bigint}>} */
|
|
45
|
+
orderBiStreams: {
|
|
46
|
+
sendOrder: bigint;
|
|
47
|
+
sendGroupId: bigint;
|
|
48
|
+
}[];
|
|
39
49
|
sendInitialParameters(): void;
|
|
50
|
+
drainWrites(): void;
|
|
40
51
|
/**
|
|
41
52
|
* @param {Uint8Array} chunk
|
|
53
|
+
* @return {{ code: "success" | "blocked" | "internalError" | "tooBig", message?: string | undefined; }}
|
|
42
54
|
*/
|
|
43
|
-
writeDatagram(chunk: Uint8Array):
|
|
55
|
+
writeDatagram(chunk: Uint8Array): {
|
|
56
|
+
code: "success" | "blocked" | "internalError" | "tooBig";
|
|
57
|
+
message?: string | undefined;
|
|
58
|
+
};
|
|
44
59
|
trySendingUnidirectionalStreams(): void;
|
|
45
60
|
/**
|
|
46
|
-
* @param {
|
|
61
|
+
* @param {WebTransportSendStreamOptions} opts
|
|
47
62
|
*/
|
|
48
|
-
orderUnidiStream({ sendGroup, sendOrder, waitUntilAvailable }:
|
|
49
|
-
sendGroup: WebTransportSendGroup | null;
|
|
50
|
-
sendOrder: number;
|
|
51
|
-
waitUntilAvailable: boolean;
|
|
52
|
-
}): boolean;
|
|
63
|
+
orderUnidiStream({ sendGroup, sendOrder, waitUntilAvailable }: WebTransportSendStreamOptions): boolean;
|
|
53
64
|
trySendingBidirectionalStreams(): void;
|
|
54
65
|
/**
|
|
55
|
-
* @param {
|
|
66
|
+
* @param {WebTransportSendStreamOptions} opts
|
|
56
67
|
*/
|
|
57
|
-
orderBidiStream({ sendGroup, sendOrder, waitUntilAvailable }:
|
|
58
|
-
sendGroup: WebTransportSendGroup | null;
|
|
59
|
-
sendOrder: number;
|
|
60
|
-
waitUntilAvailable: boolean;
|
|
61
|
-
}): boolean;
|
|
68
|
+
orderBidiStream({ sendGroup, sendOrder, waitUntilAvailable }: WebTransportSendStreamOptions): boolean;
|
|
62
69
|
orderSessionStats(): void;
|
|
63
70
|
orderDatagramStats(): void;
|
|
71
|
+
getMaxDatagramSize(): number;
|
|
64
72
|
notifySessionDraining(): void;
|
|
65
73
|
/**
|
|
66
74
|
* @param {{ code: number, reason: string }} arg
|
|
@@ -89,7 +97,7 @@ export class Http2WebTransportSession {
|
|
|
89
97
|
code: number;
|
|
90
98
|
reason: string;
|
|
91
99
|
}): void;
|
|
92
|
-
smoothedRtt():
|
|
100
|
+
smoothedRtt(): number;
|
|
93
101
|
/**
|
|
94
102
|
* @returns {boolean}
|
|
95
103
|
*/
|
|
@@ -102,6 +110,7 @@ export class Http2WebTransportSession {
|
|
|
102
110
|
}
|
|
103
111
|
export type Http2Stream = import('http2').Http2Stream;
|
|
104
112
|
export type WebTransportSendGroup = import('../dom.js').WebTransportSendGroup;
|
|
113
|
+
export type WebTransportSendStreamOptions = import('../dom.js').WebTransportSendStreamOptions;
|
|
105
114
|
import { ParserBase } from "./parserbase.js";
|
|
106
115
|
import { FlowController } from "./flowcontroller.js";
|
|
107
116
|
import { StreamIdManager } from "./streamidmanager.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../lib/http2/session.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../lib/http2/session.js"],"names":[],"mappings":";AAkBA;IACE;;;;;;;;;;;SAWK;IACL,4RAXW;QAAC,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,EAAE,CAAC,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAC,OAAO,CAAC;QAClE,YAAc,EAAC,OAAO,aAAa,EAAE,oBAAoB,CAAA;QACzD,gBAAkB,SAAS;QAC3B,mBAAqB,SAAS;QAC9B,2BAA6B,EAAE,OAAO,CAAA;QACtC,sBAAwB,SAAS;QACjC,+BAAiC,SAAS;QAC1C,kCAAoC,SAAS;QAC7C,gCAAkC,SAAS;QAC3C,mCAAqC,SAAQ;KAAC,EA+E9C;IA9DC,WAAsB;IAEpB,gDAAoB;IAEpB,0BAAY;IAEd,uBAAoC;IACpC,kBAAwB;IACxB,+BAME;IACF,iCAME;IACF,gCAME;IACF,gCAAgC;IAChC,mBADW,MAAM,UAAU,CAAC,CACD;IAC3B,8DAA8D;IAC9D;mBAD6B,MAAM;qBAAe,MAAM;QAC/B;IACzB,8DAA8D;IAC9D;mBAD6B,MAAM;qBAAe,MAAM;QAChC;IA8B1B,8BAIC;IAED,oBAYC;IAED;;;OAGG;IACH,qBAHW,UAAU,GACT;QAAE,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,QAAQ,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAAE,CAetG;IAED,wCAiBC;IAED;;OAEG;IACH,+DAFW,6BAA6B,WAgBvC;IAED,uCAiBC;IAED;;OAEG;IACH,8DAFW,6BAA6B,WAgBvC;IAED,0BAWC;IAED,2BAMC;IAED,6BAEC;IAKD,8BAA0B;IAC1B;;OAEG;IACH,wBAFW;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,QAK1C;IAED;;OAEG;IACH,+BAFW,MAAM,QAQhB;IAED;;OAEG;IACH,mBAFW,MAAM,QAIhB;IAED;;OAEG;IACH,0BAFW,MAAM,QAQhB;IAED,qBAEC;IAED;;OAEG;IACH,kCAFW;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,QAS1C;IAED,sBAcC;IAED;;OAEG;IACH,qBAFa,OAAO,CAInB;IAED;;;OAGG;IACH,2BAHW,MAAM,kBACN,OAAO,QAUjB;CACF;0BAtVY,OAAO,OAAO,EAAE,WAAW;oCAC3B,OAAO,WAAW,EAAE,qBAAqB;4CACzC,OAAO,WAAW,EAAE,6BAA6B"}
|
|
@@ -38,6 +38,7 @@ export class Http2WebTransportStream {
|
|
|
38
38
|
sessionFlowController: FlowController;
|
|
39
39
|
streamIdManager: import("./streamidmanager.js").StreamIdManager;
|
|
40
40
|
final: boolean;
|
|
41
|
+
finalmessagesend: boolean;
|
|
41
42
|
stopReading_: boolean;
|
|
42
43
|
drainReads_: boolean;
|
|
43
44
|
recvBytes: number;
|
|
@@ -77,8 +78,17 @@ export class Http2WebTransportStream {
|
|
|
77
78
|
* @param {Uint8Array} buf
|
|
78
79
|
*/
|
|
79
80
|
writeChunk(buf: Uint8Array): void;
|
|
81
|
+
hasPendingData(): boolean;
|
|
80
82
|
drainWrites(): void;
|
|
81
83
|
streamFinal(): void;
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @param {{sendOrder: bigint, sendGroupId: bigint}} args
|
|
87
|
+
*/
|
|
88
|
+
updateSendOrderAndGroup({ sendOrder, sendGroupId }: {
|
|
89
|
+
sendOrder: bigint;
|
|
90
|
+
sendGroupId: bigint;
|
|
91
|
+
}): void;
|
|
82
92
|
/**
|
|
83
93
|
* @param {bigint} windowOffset
|
|
84
94
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../lib/http2/stream.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../lib/http2/stream.js"],"names":[],"mappings":"AAwBA;IACE;;;;;;;;;;;SAWK;IACL,uMAXW;QAAC,QAAQ,EAAE,MAAM,CAAC;QAC5B,cAAgB,EAAE,OAAO,CAAC;QAC1B,QAAU,EAAE,OAAO,CAAC;QACpB,aAAe,EAAE,UAAU,CAAA;QAC3B,gBAAkB,SAAS;QAC3B,mBAAqB,SAAS;QAC9B,2BAA6B,EAAE,OAAO,CAAA;QACtC,sBAAwB,SAAS;QACjC,qBAAuB,EAAE,cAAc,CAAC;QACxC,eAAiB,EAAE,eAAe,CAAA;KAAC,EAmDnC;IArCC,+CAA+C;IAE/C,OAFW,OAAO,WAAW,EAAE,YAAY,CAErB;IACtB,iBAAwB;IACxB,iCAAiC;IACjC,WADW,MAAM,WAAW,CAAC,CACV;IAEnB,0BAAkC;IAClC,mDAAmD;IACnD;;aADsC,OAAO;QACxB;IAErB,+BAOE;IACF,sCAAkD;IAClD,gEAAsC;IAEtC,eAAkB;IAClB,0BAA6B;IAC7B,sBAAwB;IACxB,qBAAuB;IACvB,kBAAkB;IAElB,yBAA4B;IAC5B,yBAA4B;IAU9B,8BAEC;IAED;;;;OAIG;IACH;QAHqC,IAAI,EAA9B,UAAU,GAAC,SAAS;QACP,GAAG;aA+B1B;IAED,oBAwEC;IAED,qBAGC;IAED,mBAIC;IAED,oBAEC;IAED;;OAEG;IACH,qBAFW,aAAa,GAAC,aAAa,QAWrC;IAED,sBAGC;IAED,sBAGC;IAED,gBAGC;IAED;;OAEG;IACH,gCAYC;IAED,cAEC;IAED;;OAEG;IACH,gCAYC;IAED;;OAEG;IACH,gBAFW,UAAU,QAMpB;IAED,0BAEC;IAED,oBA6FC;IAED,oBAKC;IAED;;;OAGG;IACH,oDAFW;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,QAOlD;IAED;;OAEG;IACH,+BAFW,MAAM,QAShB;IAED;;OAEG;IACH,0BAFW,MAAM,QAQhB;IAED;;OAEG;IACH,mBAFW,MAAM,QAIhB;IAED,qBAEC;IAED;;OAEG;IACH,kCAFW;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,QAM1C;IAED,mBAIC;CACF;;;;6CAjcY,OAAO,UAAU,EAAE,8BAA8B;;;;oCACjD,OAAO,UAAU,EAAE,qBAAqB;;;;8BACxC,OAAO,UAAU,EAAE,eAAe;;;;+BAClC,OAAO,UAAU,EAAE,gBAAgB;;;;uCACnC,OAAO,UAAU,EAAE,wBAAwB;;;;0BAE3C,OAAO,UAAU,EAAE,WAAW;;;;8BAC9B,OAAO,sBAAsB,EAAE,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocketcommon.d.ts","sourceRoot":"","sources":["../../../lib/http2/websocketcommon.js"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"websocketcommon.d.ts","sourceRoot":"","sources":["../../../lib/http2/websocketcommon.js"],"names":[],"mappings":"AAAA,yCAAuD"}
|
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,EA+BxB;IA5BC,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;IAGhB,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,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../lib/server.js"],"names":[],"mappings":";AAuHA;;GAEG;AACH;IACE;;;OAGG;IACH,kBAFW,cAAc,EA+BxB;IA5BC,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;IAGhB,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,QAsBnC;IAED;;OAEG;IACH,6BAFW,+BAA+B,QAazC;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;kCAxVY,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"}
|