@fails-components/webtransport 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/dom.d.ts +2 -2
- package/dist/lib/dom.d.ts.map +1 -1
- package/dist/lib/session.d.ts +1 -1
- package/dist/lib/session.d.ts.map +1 -1
- package/dist/lib/stream.d.ts.map +1 -1
- package/lib/dom.ts +2 -2
- package/lib/session.js +24 -2
- package/lib/stream.js +1 -2
- package/package.json +1 -1
package/dist/lib/dom.d.ts
CHANGED
|
@@ -27,8 +27,8 @@ export interface WebTransportDatagramDuplexStream {
|
|
|
27
27
|
writable: WritableStream<Uint8Array>;
|
|
28
28
|
}
|
|
29
29
|
export interface WebTransportBidirectionalStream {
|
|
30
|
-
readonly readable:
|
|
31
|
-
readonly writable:
|
|
30
|
+
readonly readable: WebTransportReceiveStream;
|
|
31
|
+
readonly writable: WebTransportSendStream;
|
|
32
32
|
}
|
|
33
33
|
export interface WebTransportSendStreamStats {
|
|
34
34
|
timestamp: number;
|
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,SAAS,EAAE,yBAAyB,CAAA;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;IACpC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CAMrC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../lib/dom.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/session.d.ts
CHANGED
|
@@ -87,7 +87,7 @@ export class Http3WTSession implements WebTransportSessionEventHandler, WebTrans
|
|
|
87
87
|
writeDatagramProm: Array<Promise<void>>;
|
|
88
88
|
/** @type {WebTransportDatagramDuplexStream} */
|
|
89
89
|
datagrams: WebTransportDatagramDuplexStream;
|
|
90
|
-
incomDatagramController:
|
|
90
|
+
incomDatagramController: import("stream/web").ReadableByteStreamController;
|
|
91
91
|
outgoDatagramController: import("stream/web").WritableStreamDefaultController;
|
|
92
92
|
/** @type {Array<(stream: WebTransportBidirectionalStream) => void>} */
|
|
93
93
|
resolveBiDi: ((stream: WebTransportBidirectionalStream) => void)[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../lib/session.js"],"names":[],"mappings":";AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;GAGG;AACH;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../lib/session.js"],"names":[],"mappings":"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"}
|
package/dist/lib/stream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../lib/stream.js"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH;
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../lib/stream.js"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH;IA4YE;;OAEG;IACH,sBAFW,qBAAqB,GAAG,eAAe,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,wBAAwB,QAsClH;IAlbD;;;;;;;OAOG;IACH;QANqC,MAAM,EAAhC,mBAAmB;QACE,SAAS,EAA9B,cAAc;QACD,SAAS,EAAtB,MAAM;QACQ,aAAa,EAA3B,OAAO;QACO,QAAQ,EAAtB,OAAO;OA8JjB;IA3JC,8CAAyB;IAEzB,8CAA+B;IAC/B,kBAA+B;IAC/B,uBAAuC;IACvC,kBAA6B;IAC7B,gBAAmB;IAEnB,mCAAmC;IACnC,kBADW,QAAQ,IAAI,CAAC,GAAG,IAAI,CACH;IAC5B,mBA6IkB,IAAI,SA7IA;IAEtB,mCAAmC;IACnC,sBADW,QAAQ,IAAI,CAAC,GAAG,IAAI,CACC;IAChC,mEAA0B;IAGxB,qBAAqB;IACrB,6BAA6B;IAC7B,qBAAqB;IACrB,8BAA8B;IAI9B,wCAAwC;IACxC,oCA8CC;IAzCK,sEAAoC;IAyBlC,kBA8FQ,IAAI,SA9FY;IAQ1B,wBAA0B;IAmBhC,qCAAqC;IACrC,iCAuDC;IApDK,yEAAoC;IA6ClC,iBAsBQ,IAAI,SAtBW;IA0BnC,oBAsDC;IAED;;;OAGG;IACH,yBAHW,OAAO,SAAS,EAAE,qBAAqB,GACrC,IAAI,CAwDhB;IAxBO,oCAA0B;IA0BlC;;;OAGG;IACH,mBAHW,eAAe,GACb,IAAI,CAqChB;IAED;;OAEG;IACH,oBAFW,gBAAgB,QAY1B;IAED;;OAEG;IACH,oBAFW,gBAAgB,QAe1B;IAED;;OAEG;IACH,4BAFW,wBAAwB,QAoClC;IAzBK,qCAA2B;CAmElC;;;;6CAlcY,OAAO,SAAS,EAAE,8BAA8B;;;;oCAChD,OAAO,SAAS,EAAE,qBAAqB;;;;8BACvC,OAAO,SAAS,EAAE,eAAe;;;;+BACjC,OAAO,SAAS,EAAE,gBAAgB;;;;+BAClC,OAAO,SAAS,EAAE,gBAAgB;;;;uCAClC,OAAO,SAAS,EAAE,wBAAwB;;;;kCAE1C,OAAO,SAAS,EAAE,mBAAmB;;;;6BAErC,OAAO,WAAW,EAAE,cAAc;;;;8CAElC,OAAO,YAAY,EAAE,+BAA+B"}
|
package/lib/dom.ts
CHANGED
|
@@ -39,8 +39,8 @@ export interface WebTransportDatagramDuplexStream {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
export interface WebTransportBidirectionalStream {
|
|
42
|
-
readonly readable:
|
|
43
|
-
readonly writable:
|
|
42
|
+
readonly readable: WebTransportReceiveStream
|
|
43
|
+
readonly writable: WebTransportSendStream
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
export interface WebTransportSendStreamStats {
|
package/lib/session.js
CHANGED
|
@@ -103,12 +103,14 @@ export class Http3WTSession {
|
|
|
103
103
|
|
|
104
104
|
/** @type {WebTransportDatagramDuplexStream} */
|
|
105
105
|
this.datagrams = {
|
|
106
|
+
/** @type {ReadableStream<Uint8Array>} */
|
|
106
107
|
readable: new ReadableStream({
|
|
107
108
|
start: (
|
|
108
|
-
/** @type {
|
|
109
|
+
/** @type {import("stream/web").ReadableByteStreamController} */ controller
|
|
109
110
|
) => {
|
|
110
111
|
this.incomDatagramController = controller
|
|
111
|
-
}
|
|
112
|
+
},
|
|
113
|
+
type: 'bytes'
|
|
112
114
|
}),
|
|
113
115
|
writable: new WritableStream({
|
|
114
116
|
start: (controller) => {
|
|
@@ -410,6 +412,26 @@ export class Http3WTSession {
|
|
|
410
412
|
*/
|
|
411
413
|
onDatagramReceived(args) {
|
|
412
414
|
// console.log('datagram received', args.datagram, Date.now())
|
|
415
|
+
if (this.incomDatagramController.byobRequest) {
|
|
416
|
+
/** @type {ReadableStreamBYOBRequest} */
|
|
417
|
+
const byob = this.incomDatagramController.byobRequest
|
|
418
|
+
/** @type {Uint8Array} */
|
|
419
|
+
// @ts-ignore
|
|
420
|
+
const view = byob?.view
|
|
421
|
+
// @ts-ignore
|
|
422
|
+
if (!(view instanceof Uint8Array))
|
|
423
|
+
throw new Error('byob view is not a Uint8Array')
|
|
424
|
+
if (view.byteLength < args.datagram.byteLength) {
|
|
425
|
+
throw new Error('supplied view is not large enough.')
|
|
426
|
+
}
|
|
427
|
+
const destview = new Uint8Array(
|
|
428
|
+
view.buffer,
|
|
429
|
+
0 + view.byteOffset,
|
|
430
|
+
args.datagram.byteLength
|
|
431
|
+
)
|
|
432
|
+
destview.set(args.datagram)
|
|
433
|
+
byob.respond(args.datagram.byteLength)
|
|
434
|
+
}
|
|
413
435
|
this.incomDatagramController.enqueue(args.datagram)
|
|
414
436
|
}
|
|
415
437
|
|
package/lib/stream.js
CHANGED
package/package.json
CHANGED