@fails-components/webtransport 1.1.3 → 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.
Files changed (75) hide show
  1. package/dist/lib/dom.d.ts +27 -10
  2. package/dist/lib/dom.d.ts.map +1 -1
  3. package/dist/lib/http2/browser/browser.d.ts +5 -2
  4. package/dist/lib/http2/browser/browser.d.ts.map +1 -1
  5. package/dist/lib/http2/browser/browserparser.d.ts.map +1 -1
  6. package/dist/lib/http2/node/capsuleparser.d.ts.map +1 -1
  7. package/dist/lib/http2/node/client.d.ts +3 -2
  8. package/dist/lib/http2/node/client.d.ts.map +1 -1
  9. package/dist/lib/http2/node/server.d.ts +10 -5
  10. package/dist/lib/http2/node/server.d.ts.map +1 -1
  11. package/dist/lib/http2/node/websocketparser.d.ts.map +1 -1
  12. package/dist/lib/http2/parserbase.d.ts +33 -1
  13. package/dist/lib/http2/parserbase.d.ts.map +1 -1
  14. package/dist/lib/http2/priorityscheduler.d.ts +167 -0
  15. package/dist/lib/http2/priorityscheduler.d.ts.map +1 -0
  16. package/dist/lib/http2/session.d.ts +25 -16
  17. package/dist/lib/http2/session.d.ts.map +1 -1
  18. package/dist/lib/http2/stream.d.ts +10 -0
  19. package/dist/lib/http2/stream.d.ts.map +1 -1
  20. package/dist/lib/http2/websocketcommon.d.ts.map +1 -1
  21. package/dist/lib/server.d.ts.map +1 -1
  22. package/dist/lib/session.d.ts +31 -17
  23. package/dist/lib/session.d.ts.map +1 -1
  24. package/dist/lib/stream.d.ts +13 -0
  25. package/dist/lib/stream.d.ts.map +1 -1
  26. package/dist/lib/types.d.ts +18 -15
  27. package/dist/lib/types.d.ts.map +1 -1
  28. package/dist/lib/webtransport.browser.d.ts +3 -2
  29. package/dist/lib/webtransport.browser.d.ts.map +1 -1
  30. package/dist/lib/webtransportbase.d.ts +1 -0
  31. package/dist/lib/webtransportbase.d.ts.map +1 -1
  32. package/eslint.config.js +20 -22
  33. package/lib/dom.ts +31 -13
  34. package/lib/http2/browser/browser.js +28 -13
  35. package/lib/http2/browser/browserparser.js +4 -1
  36. package/lib/http2/node/capsuleparser.js +4 -1
  37. package/lib/http2/node/client.js +38 -27
  38. package/lib/http2/node/server.js +56 -19
  39. package/lib/http2/node/websocketparser.js +5 -2
  40. package/lib/http2/parserbase.js +76 -7
  41. package/lib/http2/priorityscheduler.js +654 -0
  42. package/lib/http2/session.js +69 -20
  43. package/lib/http2/stream.js +60 -10
  44. package/lib/http2/websocketcommon.js +1 -1
  45. package/lib/server.js +0 -1
  46. package/lib/session.js +128 -64
  47. package/lib/stream.js +50 -8
  48. package/lib/types.ts +15 -8
  49. package/lib/webtransport.browser.js +77 -18
  50. package/lib/webtransportbase.js +7 -0
  51. package/old_test/echoserver.js +1 -1
  52. package/old_test/test.js +1 -1
  53. package/old_test/testsuite.js +6 -2
  54. package/package.json +7 -28
  55. package/readme.md +5 -3
  56. package/test/bidirectional-streams.spec.js +0 -150
  57. package/test/datagrams.spec.js +0 -104
  58. package/test/fixtures/certificate.js +0 -456
  59. package/test/fixtures/chai.js +0 -8
  60. package/test/fixtures/known-bytes.js +0 -44
  61. package/test/fixtures/p-timeout.js +0 -33
  62. package/test/fixtures/quiche.browser.js +0 -2
  63. package/test/fixtures/quiche.js +0 -1
  64. package/test/fixtures/read-cert-hash.js +0 -7
  65. package/test/fixtures/read-stream.js +0 -57
  66. package/test/fixtures/reader-value.js +0 -51
  67. package/test/fixtures/server.js +0 -467
  68. package/test/fixtures/webtransport.browser.js +0 -19
  69. package/test/fixtures/webtransport.js +0 -3
  70. package/test/fixtures/write-stream.js +0 -24
  71. package/test/index.js +0 -124
  72. package/test/pw-no-https-errors.json +0 -5
  73. package/test/session.spec.js +0 -199
  74. package/test/stream-limits.spec.js +0 -259
  75. package/test/unidirectional-streams.spec.js +0 -133
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
- writable: WritableStream<Uint8Array>;
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 WebTransportSendGroup {
70
- getStats: () => Promise<WebTransportSendStreamStats>;
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?: number;
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';
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../lib/dom.ts"],"names":[],"mappings":"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"}
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: boolean;
13
+ streamShouldAutoTuneReceiveWindow: true;
13
14
  streamFlowControlWindowSizeLimit: number;
14
- sessionShouldAutoTuneReceiveWindow: boolean;
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,EA8BtD;IA3BC,aAA6B;IAC7B,iBAAyC;IACzC,uCACmD;IACnD,wCACoD;IAEpD,oCAC8C;IAC9C,qCAC+C;IAE/C,2CACiD;IACjD,yCAC2D;IAE3D,4CACkD;IAClD,0CAC6D;IAC7D,oDAAoD;IAEpD,OAFW,OAAO,kBAAkB,EAAE,UAAU,CAE1B;IACtB,wBAAwB;IAExB,WAFW,SAAS,CAEM;IAG5B;;OAEG;IACH,0BAFW;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,QAkExB;IAED;;OAEG;IAEH,oBAHW,MAAM,QAiHhB;IAED,oBAGC;CACF"}
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,QAkIpB;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
+ {"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,QAkQhB;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"}
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: boolean;
18
+ streamShouldAutoTuneReceiveWindow: true;
18
19
  streamFlowControlWindowSizeLimit: number;
19
- sessionShouldAutoTuneReceiveWindow: boolean;
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,EAiCtD;IA5BC,aAAwB;IACxB,iBAAyC;IACzC,mEAAyE;IACzE,8BAAqD;IACrD,sBAA+C;IAC/C,mBAAyC;IACzC,uCACmD;IACnD,wCACoD;IAEpD,oCAC8C;IAC9C,qCAC+C;IAE/C,2CACiD;IACjD,yCAC2D;IAE3D,4CACkD;IAClD,0CAC6D;IAC7D,oDAAoD;IAEpD,OAFW,OAAO,kBAAkB,EAAE,UAAU,CAE1B;IAGxB,wBA6JC;IA/FC,0DAGC;IA8FH;;OAEG;IACH,oBAFW,MAAM,QA4DhB;IAED,oBAEC;CACF"}
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: boolean;
15
+ streamShouldAutoTuneReceiveWindow: true;
15
16
  streamFlowControlWindowSizeLimit: number;
16
- sessionShouldAutoTuneReceiveWindow: boolean;
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): any;
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":";AASA;IACE;;OAEG;IACH,kBAFW,OAAO,gBAAgB,EAAE,mBAAmB,EAmVtD;IA9UC,aAAwB;IACxB,eAA0B;IAE1B,aAAqC;IAMrC,uCACmD;IACnD,wCACoD;IAEpD,oCAA2E;IAC3E,qCAC2C;IAE3C,2CACiD;IACjD,yCAC2D;IAE3D,4CACkD;IAClD,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,6CAgBE;IA8F6B,4BAYb;IAgLpB;;OAEG;IACH,4BAFW,OAAO,OAAO,EAAE,mBAAmB,OAgB7C;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,4GAFW,OAAO,gBAAgB,EAAE,0BAA0B,QAwK7D;CACF"}
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,QAofhB;IAjbW;;;kBAGC;IAKD,+BAAwB;IAsItB,qCAAmB;IAyEf;;OAEG;IACH,qCAAoB;IA2CpB,8BAAyB;IAwG7B,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;0BA/1BY,OAAO,YAAY,EAAE,WAAW"}
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): Http2WebTransportStream | undefined;
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":"AAMA;;;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,EAwBvC;IAbC,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;IAG5B;;;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;;OAEG;IACH,oBAFW,MAAM,uCA4ChB;IAED,oBAIC;IAED;;OAEG;IACH,eAFW,MAAM,GAAC,SAAS,QAK1B;IAED;;;OAGG;IACH,0BAHW,MAAM,UACN,MAAM,QAQhB;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;;OAEG;IAEH,uBAHW,MAAM,QAKhB;CACF"}
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
- orderUniStreams: number;
38
- orderBiStreams: number;
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): void;
55
+ writeDatagram(chunk: Uint8Array): {
56
+ code: "success" | "blocked" | "internalError" | "tooBig";
57
+ message?: string | undefined;
58
+ };
44
59
  trySendingUnidirectionalStreams(): void;
