@fails-components/webtransport 1.4.8 → 1.5.1
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 +15 -20
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/http2/node/server.d.ts.map +1 -1
- package/dist/lib/http2/parserbase.d.ts +4 -4
- package/dist/lib/http2/priorityscheduler.d.ts +7 -7
- package/dist/lib/http2/session.d.ts +4 -4
- package/dist/lib/http2/stream.d.ts +2 -2
- package/dist/lib/server.d.ts.map +1 -1
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/stream.d.ts +4 -4
- package/dist/lib/stream.d.ts.map +1 -1
- package/dist/lib/types.d.ts +7 -7
- package/lib/dom.ts +15 -21
- package/lib/http2/browser/browserparser.js +1 -1
- package/lib/http2/node/capsuleparser.js +1 -1
- package/lib/http2/node/server.js +2 -4
- package/lib/http2/node/websocketparser.js +1 -1
- package/lib/http2/parserbase.js +2 -2
- package/lib/http2/priorityscheduler.js +4 -4
- package/lib/http2/session.js +6 -6
- package/lib/http2/stream.js +1 -1
- package/lib/server.js +3 -0
- package/lib/session.js +24 -23
- package/lib/stream.js +23 -8
- package/lib/types.ts +7 -7
- package/package.json +1 -1
package/dist/lib/dom.d.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
export interface WebTransportDatagramStats {
|
|
2
2
|
timestamp: number;
|
|
3
|
-
expiredOutgoing:
|
|
4
|
-
droppedIncoming:
|
|
5
|
-
lostOutgoing:
|
|
3
|
+
expiredOutgoing: number;
|
|
4
|
+
droppedIncoming: number;
|
|
5
|
+
lostOutgoing: number;
|
|
6
6
|
}
|
|
7
7
|
export interface WebTransportStats {
|
|
8
8
|
timestamp: number;
|
|
9
|
-
bytesSent:
|
|
10
|
-
packetsSent:
|
|
11
|
-
packetsLost:
|
|
9
|
+
bytesSent: number;
|
|
10
|
+
packetsSent: number;
|
|
11
|
+
packetsLost: number;
|
|
12
12
|
numOutgoingStreamsCreated: number;
|
|
13
13
|
numIncomingStreamsCreated: number;
|
|
14
|
-
bytesReceived:
|
|
15
|
-
packetsReceived:
|
|
14
|
+
bytesReceived: number;
|
|
15
|
+
packetsReceived: number;
|
|
16
16
|
smoothedRtt: number;
|
|
17
17
|
rttVariation: number;
|
|
18
18
|
minRtt: number;
|
|
19
|
-
estimatedSendRate:
|
|
19
|
+
estimatedSendRate: number;
|
|
20
20
|
datagrams: WebTransportDatagramStats;
|
|
21
21
|
}
|
|
22
22
|
export interface WebTransportSendStreamStats {
|
|
23
|
-
bytesWritten:
|
|
24
|
-
bytesSent:
|
|
25
|
-
bytesAcknowledged:
|
|
23
|
+
bytesWritten: number;
|
|
24
|
+
bytesSent: number;
|
|
25
|
+
bytesAcknowledged: number;
|
|
26
26
|
}
|
|
27
27
|
export interface WebTransportSendGroup {
|
|
28
28
|
getStats: () => Promise<WebTransportSendStreamStats>;
|
|
@@ -33,7 +33,7 @@ export interface WebTransportCloseInfo {
|
|
|
33
33
|
}
|
|
34
34
|
export interface WebTransportDatagramsWritable extends WritableStream {
|
|
35
35
|
sendGroup?: WebTransportSendGroup;
|
|
36
|
-
sendOrder:
|
|
36
|
+
sendOrder: number;
|
|
37
37
|
}
|
|
38
38
|
export interface WebTransportSendOptions {
|
|
39
39
|
sendGroup?: WebTransportSendGroup;
|
|
@@ -46,7 +46,7 @@ export interface WebTransportDatagramDuplexStream {
|
|
|
46
46
|
}
|
|
47
47
|
export interface WebTransportSendStream extends WritableStream<Uint8Array> {
|
|
48
48
|
sendGroup?: WebTransportSendGroup;
|
|
49
|
-
sendOrder:
|
|
49
|
+
sendOrder: number;
|
|
50
50
|
getStats: () => Promise<WebTransportSendStreamStats>;
|
|
51
51
|
}
|
|
52
52
|
export interface WebTransportReceiveStreamStats {
|
|
@@ -82,14 +82,9 @@ export interface WebTransportOptions {
|
|
|
82
82
|
congestionControl?: WebTransportCongestionControl;
|
|
83
83
|
protocols?: string[];
|
|
84
84
|
}
|
|
85
|
-
export interface WebTransportSendStreamStats {
|
|
86
|
-
bytesWritten: bigint;
|
|
87
|
-
bytesSent: bigint;
|
|
88
|
-
bytesAcknowledged: bigint;
|
|
89
|
-
}
|
|
90
85
|
export interface WebTransportSendStreamOptions {
|
|
91
86
|
sendGroup: WebTransportSendGroup | null;
|
|
92
|
-
sendOrder?:
|
|
87
|
+
sendOrder?: number;
|
|
93
88
|
waitUntilAvailable?: boolean;
|
|
94
89
|
}
|
|
95
90
|
export interface WebTransportSession {
|
package/dist/lib/dom.d.ts.map
CHANGED
|
@@ -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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"}
|
|
@@ -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,
|
|
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,EAuYtD;IAlYC,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;IAmG6B,4BAYb;IA+NpB;;;OAGG;IACH,4BAHW,OAAO,OAAO,EAAE,mBAAmB,GAClC;QAAC,aAAa,EAAE,MAAM,GAAC,SAAS,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAC,CA+BvE;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,2IAFW,OAAO,gBAAgB,EAAE,0BAA0B,QAmL7D;CACF"}
|
|
@@ -65,10 +65,10 @@ export class ParserBase {
|
|
|
65
65
|
}): void;
|
|
66
66
|
/**
|
|
67
67
|
* @param {bigint} streamid
|
|
68
|
-
* @param {{sendOrder:
|
|
68
|
+
* @param {{sendOrder: number,sendGroupId: bigint}} priority
|
|
69
69
|
*/
|
|
70
70
|
newStream(streamid: bigint, priority: {
|
|
71
|
-
sendOrder:
|
|
71
|
+
sendOrder: number;
|
|
72
72
|
sendGroupId: bigint;
|
|
73
73
|
}): Http2WebTransportStream | undefined;
|
|
74
74
|
scheduleDrainWrites(): void;
|
|
@@ -134,10 +134,10 @@ export class ParserBase {
|
|
|
134
134
|
/**
|
|
135
135
|
*
|
|
136
136
|
* @param {bigint} streamid
|
|
137
|
-
* @param {{sendOrder:
|
|
137
|
+
* @param {{sendOrder: number, sendGroupId: bigint}} arg2
|
|
138
138
|
*/
|
|
139
139
|
streamUpdateSendOrderAndGroup(streamid: bigint, { sendOrder, sendGroupId }: {
|
|
140
|
-
sendOrder:
|
|
140
|
+
sendOrder: number;
|
|
141
141
|
sendGroupId: bigint;
|
|
142
142
|
}): void;
|
|
143
143
|
/**
|
|
@@ -29,9 +29,9 @@ export class PriorityScheduler {
|
|
|
29
29
|
Unregister(streamId: StreamId): void;
|
|
30
30
|
/**
|
|
31
31
|
* @param {StreamId} streamId
|
|
32
|
-
* @param {
|
|
32
|
+
* @param {number} newSendOrder
|
|
33
33
|
*/
|
|
34
|
-
UpdateSendOrder(streamId: StreamId, newSendOrder:
|
|
34
|
+
UpdateSendOrder(streamId: StreamId, newSendOrder: number): Error | undefined;
|
|
35
35
|
/**
|
|
36
36
|
* @param {StreamId} streamId
|
|
37
37
|
* @param {SendGroupId} newSendGroup
|
|
@@ -46,7 +46,7 @@ export class PriorityScheduler {
|
|
|
46
46
|
*/
|
|
47
47
|
GetPriorityFor(streamId: StreamId): {
|
|
48
48
|
sendGroupId: bigint;
|
|
49
|
-
sendOrder:
|
|
49
|
+
sendOrder: number;
|
|
50
50
|
} | null;
|
|
51
51
|
PopFront(): bigint | undefined;
|
|
52
52
|
/**
|
|
@@ -64,10 +64,10 @@ export class PriorityScheduler {
|
|
|
64
64
|
}
|
|
65
65
|
export type Priority = {
|
|
66
66
|
sendGroupId: SendGroupId;
|
|
67
|
-
sendOrder:
|
|
67
|
+
sendOrder: number;
|
|
68
68
|
};
|
|
69
69
|
export type SendGroupId = bigint;
|
|
70
|
-
export type SendOrder =
|
|
70
|
+
export type SendOrder = number;
|
|
71
71
|
export type StreamId = bigint;
|
|
72
72
|
export type FullStreamEntry = {
|
|
73
73
|
iD: SendGroupId;
|
|
@@ -115,7 +115,7 @@ declare class BTreeScheduler {
|
|
|
115
115
|
/**
|
|
116
116
|
* @param {StreamId} id
|
|
117
117
|
*/
|
|
118
|
-
GetPriorityFor(id: StreamId):
|
|
118
|
+
GetPriorityFor(id: StreamId): number | undefined;
|
|
119
119
|
PopFront(): bigint | undefined;
|
|
120
120
|
/**
|
|
121
121
|
* @param {StreamId} streamId
|
|
@@ -156,7 +156,7 @@ declare class StreamEntry {
|
|
|
156
156
|
* @param {SendOrder} priority
|
|
157
157
|
*/
|
|
158
158
|
constructor(priority: SendOrder);
|
|
159
|
-
priority:
|
|
159
|
+
priority: number;
|
|
160
160
|
/**
|
|
161
161
|
* @type {number|undefined}
|
|
162
162
|
*/
|
|
@@ -36,14 +36,14 @@ export class Http2WebTransportSession {
|
|
|
36
36
|
streamIdMngrBi: StreamIdManager;
|
|
37
37
|
/** @type {Array<Uint8Array>} */
|
|
38
38
|
datagramsWaiting_: Array<Uint8Array>;
|
|
39
|
-
/** @type {Array<{sendOrder:
|
|
39
|
+
/** @type {Array<{sendOrder: number, sendGroupId: bigint}>} */
|
|
40
40
|
orderUniStreams: {
|
|
41
|
-
sendOrder:
|
|
41
|
+
sendOrder: number;
|
|
42
42
|
sendGroupId: bigint;
|
|
43
43
|
}[];
|
|
44
|
-
/** @type {Array<{sendOrder:
|
|
44
|
+
/** @type {Array<{sendOrder: number, sendGroupId: bigint}>} */
|
|
45
45
|
orderBiStreams: {
|
|
46
|
-
sendOrder:
|
|
46
|
+
sendOrder: number;
|
|
47
47
|
sendGroupId: bigint;
|
|
48
48
|
}[];
|
|
49
49
|
sendInitialParameters(): void;
|
|
@@ -83,10 +83,10 @@ export class Http2WebTransportStream {
|
|
|
83
83
|
streamFinal(): void;
|
|
84
84
|
/**
|
|
85
85
|
*
|
|
86
|
-
* @param {{sendOrder:
|
|
86
|
+
* @param {{sendOrder: number, sendGroupId: bigint}} args
|
|
87
87
|
*/
|
|
88
88
|
updateSendOrderAndGroup({ sendOrder, sendGroupId }: {
|
|
89
|
-
sendOrder:
|
|
89
|
+
sendOrder: number;
|
|
90
90
|
sendGroupId: bigint;
|
|
91
91
|
}): void;
|
|
92
92
|
/**
|
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,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,
|
|
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,CAmB/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;kCAhWY,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../lib/session.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../lib/session.js"],"names":[],"mappings":";AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH;;;GAGG;AACH;IACE;;;;;;;;OAQG;IACH;QAPwD,MAAM;QACrB,SAAS,EAAvC,UAAU,GAAG,UAAU;QACG,MAAM,GAAhC,MAAM,GAAG,SAAS;QACQ,QAAQ,GAAlC,MAAM,GAAG,SAAS;QACQ,WAAW,GAArC,MAAM,GAAG,SAAS;QACW,qBAAqB;OAgO5D;IA5NG,0DAAyB;IAM3B,yEAA+B;IAC/B,yDAAyD;IACzD,OADW,OAAO,SAAS,EAAE,wBAAwB,CAC5B;IAEzB,yDAAyD;IACzD,wBADqB,GAAG,KAAK,IAAI,qBACT;IACxB,8CAA8C;IAC9C,kBADkB,IAAI,qBACD;IACrB,0CAA0C;IAC1C,QADW,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CACb;IACzB,0CAA0C;IAC1C,UADW,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CACT;IAE7B,mCAAmC;IACnC,cADW,CAAC,MAAM,GAAG,SAAS,CAAC,CACK;IAEpC,4CAAwD;IAExD,4BAA4B;IAC5B,OADW,QAAQ,IAAI,CAAC,CAItB;IADA,oCAAyB;IAE3B,0CAA0C;IAC1C,aADW,2BAA2B,CACV;IAC5B,4CAA4C;IAC5C,mBADW,6BAA6B,CACN;IAClC,6CAA6C;IAC7C,QADW,QAAQ,qBAAqB,CAAC,CAIvC;IAFA,2HAA4B;IAC5B,qCAA0B;IAG5B,iCAAiC;IACjC,UADW,QAAQ,SAAS,CAAC,CAI3B;IAFA,qEAA8B;IAC9B,uCAA4B;IAG9B,8DAA8D;IAE9D,8BAFW,eAAe,+BAA+B,CAAC,CAOxD;IAFE,sGAAqC;IAGzC,wDAAwD;IAExD,+BAFW,eAAe,yBAAyB,CAAC,CAOlD;IAFE,iGAAsC;IAG1C,4EAA4E;IAC5E,+BADW,OAAO,YAAY,EAAE,4BAA4B,GAAG,SAAS,CAC1B;IAC9C,oFAAoF;IACpF,0BADW,OAAO,YAAY,EAAE,wBAAwB,CAAC,UAAU,CAAC,GAAG,SAAS,CACvC;IA4BzC,gCAAgC;IAChC,+CAA+C;IAC/C,WADW,gCAAgC,CAwF1C;IAxEO,8EAAyC;IA0EjD,uEAAuE;IACvE,uBAD0B,+BAA+B,KAAK,IAAI,IAC7C;IACrB,8DAA8D;IAC9D,wBAD0B,sBAAsB,KAAK,IAAI,IACnC;IACtB,2CAA2C;IAC3C,oBADwB,KAAK,KAAK,IAAI,IAClB;IACpB,2CAA2C;IAC3C,qBADwB,KAAK,KAAK,IAAI,IACjB;IAErB,wDAAwD;IACxD,8BADyB,iBAAiB,KAAK,IAAI,IACtB;IAC7B,2CAA2C;IAC3C,4BADwB,KAAK,KAAK,IAAI,IACV;IAE5B,gEAAgE;IAChE,+BADyB,yBAAyB,KAAK,IAAI,IAC7B;IAC9B,2CAA2C;IAC3C,6BADwB,KAAK,KAAK,IAAI,IACT;IAE7B,0CAA0C;IAC1C,aADW,IAAI,sBAAsB,CAAC,CACV;IAC5B,6CAA6C;IAC7C,gBADW,IAAI,yBAAyB,CAAC,CACV;IAC/B,gCAAgC;IAChC,YADW,IAAI,YAAY,CAAC,CACD;IAE3B,mDAAmD;IACnD,uBADW,IAAI,+BAA+B,CAAC,CACT;IACtC,mDAAmD;IACnD,0BADW,IAAI,+BAA+B,CAAC,CACN;IAEzC,sBAAuB;IACvB,gDAAgD;IAChD,iBADW,IAAI,MAAM,EAAC,qBAAqB,CAAC,CACZ;IAEhC,+BAA+B;IAC/B,mBADW,SAAS,GAAC,MAAM,CACO;IAGpC;;;OAGG;IACH,sBAHW,mBAAmB,YACnB,OAAO,QAWjB;IALG,8BAA0B;IAO9B,mCAEC;IAED,yBAUC;IAED;;OAEG;IACH,sHAFW,iBAAiB,QAmC3B;IAED;;OAEG;IACH,8DAFW,kBAAkB,QAY5B;IAED,8BAKC;IAED;;OAEG;IACH,qBAFW,YAAY,QAItB;IAED;;OAEG;IACH,wBAFW,YAAY,QAItB;IAED;;;OAGG;IACH,sBAHW,sBAAsB,cACtB,+BAA+B,QAKzC;IAED;;;OAGG;IACH,yBAHW,sBAAsB,cACtB,+BAA+B,QAKzC;IAED;;;OAGG;IACH,yBAHW,yBAAyB,cACzB,+BAA+B,QAKzC;IAED;;;OAGG;IACH,4BAHW,yBAAyB,cACzB,+BAA+B,QAKzC;IAED;;;OAGG;IACH,6FAFa,QAAQ,+BAA+B,CAAC,CA4BpD;IAED;;;OAGG;IACH,8FAFa,QAAQ,sBAAsB,CAAC,CA4B3C;IAED;;;;;OAKG;IACH;mBAJW,MAAM;gBACN,MAAM;oBACJ,IAAI,CAWhB;IAED;;OAEG;IACH,mBAFa,qBAAqB,CAmBjC;IACD;;QAEI;IACJ,sBAFW;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAC,QAS7B;IAED;;OAEG;IACH,cAFW,iBAAiB,QAiF3B;IAED;;OAEG;IACH,eAFW,cAAc,QAqDxB;IAED;;OAEG;IACH,yBAFW,qBAAqB,QA0C/B;IAED;;OAEG;IAEH,uBAHW,mBAAmB,QAM7B;IAED,sCAEC;CACF;;;;8CArtBY,OAAO,SAAS,EAAE,+BAA+B;;;;gCACjD,OAAO,SAAS,EAAE,iBAAiB;;;;gCACnC,OAAO,SAAS,EAAE,iBAAiB;;;;oCACnC,OAAO,SAAS,EAAE,qBAAqB;;;;kCACvC,OAAO,SAAS,EAAE,mBAAmB;;;;iCACrC,OAAO,SAAS,EAAE,kBAAkB;;;;gCACpC,OAAO,SAAS,EAAE,iBAAiB;;;;6BACnC,OAAO,SAAS,EAAE,cAAc;;;;oCAEhC,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;;;;+CACzC,OAAO,OAAO,EAAE,gCAAgC;;;;0CAChD,OAAO,OAAO,EAAE,2BAA2B;;;;4CAC3C,OAAO,OAAO,EAAE,6BAA6B;;;;oCAC7C,OAAO,OAAO,EAAE,qBAAqB;;;;gCACrC,OAAO,OAAO,EAAE,iBAAiB;;;;wCACjC,OAAO,OAAO,EAAE,yBAAyB;;;;sCACzC,OAAO,OAAO,EAAE,uBAAuB;;;;4CACvC,OAAO,OAAO,EAAE,6BAA6B;;;;oCAC7C,OAAO,OAAO,EAAE,qBAAqB;;;;kCAErC,OAAO,SAAS,EAAE,mBAAmB;;;;kCAGrC,OAAO,SAAS,EAAE,uBAAuB;;;;yBAEzC,OAAO,UAAU,EAAE,UAAU;;;;yBAC7B,OAAO,UAAU,EAAE,UAAU;;;;8CAE7B,OAAO,YAAY,EAAE,+BAA+B"}
|
package/dist/lib/stream.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export class HttpWTStream {
|
|
|
28
28
|
* @param {boolean} args.bidirectional
|
|
29
29
|
* @param {boolean} args.incoming
|
|
30
30
|
* @param {WebTransportSendGroup|undefined} args.sendGroup
|
|
31
|
-
* @param {
|
|
31
|
+
* @param {number} args.sendOrder
|
|
32
32
|
*/
|
|
33
33
|
constructor(args: {
|
|
34
34
|
object: NativeHttpWTStream;
|
|
@@ -37,7 +37,7 @@ export class HttpWTStream {
|
|
|
37
37
|
bidirectional: boolean;
|
|
38
38
|
incoming: boolean;
|
|
39
39
|
sendGroup: WebTransportSendGroup | undefined;
|
|
40
|
-
sendOrder:
|
|
40
|
+
sendOrder: number;
|
|
41
41
|
});
|
|
42
42
|
objint: import("./types").NativeHttpWTStream;
|
|
43
43
|
parentobj: import("./session").HttpWTSession;
|
|
@@ -46,7 +46,7 @@ export class HttpWTStream {
|
|
|
46
46
|
incoming: boolean;
|
|
47
47
|
closed: boolean;
|
|
48
48
|
_sendGroup: import("./dom").WebTransportSendGroup | undefined;
|
|
49
|
-
_sendOrder:
|
|
49
|
+
_sendOrder: number;
|
|
50
50
|
/** @type {Promise<void> | null} */
|
|
51
51
|
pendingoperation: Promise<void> | null;
|
|
52
52
|
pendingres: (() => void) | null;
|
|
@@ -61,6 +61,7 @@ export class HttpWTStream {
|
|
|
61
61
|
cancelres: (() => void) | null;
|
|
62
62
|
readableclosed: boolean;
|
|
63
63
|
writableController: import("stream/web").WritableStreamDefaultController;
|
|
64
|
+
writableclosed: boolean;
|
|
64
65
|
abortres: (() => void) | null;
|
|
65
66
|
finaldrain_: boolean;
|
|
66
67
|
/**
|
|
@@ -82,7 +83,6 @@ export class HttpWTStream {
|
|
|
82
83
|
* @returns {void}
|
|
83
84
|
*/
|
|
84
85
|
onStreamRecvSignal(args: import('./types').StreamRecvSignalEvent): void;
|
|
85
|
-
writableclosed: boolean | undefined;
|
|
86
86
|
finalDrain(): void;
|
|
87
87
|
/**
|
|
88
88
|
* @param {StreamWriteEvent} args
|
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;
|
|
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;OAmOhB;IAhOC,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,mBAyMkB,IAAI,SAzMA;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,kBAkKU,IAAI,SAlKU;IAQ1B,wBAA0B;IAsCxB,yEAAoC;IAiCpC,wBAA0B;IAiCxB,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,gCAOC;IAED;;;OAGG;IACH,yBAHW,OAAO,SAAS,EAAE,qBAAqB,GACrC,IAAI,CAqEhB;IAED,mBAGC;IAED;;OAEG;IAEH,oBAHW,gBAAgB,QAa1B;IAED;;OAEG;IACH,4BAFW,wBAAwB,QAiDlC;IArCK,qCAA2B;CAsClC;;;;6CAjeY,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
|
@@ -42,7 +42,7 @@ export interface NativeHttpWTStream {
|
|
|
42
42
|
writeChunk: (buf: Uint8Array) => void;
|
|
43
43
|
streamFinal: () => void;
|
|
44
44
|
updateSendOrderAndGroup: (args: {
|
|
45
|
-
sendOrder:
|
|
45
|
+
sendOrder: number;
|
|
46
46
|
sendGroupId: bigint;
|
|
47
47
|
}) => void;
|
|
48
48
|
}
|
|
@@ -153,17 +153,17 @@ export interface SessionCloseEvent {
|
|
|
153
153
|
}
|
|
154
154
|
export interface SessionStatsEvent {
|
|
155
155
|
timestamp: number;
|
|
156
|
-
expiredOutgoing:
|
|
157
|
-
lostOutgoing:
|
|
156
|
+
expiredOutgoing: number;
|
|
157
|
+
lostOutgoing: number;
|
|
158
158
|
minRtt: number;
|
|
159
159
|
smoothedRtt: number;
|
|
160
160
|
rttVariation: number;
|
|
161
|
-
estimatedSendRateBps:
|
|
161
|
+
estimatedSendRateBps: number;
|
|
162
162
|
}
|
|
163
163
|
export interface DatagramStatsEvent {
|
|
164
164
|
timestamp: number;
|
|
165
|
-
expiredOutgoing:
|
|
166
|
-
lostOutgoing:
|
|
165
|
+
expiredOutgoing: number;
|
|
166
|
+
lostOutgoing: number;
|
|
167
167
|
}
|
|
168
168
|
export interface DatagramReceivedEvent {
|
|
169
169
|
datagram: Uint8Array;
|
|
@@ -175,7 +175,7 @@ export interface NewStreamEvent {
|
|
|
175
175
|
bidirectional: boolean;
|
|
176
176
|
incoming: boolean;
|
|
177
177
|
sendGroupId?: bigint;
|
|
178
|
-
sendOrder:
|
|
178
|
+
sendOrder: number;
|
|
179
179
|
}
|
|
180
180
|
export interface WebTransportSessionEventHandler {
|
|
181
181
|
onReady: (evt: SessionReadyEvent) => void;
|
package/lib/dom.ts
CHANGED
|
@@ -3,31 +3,31 @@
|
|
|
3
3
|
|
|
4
4
|
export interface WebTransportDatagramStats {
|
|
5
5
|
timestamp: number
|
|
6
|
-
expiredOutgoing:
|
|
7
|
-
droppedIncoming:
|
|
8
|
-
lostOutgoing:
|
|
6
|
+
expiredOutgoing: number
|
|
7
|
+
droppedIncoming: number
|
|
8
|
+
lostOutgoing: number
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
export interface WebTransportStats {
|
|
12
12
|
timestamp: number
|
|
13
|
-
bytesSent:
|
|
14
|
-
packetsSent:
|
|
15
|
-
packetsLost:
|
|
13
|
+
bytesSent: number
|
|
14
|
+
packetsSent: number
|
|
15
|
+
packetsLost: number
|
|
16
16
|
numOutgoingStreamsCreated: number
|
|
17
17
|
numIncomingStreamsCreated: number
|
|
18
|
-
bytesReceived:
|
|
19
|
-
packetsReceived:
|
|
18
|
+
bytesReceived: number
|
|
19
|
+
packetsReceived: number
|
|
20
20
|
smoothedRtt: number
|
|
21
21
|
rttVariation: number
|
|
22
22
|
minRtt: number
|
|
23
|
-
estimatedSendRate:
|
|
23
|
+
estimatedSendRate: number
|
|
24
24
|
datagrams: WebTransportDatagramStats
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export interface WebTransportSendStreamStats {
|
|
28
|
-
bytesWritten:
|
|
29
|
-
bytesSent:
|
|
30
|
-
bytesAcknowledged:
|
|
28
|
+
bytesWritten: number
|
|
29
|
+
bytesSent: number
|
|
30
|
+
bytesAcknowledged: number
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
export interface WebTransportSendGroup {
|
|
@@ -41,7 +41,7 @@ export interface WebTransportCloseInfo {
|
|
|
41
41
|
|
|
42
42
|
export interface WebTransportDatagramsWritable extends WritableStream {
|
|
43
43
|
sendGroup?: WebTransportSendGroup;
|
|
44
|
-
sendOrder:
|
|
44
|
+
sendOrder: number;
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
export interface WebTransportSendOptions {
|
|
@@ -61,7 +61,7 @@ export interface WebTransportDatagramDuplexStream {
|
|
|
61
61
|
|
|
62
62
|
export interface WebTransportSendStream extends WritableStream<Uint8Array> {
|
|
63
63
|
sendGroup?: WebTransportSendGroup;
|
|
64
|
-
sendOrder:
|
|
64
|
+
sendOrder: number;
|
|
65
65
|
getStats: () => Promise<WebTransportSendStreamStats>
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -106,15 +106,9 @@ export interface WebTransportOptions {
|
|
|
106
106
|
protocols?: string[]
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
export interface WebTransportSendStreamStats {
|
|
110
|
-
bytesWritten: bigint;
|
|
111
|
-
bytesSent: bigint;
|
|
112
|
-
bytesAcknowledged: bigint;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
109
|
export interface WebTransportSendStreamOptions {
|
|
116
110
|
sendGroup: WebTransportSendGroup|null
|
|
117
|
-
sendOrder?:
|
|
111
|
+
sendOrder?: number
|
|
118
112
|
waitUntilAvailable?: boolean
|
|
119
113
|
}
|
|
120
114
|
|
|
@@ -165,7 +165,7 @@ export class BrowserParser extends ParserBase {
|
|
|
165
165
|
let object = this.wtstreams.get(streamid)
|
|
166
166
|
if (!object) {
|
|
167
167
|
object = this.newStream(streamid, {
|
|
168
|
-
sendOrder:
|
|
168
|
+
sendOrder: 0,
|
|
169
169
|
sendGroupId: 0n
|
|
170
170
|
})
|
|
171
171
|
if (!object) return // stream broken
|
|
@@ -157,7 +157,7 @@ export class Http2CapsuleParser extends ParserBaseHttp2 {
|
|
|
157
157
|
let object = this.wtstreams.get(streamid)
|
|
158
158
|
if (!object) {
|
|
159
159
|
object = this.newStream(streamid, {
|
|
160
|
-
sendOrder:
|
|
160
|
+
sendOrder: 0,
|
|
161
161
|
sendGroupId: 0n
|
|
162
162
|
})
|
|
163
163
|
if (!object) return // stream broken
|
package/lib/http2/node/server.js
CHANGED
|
@@ -82,10 +82,8 @@ export class Http2WebTransportServer {
|
|
|
82
82
|
this.jsobj.onServerListening(retObj)
|
|
83
83
|
})
|
|
84
84
|
|
|
85
|
-
this.serverInt.on('error', () => {
|
|
86
|
-
|
|
87
|
-
// @ts-ignore
|
|
88
|
-
this.jsobj.onServerError(retObj)
|
|
85
|
+
this.serverInt.on('error', (error) => {
|
|
86
|
+
this.jsobj.onServerError(error)
|
|
89
87
|
/* TODO (stream) => {
|
|
90
88
|
stream.close(constants.NGHTTP2_CONNECT_ERROR)
|
|
91
89
|
}) */
|
|
@@ -542,7 +542,7 @@ export class WebSocketParser extends ParserBaseHttp2 {
|
|
|
542
542
|
let object = this.wtstreams.get(streamid)
|
|
543
543
|
if (!object) {
|
|
544
544
|
object = this.newStream(streamid, {
|
|
545
|
-
sendOrder:
|
|
545
|
+
sendOrder: 0,
|
|
546
546
|
sendGroupId: 0n
|
|
547
547
|
})
|
|
548
548
|
if (!object) return // stream broken
|
package/lib/http2/parserbase.js
CHANGED
|
@@ -112,7 +112,7 @@ export class ParserBase {
|
|
|
112
112
|
|
|
113
113
|
/**
|
|
114
114
|
* @param {bigint} streamid
|
|
115
|
-
* @param {{sendOrder:
|
|
115
|
+
* @param {{sendOrder: number,sendGroupId: bigint}} priority
|
|
116
116
|
*/
|
|
117
117
|
newStream(streamid, priority) {
|
|
118
118
|
const incoming = this.isclient ? !(streamid & 0x1n) : !!(streamid & 0x1n)
|
|
@@ -321,7 +321,7 @@ export class ParserBase {
|
|
|
321
321
|
/**
|
|
322
322
|
*
|
|
323
323
|
* @param {bigint} streamid
|
|
324
|
-
* @param {{sendOrder:
|
|
324
|
+
* @param {{sendOrder: number, sendGroupId: bigint}} arg2
|
|
325
325
|
*/
|
|
326
326
|
streamUpdateSendOrderAndGroup(streamid, { sendOrder, sendGroupId }) {
|
|
327
327
|
this.scheduler.UpdateSendGroup(streamid, sendGroupId)
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
/**
|
|
9
9
|
* @typedef {object} Priority
|
|
10
10
|
* @property {SendGroupId} sendGroupId
|
|
11
|
-
* @property {
|
|
11
|
+
* @property {number} sendOrder
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
-
* @typedef {
|
|
19
|
+
* @typedef {number} SendOrder
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
/**
|
|
@@ -506,7 +506,7 @@ export class PriorityScheduler {
|
|
|
506
506
|
// Alters the priority of an already registered stream.
|
|
507
507
|
/**
|
|
508
508
|
* @param {StreamId} streamId
|
|
509
|
-
* @param {
|
|
509
|
+
* @param {number} newSendOrder
|
|
510
510
|
*/
|
|
511
511
|
UpdateSendOrder(streamId, newSendOrder) {
|
|
512
512
|
const scheduler = this.SchedulerForStream(streamId)
|
|
@@ -527,7 +527,7 @@ export class PriorityScheduler {
|
|
|
527
527
|
}
|
|
528
528
|
const isScheduled = scheduler.IsScheduled(streamId)
|
|
529
529
|
const sendOrder = scheduler.GetPriorityFor(streamId)
|
|
530
|
-
if (
|
|
530
|
+
if (sendOrder == null) {
|
|
531
531
|
throw new Error(
|
|
532
532
|
'Stream registered at the top level scheduler, but not at the per-group one'
|
|
533
533
|
)
|
package/lib/http2/session.js
CHANGED
|
@@ -75,9 +75,9 @@ export class Http2WebTransportSession {
|
|
|
75
75
|
})
|
|
76
76
|
/** @type {Array<Uint8Array>} */
|
|
77
77
|
this.datagramsWaiting_ = []
|
|
78
|
-
/** @type {Array<{sendOrder:
|
|
78
|
+
/** @type {Array<{sendOrder: number, sendGroupId: bigint}>} */
|
|
79
79
|
this.orderUniStreams = []
|
|
80
|
-
/** @type {Array<{sendOrder:
|
|
80
|
+
/** @type {Array<{sendOrder: number, sendGroupId: bigint}>} */
|
|
81
81
|
this.orderBiStreams = []
|
|
82
82
|
if (stream) {
|
|
83
83
|
if (isclient) {
|
|
@@ -172,7 +172,7 @@ export class Http2WebTransportSession {
|
|
|
172
172
|
})
|
|
173
173
|
this.capsParser.newStream(
|
|
174
174
|
streamid,
|
|
175
|
-
priority || { sendGroupId: 0n, sendOrder:
|
|
175
|
+
priority || { sendGroupId: 0n, sendOrder: 0 }
|
|
176
176
|
)
|
|
177
177
|
}
|
|
178
178
|
}
|
|
@@ -188,7 +188,7 @@ export class Http2WebTransportSession {
|
|
|
188
188
|
this.orderUniStreams.push({
|
|
189
189
|
// @ts-ignore
|
|
190
190
|
sendGroupId: sendGroup?._sendGroupId || 0n,
|
|
191
|
-
sendOrder: sendOrder ??
|
|
191
|
+
sendOrder: sendOrder ?? 0
|
|
192
192
|
})
|
|
193
193
|
this.trySendingUnidirectionalStreams()
|
|
194
194
|
return true
|
|
@@ -210,7 +210,7 @@ export class Http2WebTransportSession {
|
|
|
210
210
|
})
|
|
211
211
|
this.capsParser.newStream(
|
|
212
212
|
streamid,
|
|
213
|
-
priority || { sendGroupId: 0n, sendOrder:
|
|
213
|
+
priority || { sendGroupId: 0n, sendOrder: 0 }
|
|
214
214
|
)
|
|
215
215
|
}
|
|
216
216
|
}
|
|
@@ -226,7 +226,7 @@ export class Http2WebTransportSession {
|
|
|
226
226
|
this.orderBiStreams.push({
|
|
227
227
|
// @ts-ignore
|
|
228
228
|
sendGroupId: sendGroup?._sendGroupId || 0n,
|
|
229
|
-
sendOrder: sendOrder ??
|
|
229
|
+
sendOrder: sendOrder ?? 0
|
|
230
230
|
})
|
|
231
231
|
this.trySendingBidirectionalStreams()
|
|
232
232
|
return true
|
package/lib/http2/stream.js
CHANGED
|
@@ -399,7 +399,7 @@ export class Http2WebTransportStream {
|
|
|
399
399
|
|
|
400
400
|
/**
|
|
401
401
|
*
|
|
402
|
-
* @param {{sendOrder:
|
|
402
|
+
* @param {{sendOrder: number, sendGroupId: bigint}} args
|
|
403
403
|
*/
|
|
404
404
|
updateSendOrderAndGroup({ sendOrder, sendGroupId }) {
|
|
405
405
|
this.capsuleParser.streamUpdateSendOrderAndGroup(this.streamid, {
|
package/lib/server.js
CHANGED
|
@@ -233,6 +233,9 @@ export class HttpServer {
|
|
|
233
233
|
this.sessionStreams[path] = new ReadableStream({
|
|
234
234
|
start: async (controller) => {
|
|
235
235
|
this.sessionController[path] = controller
|
|
236
|
+
},
|
|
237
|
+
cancel: () => {
|
|
238
|
+
delete this.sessionController[path]
|
|
236
239
|
}
|
|
237
240
|
})
|
|
238
241
|
if (!args || !args.noAutoPaths) {
|
package/lib/session.js
CHANGED
|
@@ -163,7 +163,7 @@ export class HttpWTSession {
|
|
|
163
163
|
* @return {import('./dom').WebTransportDatagramsWritable}
|
|
164
164
|
*/
|
|
165
165
|
createWritable: (options) => {
|
|
166
|
-
let sendOrder = options?.sendOrder ??
|
|
166
|
+
let sendOrder = options?.sendOrder ?? 0
|
|
167
167
|
let sendGroup = options?.sendGroup
|
|
168
168
|
/** @type {WebTransportSendStream} */
|
|
169
169
|
// @ts-expect-error some props are initially missing
|
|
@@ -199,7 +199,7 @@ export class HttpWTSession {
|
|
|
199
199
|
return sendOrder
|
|
200
200
|
},
|
|
201
201
|
/**
|
|
202
|
-
* @param {
|
|
202
|
+
* @param {number} value
|
|
203
203
|
*/
|
|
204
204
|
set: (value) => {
|
|
205
205
|
sendOrder = value
|
|
@@ -318,8 +318,8 @@ export class HttpWTSession {
|
|
|
318
318
|
*/
|
|
319
319
|
onSessionStats({
|
|
320
320
|
timestamp,
|
|
321
|
-
expiredOutgoing =
|
|
322
|
-
lostOutgoing =
|
|
321
|
+
expiredOutgoing = 0,
|
|
322
|
+
lostOutgoing = 0,
|
|
323
323
|
// non Datagram
|
|
324
324
|
minRtt = 0,
|
|
325
325
|
smoothedRtt = 0,
|
|
@@ -331,13 +331,13 @@ export class HttpWTSession {
|
|
|
331
331
|
if (res)
|
|
332
332
|
res({
|
|
333
333
|
timestamp,
|
|
334
|
-
bytesSent:
|
|
335
|
-
packetsSent:
|
|
336
|
-
packetsLost:
|
|
334
|
+
bytesSent: 0,
|
|
335
|
+
packetsSent: 0,
|
|
336
|
+
packetsLost: 0,
|
|
337
337
|
numOutgoingStreamsCreated: 0,
|
|
338
338
|
numIncomingStreamsCreated: 0,
|
|
339
|
-
bytesReceived:
|
|
340
|
-
packetsReceived:
|
|
339
|
+
bytesReceived: 0,
|
|
340
|
+
packetsReceived: 0,
|
|
341
341
|
smoothedRtt,
|
|
342
342
|
rttVariation,
|
|
343
343
|
minRtt,
|
|
@@ -345,7 +345,7 @@ export class HttpWTSession {
|
|
|
345
345
|
datagrams: {
|
|
346
346
|
timestamp,
|
|
347
347
|
expiredOutgoing,
|
|
348
|
-
droppedIncoming:
|
|
348
|
+
droppedIncoming: 0,
|
|
349
349
|
lostOutgoing
|
|
350
350
|
}
|
|
351
351
|
})
|
|
@@ -354,18 +354,14 @@ export class HttpWTSession {
|
|
|
354
354
|
/**
|
|
355
355
|
* @param {DatagramStatsEvent} evt
|
|
356
356
|
*/
|
|
357
|
-
onDatagramStats({
|
|
358
|
-
timestamp,
|
|
359
|
-
expiredOutgoing = BigInt(0),
|
|
360
|
-
lostOutgoing = BigInt(0)
|
|
361
|
-
}) {
|
|
357
|
+
onDatagramStats({ timestamp, expiredOutgoing = 0, lostOutgoing = 0 }) {
|
|
362
358
|
const res = this.resolveDatagramStats.pop()
|
|
363
359
|
this.rejectDatagramStats.pop()
|
|
364
360
|
if (res)
|
|
365
361
|
res({
|
|
366
362
|
timestamp,
|
|
367
363
|
expiredOutgoing,
|
|
368
|
-
droppedIncoming:
|
|
364
|
+
droppedIncoming: 0,
|
|
369
365
|
lostOutgoing
|
|
370
366
|
})
|
|
371
367
|
}
|
|
@@ -447,7 +443,7 @@ export class HttpWTSession {
|
|
|
447
443
|
})
|
|
448
444
|
const notblocked = this.objint.orderBidiStream({
|
|
449
445
|
sendGroup: opts?.sendGroup || null, // maybe replace, when implemented
|
|
450
|
-
sendOrder:
|
|
446
|
+
sendOrder: opts?.sendOrder || 0,
|
|
451
447
|
waitUntilAvailable: opts?.waitUntilAvailable || false
|
|
452
448
|
})
|
|
453
449
|
if (!notblocked) {
|
|
@@ -479,7 +475,7 @@ export class HttpWTSession {
|
|
|
479
475
|
})
|
|
480
476
|
const notblocked = this.objint.orderUnidiStream({
|
|
481
477
|
sendGroup: opts?.sendGroup || null, // maybe replace, when implemented
|
|
482
|
-
sendOrder: opts?.sendOrder ||
|
|
478
|
+
sendOrder: opts?.sendOrder || 0,
|
|
483
479
|
waitUntilAvailable: opts?.waitUntilAvailable || false
|
|
484
480
|
})
|
|
485
481
|
if (!notblocked) {
|
|
@@ -503,7 +499,7 @@ export class HttpWTSession {
|
|
|
503
499
|
if (this.objint) {
|
|
504
500
|
this.objint.close({
|
|
505
501
|
code: closeInfo?.closeCode ?? 0,
|
|
506
|
-
reason: closeInfo?.reason.substring(0, 1023)
|
|
502
|
+
reason: (closeInfo?.reason ?? '').substring(0, 1023)
|
|
507
503
|
})
|
|
508
504
|
}
|
|
509
505
|
}
|
|
@@ -516,14 +512,13 @@ export class HttpWTSession {
|
|
|
516
512
|
throw new Error('InvalidState')
|
|
517
513
|
const _sendGroupId = this._sendGroupNum++
|
|
518
514
|
const sendGroup = {
|
|
519
|
-
// @ts-ignore
|
|
520
515
|
_sendGroupId,
|
|
521
516
|
getStats: async () => {
|
|
522
517
|
// TODO implement
|
|
523
518
|
return {
|
|
524
|
-
bytesWritten:
|
|
525
|
-
bytesSent:
|
|
526
|
-
bytesAcknowledged:
|
|
519
|
+
bytesWritten: 0,
|
|
520
|
+
bytesSent: 0,
|
|
521
|
+
bytesAcknowledged: 0
|
|
527
522
|
}
|
|
528
523
|
}
|
|
529
524
|
}
|
|
@@ -630,6 +625,12 @@ export class HttpWTSession {
|
|
|
630
625
|
* @param {NewStreamEvent} args
|
|
631
626
|
*/
|
|
632
627
|
onStream(args) {
|
|
628
|
+
if (this.state === 'closed' || this.state === 'failed') {
|
|
629
|
+
log('received stream after session closing')
|
|
630
|
+
args.stream.stopSending(0)
|
|
631
|
+
args.stream.resetStream(0)
|
|
632
|
+
return
|
|
633
|
+
}
|
|
633
634
|
const strobj = new HttpWTStream({
|
|
634
635
|
object: args.stream,
|
|
635
636
|
parentobj: this,
|
package/lib/stream.js
CHANGED
|
@@ -36,7 +36,7 @@ export class HttpWTStream {
|
|
|
36
36
|
* @param {boolean} args.bidirectional
|
|
37
37
|
* @param {boolean} args.incoming
|
|
38
38
|
* @param {WebTransportSendGroup|undefined} args.sendGroup
|
|
39
|
-
* @param {
|
|
39
|
+
* @param {number} args.sendOrder
|
|
40
40
|
*/
|
|
41
41
|
constructor(args) {
|
|
42
42
|
this.objint = args.object
|
|
@@ -102,6 +102,10 @@ export class HttpWTStream {
|
|
|
102
102
|
else code = reason.code
|
|
103
103
|
}
|
|
104
104
|
this.readableclosed = true
|
|
105
|
+
this.parentobj.removeReceiveStream(
|
|
106
|
+
this.readable,
|
|
107
|
+
this.readableController
|
|
108
|
+
)
|
|
105
109
|
this.objint.stopSending(code)
|
|
106
110
|
return promise
|
|
107
111
|
},
|
|
@@ -168,7 +172,12 @@ export class HttpWTStream {
|
|
|
168
172
|
if (this.writableclosed) {
|
|
169
173
|
return Promise.resolve()
|
|
170
174
|
}
|
|
175
|
+
this.writableclosed = true
|
|
171
176
|
this.objint.streamFinal()
|
|
177
|
+
this.parentobj.removeSendStream(
|
|
178
|
+
this.writable,
|
|
179
|
+
this.writableController
|
|
180
|
+
)
|
|
172
181
|
// eslint-disable-next-line no-unused-vars
|
|
173
182
|
this.pendingoperation = new Promise((resolve, reject) => {
|
|
174
183
|
this.pendingres = resolve
|
|
@@ -182,12 +191,17 @@ export class HttpWTStream {
|
|
|
182
191
|
resolve()
|
|
183
192
|
})
|
|
184
193
|
}
|
|
194
|
+
this.writableclosed = true
|
|
185
195
|
let code = 0
|
|
186
196
|
if (reason && reason.code) {
|
|
187
197
|
if (reason.code < 0) code = 0
|
|
188
198
|
else if (reason.code > 255) code = 255
|
|
189
199
|
else code = reason.code
|
|
190
200
|
}
|
|
201
|
+
this.parentobj.removeSendStream(
|
|
202
|
+
this.writable,
|
|
203
|
+
this.writableController
|
|
204
|
+
)
|
|
191
205
|
/** @type {Promise<void>} */
|
|
192
206
|
// eslint-disable-next-line no-unused-vars
|
|
193
207
|
const promise = new Promise((resolve, reject) => {
|
|
@@ -202,9 +216,9 @@ export class HttpWTStream {
|
|
|
202
216
|
this.writable.getStats = () => {
|
|
203
217
|
return Promise.resolve({
|
|
204
218
|
timestamp: 0,
|
|
205
|
-
bytesWritten:
|
|
206
|
-
bytesSent:
|
|
207
|
-
bytesAcknowledged:
|
|
219
|
+
bytesWritten: 0,
|
|
220
|
+
bytesSent: 0,
|
|
221
|
+
bytesAcknowledged: 0
|
|
208
222
|
})
|
|
209
223
|
}
|
|
210
224
|
Object.defineProperties(this.writable, {
|
|
@@ -213,11 +227,11 @@ export class HttpWTStream {
|
|
|
213
227
|
return this._sendOrder
|
|
214
228
|
},
|
|
215
229
|
/**
|
|
216
|
-
* @param {
|
|
230
|
+
* @param {number} value
|
|
217
231
|
*/
|
|
218
232
|
set: (value) => {
|
|
219
233
|
if (value !== this._sendOrder) {
|
|
220
|
-
this._sendOrder =
|
|
234
|
+
this._sendOrder = value
|
|
221
235
|
this.updateSendOrderAndGroup()
|
|
222
236
|
}
|
|
223
237
|
}
|
|
@@ -324,8 +338,9 @@ export class HttpWTStream {
|
|
|
324
338
|
updateSendOrderAndGroup() {
|
|
325
339
|
this.objint.updateSendOrderAndGroup({
|
|
326
340
|
sendOrder: this._sendOrder,
|
|
327
|
-
//
|
|
328
|
-
|
|
341
|
+
// 0n is reserved for no sendgroup
|
|
342
|
+
// @ts-ignore _sendGroupId is internal, FIXME convert to symbol
|
|
343
|
+
sendGroupId: this._sendGroup?._sendGroupId || 0n
|
|
329
344
|
})
|
|
330
345
|
}
|
|
331
346
|
|
package/lib/types.ts
CHANGED
|
@@ -41,7 +41,7 @@ export interface NativeHttpWTStream {
|
|
|
41
41
|
writeChunk: (buf: Uint8Array) => void
|
|
42
42
|
streamFinal: () => void
|
|
43
43
|
updateSendOrderAndGroup: (args :{
|
|
44
|
-
sendOrder:
|
|
44
|
+
sendOrder: number,
|
|
45
45
|
sendGroupId: bigint
|
|
46
46
|
}) => void
|
|
47
47
|
}
|
|
@@ -169,20 +169,20 @@ export interface SessionCloseEvent {
|
|
|
169
169
|
|
|
170
170
|
export interface SessionStatsEvent {
|
|
171
171
|
timestamp: number
|
|
172
|
-
expiredOutgoing:
|
|
173
|
-
lostOutgoing:
|
|
172
|
+
expiredOutgoing: number
|
|
173
|
+
lostOutgoing: number
|
|
174
174
|
|
|
175
175
|
// non Datagram
|
|
176
176
|
minRtt: number
|
|
177
177
|
smoothedRtt: number
|
|
178
178
|
rttVariation: number
|
|
179
|
-
estimatedSendRateBps:
|
|
179
|
+
estimatedSendRateBps: number
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
export interface DatagramStatsEvent {
|
|
183
183
|
timestamp: number
|
|
184
|
-
expiredOutgoing:
|
|
185
|
-
lostOutgoing:
|
|
184
|
+
expiredOutgoing: number
|
|
185
|
+
lostOutgoing: number
|
|
186
186
|
}
|
|
187
187
|
|
|
188
188
|
export interface DatagramReceivedEvent {
|
|
@@ -196,7 +196,7 @@ export interface NewStreamEvent {
|
|
|
196
196
|
bidirectional: boolean
|
|
197
197
|
incoming: boolean
|
|
198
198
|
sendGroupId?: bigint;
|
|
199
|
-
sendOrder:
|
|
199
|
+
sendOrder: number;
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
export interface WebTransportSessionEventHandler {
|