45
60
  /**
46
- * @param {{sendGroup: WebTransportSendGroup|null, sendOrder: number, waitUntilAvailable: boolean}} opts
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 {{sendGroup: WebTransportSendGroup|null, sendOrder: number, waitUntilAvailable: boolean}} opts
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(): any;
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":";AAiBA;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,EAqE9C;IApDC,WAAsB;IAEpB,gDAAoB;IAEpB,0BAAY;IAEd,uBAAoC;IACpC,kBAAwB;IACxB,+BAME;IACF,iCAME;IACF,gCAME;IACF,wBAAwB;IACxB,uBAAuB;IAwBzB,8BAIC;IAED;;OAEG;IACH,qBAFW,UAAU,QAWpB;IAED,wCAcC;IAED;;OAEG;IAEH,+DAHW;QAAC,SAAS,EAAG,qBAAqB,GAAC,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,OAAO,CAAA;KAAC,WAalG;IAED,uCAcC;IAED;;OAEG;IAEH,8DAHW;QAAC,SAAS,EAAG,qBAAqB,GAAC,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,OAAO,CAAA;KAAC,WAalG;IAED,0BAWC;IAED,2BAMC;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,mBAWC;IAED;;OAEG;IACH,qBAFa,OAAO,CAInB;IAED;;;OAGG;IACH,2BAHW,MAAM,kBACN,OAAO,QAUjB;CACF;0BArSY,OAAO,OAAO,EAAE,WAAW;oCAC3B,OAAO,WAAW,EAAE,qBAAqB"}
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":"AAuBA;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,EAkDnC;IApCC,+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,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,QAKpB;IAED,oBAyDC;IAED,oBASC;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;;;;6CAhZY,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
+ {"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,yCAA4C"}
1
+ {"version":3,"file":"websocketcommon.d.ts","sourceRoot":"","sources":["../../../lib/http2/websocketcommon.js"],"names":[],"mappings":"AAAA,yCAAuD"}
@@ -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,QAQb;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;kCAzVY,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"}
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"}