@moqtap/codec 0.2.3 → 0.3.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/LICENSE +21 -21
- package/README.md +100 -99
- package/dist/{chunk-RZHAPEXO.js → chunk-2A57DRXV.js} +36 -10
- package/dist/{chunk-73MWUKSJ.js → chunk-2UTVXWFF.js} +190 -102
- package/dist/{chunk-JTVCOMBI.cjs → chunk-3XKO6PCR.cjs} +290 -183
- package/dist/{chunk-ACQ4CUJP.cjs → chunk-4BDEU3D4.cjs} +237 -158
- package/dist/{chunk-4N4INRE7.cjs → chunk-4HBKHNU2.cjs} +144 -110
- package/dist/{chunk-2ZT6CVSE.js → chunk-4IVZZOY3.js} +269 -162
- package/dist/{chunk-GLBQDG4L.cjs → chunk-5O764MBD.cjs} +508 -117
- package/dist/chunk-7KBAWOBA.js +1212 -0
- package/dist/{chunk-JSQM2MG3.js → chunk-7QOPNSDF.js} +44 -12
- package/dist/{chunk-SYHW3FLI.cjs → chunk-7RE6KSIY.cjs} +28 -8
- package/dist/{chunk-YG5KJESI.js → chunk-AY6IAHUM.js} +28 -8
- package/dist/{chunk-EFM5T7OM.js → chunk-BLQDWOSG.js} +36 -10
- package/dist/{chunk-UYXTY6ZQ.cjs → chunk-E65QKRSN.cjs} +20 -12
- package/dist/{chunk-BISI45MN.cjs → chunk-EAHE3IOG.cjs} +44 -12
- package/dist/{chunk-PZBPH2D7.js → chunk-GCBFHZW6.js} +216 -137
- package/dist/{chunk-GXEW4COZ.cjs → chunk-H5NSL4MO.cjs} +36 -10
- package/dist/chunk-HZHSO7EW.cjs +1212 -0
- package/dist/{chunk-KZCYQ7ED.cjs → chunk-IILNSDEQ.cjs} +69 -41
- package/dist/{chunk-4XYGE53S.cjs → chunk-J3XCPBW3.cjs} +36 -10
- package/dist/{chunk-6AEHWULA.cjs → chunk-JKOEJZ5B.cjs} +28 -8
- package/dist/{chunk-RUPCJTC3.cjs → chunk-JL3NEW3O.cjs} +23 -1
- package/dist/{chunk-G7GI7LJA.js → chunk-LORZMJJB.js} +36 -10
- package/dist/{chunk-DUBCL3WF.cjs → chunk-LV5C6MEC.cjs} +36 -10
- package/dist/{chunk-ENURAVHI.cjs → chunk-MYXAD5JC.cjs} +44 -12
- package/dist/{chunk-FXZ2MYKJ.js → chunk-MZ7HUCGJ.js} +20 -12
- package/dist/{chunk-S74DWJE2.cjs → chunk-OKG2HT25.cjs} +277 -88
- package/dist/{chunk-BGWGVINJ.cjs → chunk-PKEOQSSZ.cjs} +144 -110
- package/dist/{chunk-2GODRVT5.js → chunk-Q46ZURKX.js} +325 -48
- package/dist/{chunk-UR6JKS56.js → chunk-Q7IGWV3P.js} +41 -9
- package/dist/{chunk-XSNX2IUJ.js → chunk-RW4UG7CN.js} +121 -87
- package/dist/{chunk-DWK5ZQZ4.js → chunk-RZTLQAKF.js} +28 -8
- package/dist/{chunk-UNS34PTA.cjs → chunk-S6IPIN66.cjs} +44 -12
- package/dist/{chunk-YIG2C3LF.cjs → chunk-SDWRXXOO.cjs} +214 -126
- package/dist/{chunk-CEH7ESNC.js → chunk-SHMA4PBY.js} +121 -87
- package/dist/{chunk-MC7W6PMI.js → chunk-U3ZVLT5L.js} +483 -135
- package/dist/{chunk-VJUUZ4W2.cjs → chunk-UJU63EFY.cjs} +374 -97
- package/dist/{chunk-7L43FE6P.js → chunk-VOU7PNHI.js} +23 -1
- package/dist/{chunk-E6E3NQYU.js → chunk-WRHGCVYN.js} +44 -12
- package/dist/{chunk-FPISPJ5N.cjs → chunk-XNWYLVGU.cjs} +529 -181
- package/dist/{chunk-U3IPZYPX.js → chunk-XS77RBY7.js} +228 -39
- package/dist/{chunk-JGG7CMSZ.cjs → chunk-XZE5R57R.cjs} +144 -110
- package/dist/{chunk-77MNXX3M.js → chunk-Y6KCSM3V.js} +121 -87
- package/dist/{chunk-TLYNOOQP.cjs → chunk-YTPZZI2M.cjs} +41 -9
- package/dist/{chunk-7DUBLRXC.js → chunk-YWRCSQBA.js} +44 -12
- package/dist/{chunk-MRJWLGYH.js → chunk-Z3VKP3PJ.js} +69 -41
- package/dist/{chunk-E6P74GDT.js → chunk-Z6U26IRI.js} +464 -73
- package/dist/{codec-FvGCxIhr.d.ts → codec-25u4_1HS.d.ts} +4 -4
- package/dist/{codec-DRcsBCsb.d.ts → codec-3Ppy_5Gd.d.ts} +4 -4
- package/dist/{codec-BdVMRMOI.d.ts → codec-BB0U8MF2.d.cts} +4 -4
- package/dist/{codec-B2cH-f5V.d.cts → codec-BHHfBTnV.d.ts} +4 -4
- package/dist/{codec-B5K73Bdj.d.ts → codec-BN6jk0Td.d.cts} +4 -4
- package/dist/{codec-R8GrCPt2.d.ts → codec-BU0gaSZm.d.ts} +4 -4
- package/dist/{codec-Bq-tLtfP.d.ts → codec-C-Yk2RNa.d.ts} +4 -4
- package/dist/codec-CFWQY9Lj.d.cts +18 -0
- package/dist/{codec-CPlK3Pi5.d.ts → codec-COy4uuPO.d.cts} +4 -4
- package/dist/codec-CewFCsEy.d.ts +18 -0
- package/dist/{codec-KXHvXZVb.d.cts → codec-Ck7ZwFF1.d.cts} +4 -4
- package/dist/{codec-DZhZSIii.d.cts → codec-D2QVSH9D.d.ts} +4 -4
- package/dist/{codec-BwFgpeQu.d.ts → codec-DDUBJGn0.d.cts} +4 -4
- package/dist/{codec-BFeliJFc.d.ts → codec-DNfml-se.d.ts} +4 -4
- package/dist/{codec-C4n1PS09.d.cts → codec-DoOGjjDq.d.cts} +4 -4
- package/dist/{codec-Bap882Fh.d.cts → codec-J7ekOSMc.d.ts} +4 -4
- package/dist/{codec-SKBeHQk7.d.ts → codec-R9TJCq-E.d.cts} +4 -4
- package/dist/{codec-DNUIgLqc.d.cts → codec-ZwV-Njt6.d.ts} +4 -4
- package/dist/{codec-HgBgHkFI.d.cts → codec-j819z_hL.d.cts} +4 -4
- package/dist/{codec-DY4QH364.d.cts → codec-w8z2j_uo.d.cts} +4 -4
- package/dist/{codec-CPvPq0sb.d.cts → codec-wtt6WF1K.d.ts} +4 -4
- package/dist/{codec-BUMjz0J4.d.cts → codec-z6_2PSzi.d.cts} +4 -4
- package/dist/draft10-session.cjs +2 -2
- package/dist/draft10-session.d.cts +6 -6
- package/dist/draft10-session.d.ts +6 -6
- package/dist/draft10-session.js +1 -1
- package/dist/draft10.cjs +8 -5
- package/dist/draft10.d.cts +14 -12
- package/dist/draft10.d.ts +14 -12
- package/dist/draft10.js +16 -13
- package/dist/draft11-session.cjs +2 -2
- package/dist/draft11-session.d.cts +6 -6
- package/dist/draft11-session.d.ts +6 -6
- package/dist/draft11-session.js +1 -1
- package/dist/draft11.cjs +8 -5
- package/dist/draft11.d.cts +14 -12
- package/dist/draft11.d.ts +14 -12
- package/dist/draft11.js +16 -13
- package/dist/draft12-session.cjs +2 -2
- package/dist/draft12-session.d.cts +6 -6
- package/dist/draft12-session.d.ts +6 -6
- package/dist/draft12-session.js +1 -1
- package/dist/draft12.cjs +8 -5
- package/dist/draft12.d.cts +16 -14
- package/dist/draft12.d.ts +16 -14
- package/dist/draft12.js +16 -13
- package/dist/draft13-session.cjs +2 -2
- package/dist/draft13-session.d.cts +6 -6
- package/dist/draft13-session.d.ts +6 -6
- package/dist/draft13-session.js +1 -1
- package/dist/draft13.cjs +8 -5
- package/dist/draft13.d.cts +16 -14
- package/dist/draft13.d.ts +16 -14
- package/dist/draft13.js +16 -13
- package/dist/draft14-session.cjs +2 -2
- package/dist/draft14-session.d.cts +6 -6
- package/dist/draft14-session.d.ts +6 -6
- package/dist/draft14-session.js +1 -1
- package/dist/draft14.cjs +14 -5
- package/dist/draft14.d.cts +14 -12
- package/dist/draft14.d.ts +14 -12
- package/dist/draft14.js +13 -4
- package/dist/draft15-session.cjs +2 -2
- package/dist/draft15-session.d.cts +6 -6
- package/dist/draft15-session.d.ts +6 -6
- package/dist/draft15-session.js +1 -1
- package/dist/draft15.cjs +8 -5
- package/dist/draft15.d.cts +14 -12
- package/dist/draft15.d.ts +14 -12
- package/dist/draft15.js +16 -13
- package/dist/draft16-session.cjs +2 -2
- package/dist/draft16-session.d.cts +6 -6
- package/dist/draft16-session.d.ts +6 -6
- package/dist/draft16-session.js +1 -1
- package/dist/draft16.cjs +8 -5
- package/dist/draft16.d.cts +14 -12
- package/dist/draft16.d.ts +14 -12
- package/dist/draft16.js +16 -13
- package/dist/draft17-session.cjs +2 -2
- package/dist/draft17-session.d.cts +7 -7
- package/dist/draft17-session.d.ts +7 -7
- package/dist/draft17-session.js +1 -1
- package/dist/draft17.cjs +8 -5
- package/dist/draft17.d.cts +11 -9
- package/dist/draft17.d.ts +11 -9
- package/dist/draft17.js +16 -13
- package/dist/draft7-session.cjs +2 -2
- package/dist/draft7-session.d.cts +6 -5
- package/dist/draft7-session.d.ts +6 -5
- package/dist/draft7-session.js +1 -1
- package/dist/draft7.cjs +71 -14
- package/dist/draft7.d.cts +53 -134
- package/dist/draft7.d.ts +53 -134
- package/dist/draft7.js +76 -19
- package/dist/draft8-session.cjs +2 -2
- package/dist/draft8-session.d.cts +6 -6
- package/dist/draft8-session.d.ts +6 -6
- package/dist/draft8-session.js +1 -1
- package/dist/draft8.cjs +8 -5
- package/dist/draft8.d.cts +14 -12
- package/dist/draft8.d.ts +14 -12
- package/dist/draft8.js +7 -4
- package/dist/draft9-session.cjs +2 -2
- package/dist/draft9-session.d.cts +6 -6
- package/dist/draft9-session.d.ts +6 -6
- package/dist/draft9-session.js +1 -1
- package/dist/draft9.cjs +8 -5
- package/dist/draft9.d.cts +14 -12
- package/dist/draft9.d.ts +14 -12
- package/dist/draft9.js +7 -4
- package/dist/index.cjs +52 -74
- package/dist/index.d.cts +41 -60
- package/dist/index.d.ts +41 -60
- package/dist/index.js +40 -62
- package/dist/{session-types-CJIFbTPd.d.ts → session-types-C7UONex5.d.cts} +28 -27
- package/dist/{session-types-Cbq8IGCP.d.cts → session-types-X-IYEGoG.d.ts} +28 -27
- package/dist/session.cjs +46 -13
- package/dist/session.d.cts +28 -9
- package/dist/session.d.ts +28 -9
- package/dist/session.js +46 -13
- package/dist/{types-DxSFvL2b.d.cts → types--Q7_DcvP.d.cts} +43 -39
- package/dist/{types-DxSFvL2b.d.ts → types--Q7_DcvP.d.ts} +43 -39
- package/dist/{types-B0FT5Qs2.d.ts → types-0IWbU9Z_.d.cts} +36 -36
- package/dist/{types-B0FT5Qs2.d.cts → types-0IWbU9Z_.d.ts} +36 -36
- package/dist/{types-gQsr0AAA.d.cts → types-B3g5G9KP.d.cts} +36 -36
- package/dist/{types-gQsr0AAA.d.ts → types-B3g5G9KP.d.ts} +36 -36
- package/dist/{types-Pme7sua0.d.cts → types-BFpFNM_m.d.cts} +57 -32
- package/dist/{types-Pme7sua0.d.ts → types-BFpFNM_m.d.ts} +57 -32
- package/dist/{types-8gUGeMgs.d.ts → types-Br7fm2mf.d.cts} +48 -26
- package/dist/{types-8gUGeMgs.d.cts → types-Br7fm2mf.d.ts} +48 -26
- package/dist/{types-BeAVNU-F.d.cts → types-C2qKTRR_.d.cts} +50 -45
- package/dist/{types-BeAVNU-F.d.ts → types-C2qKTRR_.d.ts} +50 -45
- package/dist/{types-DKpsfD3i.d.cts → types-DEaypVsD.d.cts} +115 -55
- package/dist/{types-DKpsfD3i.d.ts → types-DEaypVsD.d.ts} +115 -55
- package/dist/types-Dl4IaAHR.d.cts +282 -0
- package/dist/types-Dl4IaAHR.d.ts +282 -0
- package/dist/{types-CDa7F5ct.d.cts → types-DrQpTW1G.d.cts} +58 -50
- package/dist/{types-CDa7F5ct.d.ts → types-DrQpTW1G.d.ts} +58 -50
- package/dist/types-DuIO7cWK.d.cts +25 -0
- package/dist/types-DuIO7cWK.d.ts +25 -0
- package/dist/{types-B9A2g05r.d.cts → types-DuxfOYiO.d.cts} +47 -31
- package/dist/{types-B9A2g05r.d.ts → types-DuxfOYiO.d.ts} +47 -31
- package/dist/{types-D1dI_oTX.d.cts → types-jV1yDDBA.d.cts} +36 -36
- package/dist/{types-D1dI_oTX.d.ts → types-jV1yDDBA.d.ts} +36 -36
- package/package.json +192 -192
- package/src/core/buffer-reader.ts +130 -130
- package/src/core/buffer-writer.ts +100 -100
- package/src/core/errors.ts +1 -1
- package/src/core/hex.ts +21 -21
- package/src/core/session-types.ts +61 -59
- package/src/core/types.ts +18 -361
- package/src/drafts/draft07/codec.ts +1058 -938
- package/src/drafts/draft07/data-streams.ts +240 -240
- package/src/drafts/draft07/index.ts +124 -89
- package/src/drafts/draft07/messages.ts +76 -42
- package/src/drafts/draft07/rules.ts +107 -101
- package/src/drafts/draft07/session-fsm.ts +315 -287
- package/src/drafts/draft07/session.ts +8 -6
- package/src/drafts/draft07/types.ts +406 -72
- package/src/drafts/draft07/varint.ts +51 -51
- package/src/drafts/draft08/codec.ts +985 -953
- package/src/drafts/draft08/data-streams.ts +363 -359
- package/src/drafts/draft08/index.ts +10 -9
- package/src/drafts/draft08/messages.ts +59 -59
- package/src/drafts/draft08/rules.ts +73 -73
- package/src/drafts/draft08/session-fsm.ts +335 -303
- package/src/drafts/draft08/session.ts +6 -7
- package/src/drafts/draft08/types.ts +380 -384
- package/src/drafts/draft09/codec.ts +977 -945
- package/src/drafts/draft09/data-streams.ts +336 -332
- package/src/drafts/draft09/index.ts +10 -9
- package/src/drafts/draft09/messages.ts +59 -59
- package/src/drafts/draft09/rules.ts +73 -73
- package/src/drafts/draft09/session-fsm.ts +335 -303
- package/src/drafts/draft09/session.ts +6 -7
- package/src/drafts/draft09/types.ts +380 -384
- package/src/drafts/draft10/codec.ts +977 -945
- package/src/drafts/draft10/data-streams.ts +336 -332
- package/src/drafts/draft10/index.ts +10 -9
- package/src/drafts/draft10/messages.ts +59 -59
- package/src/drafts/draft10/rules.ts +73 -73
- package/src/drafts/draft10/session-fsm.ts +335 -303
- package/src/drafts/draft10/session.ts +6 -7
- package/src/drafts/draft10/types.ts +380 -384
- package/src/drafts/draft11/codec.ts +1054 -988
- package/src/drafts/draft11/data-streams.ts +316 -269
- package/src/drafts/draft11/index.ts +10 -9
- package/src/drafts/draft11/messages.ts +60 -59
- package/src/drafts/draft11/rules.ts +73 -73
- package/src/drafts/draft11/session-fsm.ts +359 -333
- package/src/drafts/draft11/session.ts +6 -7
- package/src/drafts/draft11/types.ts +385 -381
- package/src/drafts/draft12/codec.ts +1178 -1122
- package/src/drafts/draft12/data-streams.ts +324 -275
- package/src/drafts/draft12/index.ts +10 -9
- package/src/drafts/draft12/messages.ts +67 -66
- package/src/drafts/draft12/rules.ts +79 -79
- package/src/drafts/draft12/session-fsm.ts +384 -358
- package/src/drafts/draft12/session.ts +6 -7
- package/src/drafts/draft12/types.ts +424 -419
- package/src/drafts/draft13/codec.ts +1296 -1206
- package/src/drafts/draft13/data-streams.ts +326 -275
- package/src/drafts/draft13/index.ts +10 -9
- package/src/drafts/draft13/messages.ts +73 -68
- package/src/drafts/draft13/rules.ts +81 -81
- package/src/drafts/draft13/session-fsm.ts +392 -366
- package/src/drafts/draft13/session.ts +6 -7
- package/src/drafts/draft13/types.ts +447 -438
- package/src/drafts/draft14/codec.ts +1347 -1043
- package/src/drafts/draft14/data-streams.ts +831 -813
- package/src/drafts/draft14/index.ts +17 -9
- package/src/drafts/draft14/messages.ts +65 -65
- package/src/drafts/draft14/rules.ts +81 -81
- package/src/drafts/draft14/session-fsm.ts +415 -405
- package/src/drafts/draft14/session.ts +6 -7
- package/src/drafts/draft14/types.ts +451 -381
- package/src/drafts/draft15/codec.ts +1138 -978
- package/src/drafts/draft15/data-streams.ts +842 -794
- package/src/drafts/draft15/index.ts +10 -9
- package/src/drafts/draft15/messages.ts +54 -53
- package/src/drafts/draft15/rules.ts +67 -67
- package/src/drafts/draft15/session-fsm.ts +319 -299
- package/src/drafts/draft15/session.ts +6 -7
- package/src/drafts/draft15/types.ts +357 -339
- package/src/drafts/draft16/codec.ts +1242 -966
- package/src/drafts/draft16/data-streams.ts +835 -789
- package/src/drafts/draft16/index.ts +10 -9
- package/src/drafts/draft16/messages.ts +56 -55
- package/src/drafts/draft16/rules.ts +69 -69
- package/src/drafts/draft16/session-fsm.ts +319 -299
- package/src/drafts/draft16/session.ts +6 -7
- package/src/drafts/draft16/types.ts +386 -357
- package/src/drafts/draft17/codec.ts +1209 -971
- package/src/drafts/draft17/data-streams.ts +969 -758
- package/src/drafts/draft17/index.ts +9 -7
- package/src/drafts/draft17/messages.ts +43 -42
- package/src/drafts/draft17/rules.ts +58 -58
- package/src/drafts/draft17/session-fsm.ts +248 -216
- package/src/drafts/draft17/session.ts +5 -5
- package/src/drafts/draft17/types.ts +337 -313
- package/src/index.ts +85 -274
- package/src/session.ts +62 -23
- package/dist/chunk-FZDIEHQL.cjs +0 -1042
- package/dist/chunk-HDWJ2GDE.js +0 -24
- package/dist/chunk-KNDYS3DK.cjs +0 -24
- package/dist/chunk-N2KBF5Q2.js +0 -1042
- package/dist/types-QNXoxC9Y.d.cts +0 -236
- package/dist/types-QNXoxC9Y.d.ts +0 -236
- package/src/drafts/draft07/announce-fsm.ts +0 -2
- package/src/drafts/draft07/parameters.ts +0 -12
- package/src/drafts/draft07/subscription-fsm.ts +0 -3
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var _chunkKNDYS3DKcjs = require('./chunk-KNDYS3DK.cjs');
|
|
5
4
|
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
var _chunkRUPCJTC3cjs = require('./chunk-RUPCJTC3.cjs');
|
|
7
|
+
var _chunkJL3NEW3Ocjs = require('./chunk-JL3NEW3O.cjs');
|
|
10
8
|
|
|
11
9
|
// src/drafts/draft15/messages.ts
|
|
12
10
|
var MSG_SUBSCRIBE_UPDATE = 0x02n;
|
|
@@ -34,6 +32,7 @@ var MSG_CLIENT_SETUP = 0x20n;
|
|
|
34
32
|
var MSG_SERVER_SETUP = 0x21n;
|
|
35
33
|
var SETUP_PARAM_PATH = 0x01n;
|
|
36
34
|
var SETUP_PARAM_MAX_REQUEST_ID = 0x02n;
|
|
35
|
+
var SETUP_PARAM_AUTHORIZATION_TOKEN = 0x03n;
|
|
37
36
|
var SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = 0x04n;
|
|
38
37
|
var SETUP_PARAM_AUTHORITY = 0x05n;
|
|
39
38
|
var SETUP_PARAM_MOQT_IMPLEMENTATION = 0x07n;
|
|
@@ -69,7 +68,7 @@ var MESSAGE_ID_MAP = new Map(
|
|
|
69
68
|
// src/drafts/draft15/data-streams.ts
|
|
70
69
|
var FETCH_STREAM_TYPE = 0x05n;
|
|
71
70
|
function encodeSubgroupStream(stream) {
|
|
72
|
-
const w = new (0,
|
|
71
|
+
const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
|
|
73
72
|
const streamType = stream.headerType;
|
|
74
73
|
w.writeVarInt(BigInt(streamType));
|
|
75
74
|
const extensionsPresent = (streamType & 1) !== 0;
|
|
@@ -102,17 +101,23 @@ function encodeSubgroupStream(stream) {
|
|
|
102
101
|
return w.finish();
|
|
103
102
|
}
|
|
104
103
|
function encodeDatagram(dg) {
|
|
105
|
-
const w = new (0,
|
|
104
|
+
const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
|
|
106
105
|
const dgType = dg.datagramType;
|
|
107
106
|
w.writeVarInt(BigInt(dgType));
|
|
108
107
|
w.writeVarInt(dg.trackAlias);
|
|
109
108
|
w.writeVarInt(dg.groupId);
|
|
109
|
+
const extensionsPresent = (dgType & 1) !== 0;
|
|
110
110
|
const objectIdAbsent = (dgType & 4) !== 0;
|
|
111
111
|
const isStatus = (dgType & 32) !== 0;
|
|
112
112
|
if (!objectIdAbsent) {
|
|
113
113
|
w.writeVarInt(dg.objectId);
|
|
114
114
|
}
|
|
115
115
|
w.writeUint8(dg.publisherPriority);
|
|
116
|
+
if (extensionsPresent) {
|
|
117
|
+
const extData = _nullishCoalesce(dg.extensionData, () => ( new Uint8Array(0)));
|
|
118
|
+
w.writeVarInt(BigInt(extData.length));
|
|
119
|
+
if (extData.length > 0) w.writeBytes(extData);
|
|
120
|
+
}
|
|
116
121
|
if (isStatus) {
|
|
117
122
|
w.writeVarInt(_nullishCoalesce(dg.objectStatus, () => ( 0n)));
|
|
118
123
|
} else {
|
|
@@ -121,7 +126,7 @@ function encodeDatagram(dg) {
|
|
|
121
126
|
return w.finish();
|
|
122
127
|
}
|
|
123
128
|
function encodeFetchStream(stream) {
|
|
124
|
-
const w = new (0,
|
|
129
|
+
const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
|
|
125
130
|
w.writeVarInt(FETCH_STREAM_TYPE);
|
|
126
131
|
w.writeVarInt(stream.requestId);
|
|
127
132
|
for (const obj of stream.objects) {
|
|
@@ -147,21 +152,21 @@ function encodeFetchStream(stream) {
|
|
|
147
152
|
}
|
|
148
153
|
function decodeSubgroupStream(bytes) {
|
|
149
154
|
try {
|
|
150
|
-
const r = new (0,
|
|
155
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
|
|
151
156
|
const streamType = Number(r.readVarInt());
|
|
152
|
-
if (!(streamType >= 16 && streamType <=
|
|
157
|
+
if (!(streamType >= 16 && streamType <= 23 || streamType >= 48 && streamType <= 55)) {
|
|
153
158
|
return {
|
|
154
159
|
ok: false,
|
|
155
|
-
error: new (0,
|
|
160
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
156
161
|
"CONSTRAINT_VIOLATION",
|
|
157
|
-
`Expected subgroup stream type 0x10-
|
|
162
|
+
`Expected subgroup stream type 0x10-0x17/0x30-0x37, got 0x${streamType.toString(16)}`,
|
|
158
163
|
0
|
|
159
164
|
)
|
|
160
165
|
};
|
|
161
166
|
}
|
|
162
167
|
const extensionsPresent = (streamType & 1) !== 0;
|
|
168
|
+
const endOfGroup = (streamType & 2) !== 0;
|
|
163
169
|
const hasSubgroupField = (streamType & 4) !== 0;
|
|
164
|
-
const subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
|
|
165
170
|
const hasPriority = streamType < 48;
|
|
166
171
|
const trackAlias = r.readVarInt();
|
|
167
172
|
const groupId = r.readVarInt();
|
|
@@ -182,9 +187,6 @@ function decodeSubgroupStream(bytes) {
|
|
|
182
187
|
let objectId;
|
|
183
188
|
if (firstObject) {
|
|
184
189
|
objectId = delta;
|
|
185
|
-
if (subgroupIsFirstObjId && firstObject) {
|
|
186
|
-
subgroupId = objectId;
|
|
187
|
-
}
|
|
188
190
|
firstObject = false;
|
|
189
191
|
} else {
|
|
190
192
|
objectId = prevObjectId + 1n + delta;
|
|
@@ -206,33 +208,44 @@ function decodeSubgroupStream(bytes) {
|
|
|
206
208
|
payloadByteOffset = r.offset;
|
|
207
209
|
payload = r.readBytesView(payloadLength);
|
|
208
210
|
}
|
|
209
|
-
const obj = {
|
|
211
|
+
const obj = {
|
|
212
|
+
type: "object",
|
|
213
|
+
byteOffset,
|
|
214
|
+
payloadByteOffset,
|
|
215
|
+
objectId,
|
|
216
|
+
payloadLength,
|
|
217
|
+
extensionData,
|
|
218
|
+
payload
|
|
219
|
+
};
|
|
210
220
|
if (status !== void 0) obj.status = status;
|
|
211
221
|
objects.push(obj);
|
|
212
222
|
prevObjectId = objectId;
|
|
213
223
|
}
|
|
224
|
+
const result = {
|
|
225
|
+
type: "subgroup",
|
|
226
|
+
headerType: streamType,
|
|
227
|
+
trackAlias,
|
|
228
|
+
groupId,
|
|
229
|
+
subgroupId,
|
|
230
|
+
publisherPriority,
|
|
231
|
+
objects
|
|
232
|
+
};
|
|
233
|
+
if (endOfGroup) result.endOfGroup = true;
|
|
214
234
|
return {
|
|
215
235
|
ok: true,
|
|
216
|
-
value:
|
|
217
|
-
type: "subgroup",
|
|
218
|
-
headerType: streamType,
|
|
219
|
-
trackAlias,
|
|
220
|
-
groupId,
|
|
221
|
-
subgroupId,
|
|
222
|
-
publisherPriority,
|
|
223
|
-
objects
|
|
224
|
-
},
|
|
236
|
+
value: result,
|
|
225
237
|
bytesRead: r.offset
|
|
226
238
|
};
|
|
227
239
|
} catch (e) {
|
|
228
|
-
if (e instanceof
|
|
240
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
|
|
229
241
|
throw e;
|
|
230
242
|
}
|
|
231
243
|
}
|
|
232
244
|
function decodeDatagram(bytes) {
|
|
233
245
|
try {
|
|
234
|
-
const r = new (0,
|
|
246
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
|
|
235
247
|
const dgType = Number(r.readVarInt());
|
|
248
|
+
const extensionsPresent = (dgType & 1) !== 0;
|
|
236
249
|
const objectIdAbsent = (dgType & 4) !== 0;
|
|
237
250
|
const endOfGroup = (dgType & 2) !== 0;
|
|
238
251
|
const isStatus = (dgType & 32) !== 0;
|
|
@@ -243,6 +256,11 @@ function decodeDatagram(bytes) {
|
|
|
243
256
|
objectId = r.readVarInt();
|
|
244
257
|
}
|
|
245
258
|
const publisherPriority = r.readUint8();
|
|
259
|
+
let extensionData;
|
|
260
|
+
if (extensionsPresent) {
|
|
261
|
+
const extLen = Number(r.readVarInt());
|
|
262
|
+
extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
|
|
263
|
+
}
|
|
246
264
|
let objectStatus;
|
|
247
265
|
let payload;
|
|
248
266
|
if (isStatus) {
|
|
@@ -265,20 +283,22 @@ function decodeDatagram(bytes) {
|
|
|
265
283
|
if (endOfGroup) result.endOfGroup = true;
|
|
266
284
|
if (objectStatus !== void 0)
|
|
267
285
|
result.objectStatus = objectStatus;
|
|
286
|
+
if (extensionData !== void 0)
|
|
287
|
+
result.extensionData = extensionData;
|
|
268
288
|
return { ok: true, value: result, bytesRead: r.offset };
|
|
269
289
|
} catch (e) {
|
|
270
|
-
if (e instanceof
|
|
290
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
|
|
271
291
|
throw e;
|
|
272
292
|
}
|
|
273
293
|
}
|
|
274
294
|
function decodeFetchStream(bytes) {
|
|
275
295
|
try {
|
|
276
|
-
const r = new (0,
|
|
296
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
|
|
277
297
|
const streamType = r.readVarInt();
|
|
278
298
|
if (streamType !== FETCH_STREAM_TYPE) {
|
|
279
299
|
return {
|
|
280
300
|
ok: false,
|
|
281
|
-
error: new (0,
|
|
301
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
282
302
|
"CONSTRAINT_VIOLATION",
|
|
283
303
|
`Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
|
|
284
304
|
0
|
|
@@ -303,7 +323,7 @@ function decodeFetchStream(bytes) {
|
|
|
303
323
|
if (flags & 192) {
|
|
304
324
|
return {
|
|
305
325
|
ok: false,
|
|
306
|
-
error: new (0,
|
|
326
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
307
327
|
"CONSTRAINT_VIOLATION",
|
|
308
328
|
"Reserved bits set in fetch object flags",
|
|
309
329
|
r.offset
|
|
@@ -316,7 +336,7 @@ function decodeFetchStream(bytes) {
|
|
|
316
336
|
} else if (first) {
|
|
317
337
|
return {
|
|
318
338
|
ok: false,
|
|
319
|
-
error: new (0,
|
|
339
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
320
340
|
"CONSTRAINT_VIOLATION",
|
|
321
341
|
"First fetch object must include groupId",
|
|
322
342
|
r.offset
|
|
@@ -330,7 +350,7 @@ function decodeFetchStream(bytes) {
|
|
|
330
350
|
if (first) {
|
|
331
351
|
return {
|
|
332
352
|
ok: false,
|
|
333
|
-
error: new (0,
|
|
353
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
334
354
|
"CONSTRAINT_VIOLATION",
|
|
335
355
|
"First fetch object cannot reference prior subgroupId",
|
|
336
356
|
r.offset
|
|
@@ -342,7 +362,7 @@ function decodeFetchStream(bytes) {
|
|
|
342
362
|
if (first) {
|
|
343
363
|
return {
|
|
344
364
|
ok: false,
|
|
345
|
-
error: new (0,
|
|
365
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
346
366
|
"CONSTRAINT_VIOLATION",
|
|
347
367
|
"First fetch object cannot reference prior subgroupId",
|
|
348
368
|
r.offset
|
|
@@ -359,7 +379,7 @@ function decodeFetchStream(bytes) {
|
|
|
359
379
|
} else if (first) {
|
|
360
380
|
return {
|
|
361
381
|
ok: false,
|
|
362
|
-
error: new (0,
|
|
382
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
363
383
|
"CONSTRAINT_VIOLATION",
|
|
364
384
|
"First fetch object must include objectId",
|
|
365
385
|
r.offset
|
|
@@ -412,7 +432,7 @@ function decodeFetchStream(bytes) {
|
|
|
412
432
|
bytesRead: r.offset
|
|
413
433
|
};
|
|
414
434
|
} catch (e) {
|
|
415
|
-
if (e instanceof
|
|
435
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
|
|
416
436
|
throw e;
|
|
417
437
|
}
|
|
418
438
|
}
|
|
@@ -450,11 +470,11 @@ function createSubgroupStreamDecoder() {
|
|
|
450
470
|
buffer = newBuffer;
|
|
451
471
|
if (!headerEmitted) {
|
|
452
472
|
try {
|
|
453
|
-
const r = new (0,
|
|
473
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
|
|
454
474
|
const streamType = Number(r.readVarInt());
|
|
455
|
-
if (!(streamType >= 16 && streamType <=
|
|
475
|
+
if (!(streamType >= 16 && streamType <= 23 || streamType >= 48 && streamType <= 55)) {
|
|
456
476
|
controller.error(
|
|
457
|
-
new (0,
|
|
477
|
+
new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
458
478
|
"CONSTRAINT_VIOLATION",
|
|
459
479
|
`Expected subgroup stream type, got 0x${streamType.toString(16)}`,
|
|
460
480
|
0
|
|
@@ -464,7 +484,7 @@ function createSubgroupStreamDecoder() {
|
|
|
464
484
|
}
|
|
465
485
|
_extensionsPresent = (streamType & 1) !== 0;
|
|
466
486
|
const hasSubgroupField = (streamType & 4) !== 0;
|
|
467
|
-
_subgroupIsFirstObjId =
|
|
487
|
+
_subgroupIsFirstObjId = false;
|
|
468
488
|
const hasPriority = streamType < 48;
|
|
469
489
|
const trackAlias = r.readVarInt();
|
|
470
490
|
const groupId = r.readVarInt();
|
|
@@ -486,7 +506,7 @@ function createSubgroupStreamDecoder() {
|
|
|
486
506
|
headerEmitted = true;
|
|
487
507
|
offset += r.offset;
|
|
488
508
|
} catch (e) {
|
|
489
|
-
if (e instanceof
|
|
509
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
490
510
|
return;
|
|
491
511
|
}
|
|
492
512
|
controller.error(e);
|
|
@@ -495,7 +515,7 @@ function createSubgroupStreamDecoder() {
|
|
|
495
515
|
}
|
|
496
516
|
while (offset < buffer.length) {
|
|
497
517
|
try {
|
|
498
|
-
const r = new (0,
|
|
518
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
|
|
499
519
|
const byteOffset = r.offset;
|
|
500
520
|
const delta = r.readVarInt();
|
|
501
521
|
let objectId;
|
|
@@ -513,11 +533,19 @@ function createSubgroupStreamDecoder() {
|
|
|
513
533
|
const payloadLength = Number(r.readVarInt());
|
|
514
534
|
const payloadByteOffset = r.offset;
|
|
515
535
|
const payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
|
|
516
|
-
controller.enqueue({
|
|
536
|
+
controller.enqueue({
|
|
537
|
+
type: "object",
|
|
538
|
+
byteOffset,
|
|
539
|
+
payloadByteOffset,
|
|
540
|
+
objectId,
|
|
541
|
+
payloadLength,
|
|
542
|
+
extensionData,
|
|
543
|
+
payload
|
|
544
|
+
});
|
|
517
545
|
offset += r.offset;
|
|
518
546
|
prevObjectId = objectId;
|
|
519
547
|
} catch (e) {
|
|
520
|
-
if (e instanceof
|
|
548
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
521
549
|
break;
|
|
522
550
|
}
|
|
523
551
|
controller.error(e);
|
|
@@ -527,7 +555,7 @@ function createSubgroupStreamDecoder() {
|
|
|
527
555
|
},
|
|
528
556
|
flush(controller) {
|
|
529
557
|
if (offset < buffer.length) {
|
|
530
|
-
controller.error(new (0,
|
|
558
|
+
controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
|
|
531
559
|
}
|
|
532
560
|
}
|
|
533
561
|
});
|
|
@@ -548,11 +576,11 @@ function createFetchStreamDecoder() {
|
|
|
548
576
|
buffer = newBuffer;
|
|
549
577
|
if (!headerEmitted) {
|
|
550
578
|
try {
|
|
551
|
-
const r = new (0,
|
|
579
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
|
|
552
580
|
const streamType = r.readVarInt();
|
|
553
581
|
if (streamType !== FETCH_STREAM_TYPE) {
|
|
554
582
|
controller.error(
|
|
555
|
-
new (0,
|
|
583
|
+
new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
556
584
|
"CONSTRAINT_VIOLATION",
|
|
557
585
|
`Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
|
|
558
586
|
0
|
|
@@ -565,7 +593,7 @@ function createFetchStreamDecoder() {
|
|
|
565
593
|
headerEmitted = true;
|
|
566
594
|
offset += r.offset;
|
|
567
595
|
} catch (e) {
|
|
568
|
-
if (e instanceof
|
|
596
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
569
597
|
return;
|
|
570
598
|
}
|
|
571
599
|
controller.error(e);
|
|
@@ -574,7 +602,7 @@ function createFetchStreamDecoder() {
|
|
|
574
602
|
}
|
|
575
603
|
while (offset < buffer.length) {
|
|
576
604
|
try {
|
|
577
|
-
const r = new (0,
|
|
605
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
|
|
578
606
|
const flags = r.readUint8();
|
|
579
607
|
const objectIdPresent = (flags & 4) !== 0;
|
|
580
608
|
const groupIdPresent = (flags & 8) !== 0;
|
|
@@ -594,10 +622,18 @@ function createFetchStreamDecoder() {
|
|
|
594
622
|
const payloadLength = Number(r.readVarInt());
|
|
595
623
|
const payloadByteOffset = r.offset;
|
|
596
624
|
const payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
|
|
597
|
-
controller.enqueue({
|
|
625
|
+
controller.enqueue({
|
|
626
|
+
type: "object",
|
|
627
|
+
objectId,
|
|
628
|
+
payloadLength,
|
|
629
|
+
extensionData,
|
|
630
|
+
payload,
|
|
631
|
+
byteOffset: 0,
|
|
632
|
+
payloadByteOffset
|
|
633
|
+
});
|
|
598
634
|
offset += r.offset;
|
|
599
635
|
} catch (e) {
|
|
600
|
-
if (e instanceof
|
|
636
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
601
637
|
break;
|
|
602
638
|
}
|
|
603
639
|
controller.error(e);
|
|
@@ -607,7 +643,7 @@ function createFetchStreamDecoder() {
|
|
|
607
643
|
},
|
|
608
644
|
flush(controller) {
|
|
609
645
|
if (offset < buffer.length) {
|
|
610
|
-
controller.error(new (0,
|
|
646
|
+
controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
|
|
611
647
|
}
|
|
612
648
|
}
|
|
613
649
|
});
|
|
@@ -631,7 +667,7 @@ function createDataStreamDecoder() {
|
|
|
631
667
|
if (inner === null) {
|
|
632
668
|
if (offset >= buffer.length) return;
|
|
633
669
|
const firstByte = buffer[offset];
|
|
634
|
-
if (firstByte >= 16 && firstByte <=
|
|
670
|
+
if (firstByte >= 16 && firstByte <= 23 || firstByte >= 48 && firstByte <= 55) {
|
|
635
671
|
const decoder = createSubgroupStreamDecoder();
|
|
636
672
|
inner = decoder;
|
|
637
673
|
} else if (firstByte === 5) {
|
|
@@ -639,7 +675,7 @@ function createDataStreamDecoder() {
|
|
|
639
675
|
inner = decoder;
|
|
640
676
|
} else {
|
|
641
677
|
controller.error(
|
|
642
|
-
new (0,
|
|
678
|
+
new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
643
679
|
"CONSTRAINT_VIOLATION",
|
|
644
680
|
`Unknown data stream type: 0x${firstByte.toString(16)}`,
|
|
645
681
|
0
|
|
@@ -654,13 +690,13 @@ function createDataStreamDecoder() {
|
|
|
654
690
|
const view = buffer.subarray(offset);
|
|
655
691
|
const firstByte = view[0];
|
|
656
692
|
let result;
|
|
657
|
-
if (firstByte >= 16 && firstByte <=
|
|
693
|
+
if (firstByte >= 16 && firstByte <= 23 || firstByte >= 48 && firstByte <= 55) {
|
|
658
694
|
result = decodeSubgroupStream(view);
|
|
659
695
|
} else if (firstByte === 5) {
|
|
660
696
|
result = decodeFetchStream(view);
|
|
661
697
|
} else {
|
|
662
698
|
controller.error(
|
|
663
|
-
new (0,
|
|
699
|
+
new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
664
700
|
"CONSTRAINT_VIOLATION",
|
|
665
701
|
`Unknown data stream type: 0x${firstByte.toString(16)}`,
|
|
666
702
|
0
|
|
@@ -704,6 +740,7 @@ function encodeSetupParams(params, writer) {
|
|
|
704
740
|
let count = 0;
|
|
705
741
|
if (params.path !== void 0) count++;
|
|
706
742
|
if (params.max_request_id !== void 0) count++;
|
|
743
|
+
if (params.authorization_token !== void 0) count++;
|
|
707
744
|
if (params.max_auth_token_cache_size !== void 0) count++;
|
|
708
745
|
if (params.authority !== void 0) count++;
|
|
709
746
|
if (params.moqt_implementation !== void 0) count++;
|
|
@@ -719,6 +756,14 @@ function encodeSetupParams(params, writer) {
|
|
|
719
756
|
writer.writeVarInt(SETUP_PARAM_MAX_REQUEST_ID);
|
|
720
757
|
writer.writeVarInt(params.max_request_id);
|
|
721
758
|
}
|
|
759
|
+
if (params.authorization_token !== void 0) {
|
|
760
|
+
writer.writeVarInt(SETUP_PARAM_AUTHORIZATION_TOKEN);
|
|
761
|
+
const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(64);
|
|
762
|
+
encodeAuthorizationToken(params.authorization_token, tmpW);
|
|
763
|
+
const raw = tmpW.finish();
|
|
764
|
+
writer.writeVarInt(raw.byteLength);
|
|
765
|
+
writer.writeBytes(raw);
|
|
766
|
+
}
|
|
722
767
|
if (params.max_auth_token_cache_size !== void 0) {
|
|
723
768
|
writer.writeVarInt(SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE);
|
|
724
769
|
writer.writeVarInt(params.max_auth_token_cache_size);
|
|
@@ -740,12 +785,12 @@ function encodeSetupParams(params, writer) {
|
|
|
740
785
|
const id = BigInt(u.id);
|
|
741
786
|
writer.writeVarInt(id);
|
|
742
787
|
if (id % 2n === 0n) {
|
|
743
|
-
const raw =
|
|
744
|
-
const tmpReader = new (0,
|
|
788
|
+
const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
|
|
789
|
+
const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(raw);
|
|
745
790
|
const value = tmpReader.readVarInt();
|
|
746
791
|
writer.writeVarInt(value);
|
|
747
792
|
} else {
|
|
748
|
-
const raw =
|
|
793
|
+
const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
|
|
749
794
|
writer.writeVarInt(raw.byteLength);
|
|
750
795
|
writer.writeBytes(raw);
|
|
751
796
|
}
|
|
@@ -765,13 +810,13 @@ function decodeSetupParams(reader) {
|
|
|
765
810
|
} else if (paramType === SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE) {
|
|
766
811
|
result.max_auth_token_cache_size = value;
|
|
767
812
|
} else {
|
|
768
|
-
const tmpWriter = new (0,
|
|
813
|
+
const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
|
|
769
814
|
tmpWriter.writeVarInt(value);
|
|
770
815
|
const raw = tmpWriter.finish();
|
|
771
816
|
unknown.push({
|
|
772
817
|
id: `0x${paramType.toString(16)}`,
|
|
773
818
|
length: raw.byteLength,
|
|
774
|
-
raw_hex:
|
|
819
|
+
raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
|
|
775
820
|
});
|
|
776
821
|
}
|
|
777
822
|
} else {
|
|
@@ -779,6 +824,8 @@ function decodeSetupParams(reader) {
|
|
|
779
824
|
const bytes = reader.readBytes(length);
|
|
780
825
|
if (paramType === SETUP_PARAM_PATH) {
|
|
781
826
|
result.path = textDecoder.decode(bytes);
|
|
827
|
+
} else if (paramType === SETUP_PARAM_AUTHORIZATION_TOKEN) {
|
|
828
|
+
result.authorization_token = decodeAuthorizationToken(new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes));
|
|
782
829
|
} else if (paramType === SETUP_PARAM_AUTHORITY) {
|
|
783
830
|
result.authority = textDecoder.decode(bytes);
|
|
784
831
|
} else if (paramType === SETUP_PARAM_MOQT_IMPLEMENTATION) {
|
|
@@ -787,7 +834,7 @@ function decodeSetupParams(reader) {
|
|
|
787
834
|
unknown.push({
|
|
788
835
|
id: `0x${paramType.toString(16)}`,
|
|
789
836
|
length,
|
|
790
|
-
raw_hex:
|
|
837
|
+
raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
|
|
791
838
|
});
|
|
792
839
|
}
|
|
793
840
|
}
|
|
@@ -797,39 +844,103 @@ function decodeSetupParams(reader) {
|
|
|
797
844
|
}
|
|
798
845
|
return result;
|
|
799
846
|
}
|
|
847
|
+
function encodeAuthorizationToken(token, w) {
|
|
848
|
+
w.writeVarInt(token.alias_type);
|
|
849
|
+
const aliasType = Number(token.alias_type);
|
|
850
|
+
if (aliasType === 0 || aliasType === 1) {
|
|
851
|
+
w.writeVarInt(token.token_alias);
|
|
852
|
+
}
|
|
853
|
+
if (aliasType === 1 || aliasType === 3) {
|
|
854
|
+
w.writeVarInt(token.token_type);
|
|
855
|
+
const tokenBytes = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, token.token_value_hex);
|
|
856
|
+
w.writeBytes(tokenBytes);
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
function decodeAuthorizationToken(r) {
|
|
860
|
+
const alias_type = r.readVarInt();
|
|
861
|
+
const aliasType = Number(alias_type);
|
|
862
|
+
const result = { alias_type };
|
|
863
|
+
if (aliasType === 0 || aliasType === 1) {
|
|
864
|
+
result.token_alias = r.readVarInt();
|
|
865
|
+
}
|
|
866
|
+
if (aliasType === 1 || aliasType === 3) {
|
|
867
|
+
result.token_type = r.readVarInt();
|
|
868
|
+
const tokenBytes = r.readBytesView(r.remaining);
|
|
869
|
+
result.token_value_hex = _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, tokenBytes);
|
|
870
|
+
}
|
|
871
|
+
return result;
|
|
872
|
+
}
|
|
873
|
+
var PARAM_DELIVERY_TIMEOUT = 0x02n;
|
|
874
|
+
var PARAM_AUTHORIZATION_TOKEN = 0x03n;
|
|
875
|
+
var PARAM_MAX_CACHE_DURATION = 0x04n;
|
|
800
876
|
var PARAM_EXPIRES = 0x08n;
|
|
801
877
|
var PARAM_LARGEST_OBJECT = 0x09n;
|
|
878
|
+
var PARAM_PUBLISHER_PRIORITY = 0x0en;
|
|
879
|
+
var PARAM_FORWARD = 0x10n;
|
|
802
880
|
var PARAM_SUBSCRIBER_PRIORITY = 0x20n;
|
|
803
881
|
var PARAM_SUBSCRIPTION_FILTER = 0x21n;
|
|
804
882
|
var PARAM_GROUP_ORDER = 0x22n;
|
|
883
|
+
var PARAM_DYNAMIC_GROUPS = 0x30n;
|
|
884
|
+
var PARAM_NEW_GROUP_REQUEST = 0x32n;
|
|
805
885
|
function encodeParams(params, writer) {
|
|
806
886
|
let count = params.unknown ? params.unknown.length : 0;
|
|
887
|
+
if (params.delivery_timeout !== void 0) count++;
|
|
888
|
+
if (params.authorization_token !== void 0) count++;
|
|
889
|
+
if (params.max_cache_duration !== void 0) count++;
|
|
807
890
|
if (params.expires !== void 0) count++;
|
|
808
891
|
if (params.largest_object !== void 0) count++;
|
|
892
|
+
if (params.publisher_priority !== void 0) count++;
|
|
893
|
+
if (params.forward !== void 0) count++;
|
|
809
894
|
if (params.subscriber_priority !== void 0) count++;
|
|
810
895
|
if (params.subscription_filter !== void 0) count++;
|
|
811
896
|
if (params.group_order !== void 0) count++;
|
|
897
|
+
if (params.dynamic_groups !== void 0) count++;
|
|
898
|
+
if (params.new_group_request !== void 0) count++;
|
|
812
899
|
writer.writeVarInt(count);
|
|
900
|
+
if (params.delivery_timeout !== void 0) {
|
|
901
|
+
writer.writeVarInt(PARAM_DELIVERY_TIMEOUT);
|
|
902
|
+
writer.writeVarInt(params.delivery_timeout);
|
|
903
|
+
}
|
|
904
|
+
if (params.authorization_token !== void 0) {
|
|
905
|
+
writer.writeVarInt(PARAM_AUTHORIZATION_TOKEN);
|
|
906
|
+
const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(64);
|
|
907
|
+
encodeAuthorizationToken(params.authorization_token, tmpW);
|
|
908
|
+
const raw = tmpW.finish();
|
|
909
|
+
writer.writeVarInt(raw.byteLength);
|
|
910
|
+
writer.writeBytes(raw);
|
|
911
|
+
}
|
|
912
|
+
if (params.max_cache_duration !== void 0) {
|
|
913
|
+
writer.writeVarInt(PARAM_MAX_CACHE_DURATION);
|
|
914
|
+
writer.writeVarInt(params.max_cache_duration);
|
|
915
|
+
}
|
|
813
916
|
if (params.expires !== void 0) {
|
|
814
917
|
writer.writeVarInt(PARAM_EXPIRES);
|
|
815
918
|
writer.writeVarInt(params.expires);
|
|
816
919
|
}
|
|
817
920
|
if (params.largest_object !== void 0) {
|
|
818
921
|
writer.writeVarInt(PARAM_LARGEST_OBJECT);
|
|
819
|
-
const tmpW = new (0,
|
|
922
|
+
const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
|
|
820
923
|
tmpW.writeVarInt(params.largest_object.group);
|
|
821
924
|
tmpW.writeVarInt(params.largest_object.object);
|
|
822
925
|
const raw = tmpW.finish();
|
|
823
926
|
writer.writeVarInt(raw.byteLength);
|
|
824
927
|
writer.writeBytes(raw);
|
|
825
928
|
}
|
|
929
|
+
if (params.publisher_priority !== void 0) {
|
|
930
|
+
writer.writeVarInt(PARAM_PUBLISHER_PRIORITY);
|
|
931
|
+
writer.writeVarInt(params.publisher_priority);
|
|
932
|
+
}
|
|
933
|
+
if (params.forward !== void 0) {
|
|
934
|
+
writer.writeVarInt(PARAM_FORWARD);
|
|
935
|
+
writer.writeVarInt(params.forward);
|
|
936
|
+
}
|
|
826
937
|
if (params.subscriber_priority !== void 0) {
|
|
827
938
|
writer.writeVarInt(PARAM_SUBSCRIBER_PRIORITY);
|
|
828
939
|
writer.writeVarInt(params.subscriber_priority);
|
|
829
940
|
}
|
|
830
941
|
if (params.subscription_filter !== void 0) {
|
|
831
942
|
writer.writeVarInt(PARAM_SUBSCRIPTION_FILTER);
|
|
832
|
-
const tmpW = new (0,
|
|
943
|
+
const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(32);
|
|
833
944
|
const f = params.subscription_filter;
|
|
834
945
|
tmpW.writeVarInt(f.filter_type);
|
|
835
946
|
if (f.filter_type === 3n || f.filter_type === 4n) {
|
|
@@ -847,17 +958,25 @@ function encodeParams(params, writer) {
|
|
|
847
958
|
writer.writeVarInt(PARAM_GROUP_ORDER);
|
|
848
959
|
writer.writeVarInt(params.group_order);
|
|
849
960
|
}
|
|
961
|
+
if (params.dynamic_groups !== void 0) {
|
|
962
|
+
writer.writeVarInt(PARAM_DYNAMIC_GROUPS);
|
|
963
|
+
writer.writeVarInt(params.dynamic_groups);
|
|
964
|
+
}
|
|
965
|
+
if (params.new_group_request !== void 0) {
|
|
966
|
+
writer.writeVarInt(PARAM_NEW_GROUP_REQUEST);
|
|
967
|
+
writer.writeVarInt(params.new_group_request);
|
|
968
|
+
}
|
|
850
969
|
if (params.unknown) {
|
|
851
970
|
for (const u of params.unknown) {
|
|
852
971
|
const id = BigInt(u.id);
|
|
853
972
|
writer.writeVarInt(id);
|
|
854
973
|
if (id % 2n === 0n) {
|
|
855
|
-
const raw =
|
|
856
|
-
const tmpReader = new (0,
|
|
974
|
+
const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
|
|
975
|
+
const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(raw);
|
|
857
976
|
const value = tmpReader.readVarInt();
|
|
858
977
|
writer.writeVarInt(value);
|
|
859
978
|
} else {
|
|
860
|
-
const raw =
|
|
979
|
+
const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
|
|
861
980
|
writer.writeVarInt(raw.byteLength);
|
|
862
981
|
writer.writeBytes(raw);
|
|
863
982
|
}
|
|
@@ -870,12 +989,28 @@ function decodeParams(reader) {
|
|
|
870
989
|
const unknown = [];
|
|
871
990
|
for (let i = 0; i < count; i++) {
|
|
872
991
|
const paramType = reader.readVarInt();
|
|
873
|
-
if (paramType ===
|
|
992
|
+
if (paramType === PARAM_DELIVERY_TIMEOUT) {
|
|
993
|
+
result.delivery_timeout = reader.readVarInt();
|
|
994
|
+
} else if (paramType === PARAM_AUTHORIZATION_TOKEN) {
|
|
995
|
+
const length = Number(reader.readVarInt());
|
|
996
|
+
const tokenBytes = reader.readBytes(length);
|
|
997
|
+
result.authorization_token = decodeAuthorizationToken(new (0, _chunkJL3NEW3Ocjs.BufferReader)(tokenBytes));
|
|
998
|
+
} else if (paramType === PARAM_MAX_CACHE_DURATION) {
|
|
999
|
+
result.max_cache_duration = reader.readVarInt();
|
|
1000
|
+
} else if (paramType === PARAM_EXPIRES) {
|
|
874
1001
|
result.expires = reader.readVarInt();
|
|
1002
|
+
} else if (paramType === PARAM_PUBLISHER_PRIORITY) {
|
|
1003
|
+
result.publisher_priority = reader.readVarInt();
|
|
1004
|
+
} else if (paramType === PARAM_FORWARD) {
|
|
1005
|
+
result.forward = reader.readVarInt();
|
|
875
1006
|
} else if (paramType === PARAM_SUBSCRIBER_PRIORITY) {
|
|
876
1007
|
result.subscriber_priority = reader.readVarInt();
|
|
877
1008
|
} else if (paramType === PARAM_GROUP_ORDER) {
|
|
878
1009
|
result.group_order = reader.readVarInt();
|
|
1010
|
+
} else if (paramType === PARAM_DYNAMIC_GROUPS) {
|
|
1011
|
+
result.dynamic_groups = reader.readVarInt();
|
|
1012
|
+
} else if (paramType === PARAM_NEW_GROUP_REQUEST) {
|
|
1013
|
+
result.new_group_request = reader.readVarInt();
|
|
879
1014
|
} else if (paramType === PARAM_LARGEST_OBJECT) {
|
|
880
1015
|
const length = Number(reader.readVarInt());
|
|
881
1016
|
const startOff = reader.offset;
|
|
@@ -901,13 +1036,13 @@ function decodeParams(reader) {
|
|
|
901
1036
|
result.subscription_filter = filter;
|
|
902
1037
|
} else if (paramType % 2n === 0n) {
|
|
903
1038
|
const value = reader.readVarInt();
|
|
904
|
-
const tmpWriter = new (0,
|
|
1039
|
+
const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
|
|
905
1040
|
tmpWriter.writeVarInt(value);
|
|
906
1041
|
const raw = tmpWriter.finish();
|
|
907
1042
|
unknown.push({
|
|
908
1043
|
id: `0x${paramType.toString(16)}`,
|
|
909
1044
|
length: raw.byteLength,
|
|
910
|
-
raw_hex:
|
|
1045
|
+
raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
|
|
911
1046
|
});
|
|
912
1047
|
} else {
|
|
913
1048
|
const length = Number(reader.readVarInt());
|
|
@@ -915,7 +1050,7 @@ function decodeParams(reader) {
|
|
|
915
1050
|
unknown.push({
|
|
916
1051
|
id: `0x${paramType.toString(16)}`,
|
|
917
1052
|
length,
|
|
918
|
-
raw_hex:
|
|
1053
|
+
raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
|
|
919
1054
|
});
|
|
920
1055
|
}
|
|
921
1056
|
}
|
|
@@ -1051,7 +1186,13 @@ function decodeSubscribePayload(r) {
|
|
|
1051
1186
|
const track_namespace = r.readTuple();
|
|
1052
1187
|
const track_name = r.readString();
|
|
1053
1188
|
const parameters = decodeParams(r);
|
|
1054
|
-
return {
|
|
1189
|
+
return {
|
|
1190
|
+
type: "subscribe",
|
|
1191
|
+
request_id,
|
|
1192
|
+
track_namespace,
|
|
1193
|
+
track_name,
|
|
1194
|
+
parameters
|
|
1195
|
+
};
|
|
1055
1196
|
}
|
|
1056
1197
|
function decodeSubscribeOkPayload(r) {
|
|
1057
1198
|
const request_id = r.readVarInt();
|
|
@@ -1063,7 +1204,12 @@ function decodeSubscribeUpdatePayload(r) {
|
|
|
1063
1204
|
const request_id = r.readVarInt();
|
|
1064
1205
|
const subscription_request_id = r.readVarInt();
|
|
1065
1206
|
const parameters = decodeParams(r);
|
|
1066
|
-
return {
|
|
1207
|
+
return {
|
|
1208
|
+
type: "subscribe_update",
|
|
1209
|
+
request_id,
|
|
1210
|
+
subscription_request_id,
|
|
1211
|
+
parameters
|
|
1212
|
+
};
|
|
1067
1213
|
}
|
|
1068
1214
|
function decodeUnsubscribePayload(r) {
|
|
1069
1215
|
const request_id = r.readVarInt();
|
|
@@ -1075,7 +1221,14 @@ function decodePublishPayload(r) {
|
|
|
1075
1221
|
const track_name = r.readString();
|
|
1076
1222
|
const track_alias = r.readVarInt();
|
|
1077
1223
|
const parameters = decodeParams(r);
|
|
1078
|
-
return {
|
|
1224
|
+
return {
|
|
1225
|
+
type: "publish",
|
|
1226
|
+
request_id,
|
|
1227
|
+
track_namespace,
|
|
1228
|
+
track_name,
|
|
1229
|
+
track_alias,
|
|
1230
|
+
parameters
|
|
1231
|
+
};
|
|
1079
1232
|
}
|
|
1080
1233
|
function decodePublishOkPayload(r) {
|
|
1081
1234
|
const request_id = r.readVarInt();
|
|
@@ -1087,7 +1240,13 @@ function decodePublishDonePayload(r) {
|
|
|
1087
1240
|
const status_code = r.readVarInt();
|
|
1088
1241
|
const stream_count = r.readVarInt();
|
|
1089
1242
|
const reason_phrase = r.readString();
|
|
1090
|
-
return {
|
|
1243
|
+
return {
|
|
1244
|
+
type: "publish_done",
|
|
1245
|
+
request_id,
|
|
1246
|
+
status_code,
|
|
1247
|
+
stream_count,
|
|
1248
|
+
reason_phrase
|
|
1249
|
+
};
|
|
1091
1250
|
}
|
|
1092
1251
|
function decodePublishNamespacePayload(r) {
|
|
1093
1252
|
const request_id = r.readVarInt();
|
|
@@ -1103,13 +1262,23 @@ function decodePublishNamespaceCancelPayload(r) {
|
|
|
1103
1262
|
const track_namespace = r.readTuple();
|
|
1104
1263
|
const error_code = r.readVarInt();
|
|
1105
1264
|
const reason_phrase = r.readString();
|
|
1106
|
-
return {
|
|
1265
|
+
return {
|
|
1266
|
+
type: "publish_namespace_cancel",
|
|
1267
|
+
track_namespace,
|
|
1268
|
+
error_code,
|
|
1269
|
+
reason_phrase
|
|
1270
|
+
};
|
|
1107
1271
|
}
|
|
1108
1272
|
function decodeSubscribeNamespacePayload(r) {
|
|
1109
1273
|
const request_id = r.readVarInt();
|
|
1110
1274
|
const namespace_prefix = r.readTuple();
|
|
1111
1275
|
const parameters = decodeParams(r);
|
|
1112
|
-
return {
|
|
1276
|
+
return {
|
|
1277
|
+
type: "subscribe_namespace",
|
|
1278
|
+
request_id,
|
|
1279
|
+
namespace_prefix,
|
|
1280
|
+
parameters
|
|
1281
|
+
};
|
|
1113
1282
|
}
|
|
1114
1283
|
function decodeUnsubscribeNamespacePayload(r) {
|
|
1115
1284
|
const request_id = r.readVarInt();
|
|
@@ -1120,7 +1289,7 @@ function decodeFetchPayload(r) {
|
|
|
1120
1289
|
const fetch_type = r.readVarInt();
|
|
1121
1290
|
const ft = Number(fetch_type);
|
|
1122
1291
|
if (ft < 1 || ft > 3) {
|
|
1123
|
-
throw new (0,
|
|
1292
|
+
throw new (0, _chunkJL3NEW3Ocjs.DecodeError)("CONSTRAINT_VIOLATION", `Invalid fetch_type: ${ft}`, r.offset);
|
|
1124
1293
|
}
|
|
1125
1294
|
let standalone;
|
|
1126
1295
|
let joining;
|
|
@@ -1131,7 +1300,14 @@ function decodeFetchPayload(r) {
|
|
|
1131
1300
|
const start_object = r.readVarInt();
|
|
1132
1301
|
const end_group = r.readVarInt();
|
|
1133
1302
|
const end_object = r.readVarInt();
|
|
1134
|
-
standalone = {
|
|
1303
|
+
standalone = {
|
|
1304
|
+
track_namespace,
|
|
1305
|
+
track_name,
|
|
1306
|
+
start_group,
|
|
1307
|
+
start_object,
|
|
1308
|
+
end_group,
|
|
1309
|
+
end_object
|
|
1310
|
+
};
|
|
1135
1311
|
} else {
|
|
1136
1312
|
const joining_request_id = r.readVarInt();
|
|
1137
1313
|
const joining_start = r.readVarInt();
|
|
@@ -1153,7 +1329,14 @@ function decodeFetchOkPayload(r) {
|
|
|
1153
1329
|
const end_group = r.readVarInt();
|
|
1154
1330
|
const end_object = r.readVarInt();
|
|
1155
1331
|
const parameters = decodeParams(r);
|
|
1156
|
-
return {
|
|
1332
|
+
return {
|
|
1333
|
+
type: "fetch_ok",
|
|
1334
|
+
request_id,
|
|
1335
|
+
end_of_track,
|
|
1336
|
+
end_group,
|
|
1337
|
+
end_object,
|
|
1338
|
+
parameters
|
|
1339
|
+
};
|
|
1157
1340
|
}
|
|
1158
1341
|
function decodeFetchCancelPayload(r) {
|
|
1159
1342
|
const request_id = r.readVarInt();
|
|
@@ -1164,7 +1347,13 @@ function decodeTrackStatusPayload(r) {
|
|
|
1164
1347
|
const track_namespace = r.readTuple();
|
|
1165
1348
|
const track_name = r.readString();
|
|
1166
1349
|
const parameters = decodeParams(r);
|
|
1167
|
-
return {
|
|
1350
|
+
return {
|
|
1351
|
+
type: "track_status",
|
|
1352
|
+
request_id,
|
|
1353
|
+
track_namespace,
|
|
1354
|
+
track_name,
|
|
1355
|
+
parameters
|
|
1356
|
+
};
|
|
1168
1357
|
}
|
|
1169
1358
|
function decodeRequestOkPayload(r) {
|
|
1170
1359
|
const request_id = r.readVarInt();
|
|
@@ -1219,13 +1408,13 @@ function encodeMessage(message) {
|
|
|
1219
1408
|
if (typeId === void 0) {
|
|
1220
1409
|
throw new Error(`Unknown message type: ${message.type}`);
|
|
1221
1410
|
}
|
|
1222
|
-
const payloadWriter = new (0,
|
|
1411
|
+
const payloadWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
|
|
1223
1412
|
encodePayload(message, payloadWriter);
|
|
1224
1413
|
const payload = payloadWriter.finishView();
|
|
1225
1414
|
if (payload.byteLength > 65535) {
|
|
1226
1415
|
throw new Error(`Payload too large for 16-bit length: ${payload.byteLength}`);
|
|
1227
1416
|
}
|
|
1228
|
-
const writer = new (0,
|
|
1417
|
+
const writer = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(payload.byteLength + 16);
|
|
1229
1418
|
writer.writeVarInt(typeId);
|
|
1230
1419
|
writer.writeUint8(payload.byteLength >> 8 & 255);
|
|
1231
1420
|
writer.writeUint8(payload.byteLength & 255);
|
|
@@ -1288,18 +1477,18 @@ function encodePayload(msg, w) {
|
|
|
1288
1477
|
}
|
|
1289
1478
|
function decodeMessage(bytes) {
|
|
1290
1479
|
try {
|
|
1291
|
-
const reader = new (0,
|
|
1480
|
+
const reader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
|
|
1292
1481
|
const typeId = reader.readVarInt();
|
|
1293
1482
|
const lenHi = reader.readUint8();
|
|
1294
1483
|
const lenLo = reader.readUint8();
|
|
1295
1484
|
const payloadLength = lenHi << 8 | lenLo;
|
|
1296
1485
|
const payloadBytes = reader.readBytes(payloadLength);
|
|
1297
|
-
const payloadReader = new (0,
|
|
1486
|
+
const payloadReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(payloadBytes);
|
|
1298
1487
|
const decoder = payloadDecoders.get(typeId);
|
|
1299
1488
|
if (!decoder) {
|
|
1300
1489
|
return {
|
|
1301
1490
|
ok: false,
|
|
1302
|
-
error: new (0,
|
|
1491
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
1303
1492
|
"UNKNOWN_MESSAGE_TYPE",
|
|
1304
1493
|
`Unknown message type ID: 0x${typeId.toString(16)}`,
|
|
1305
1494
|
0
|
|
@@ -1309,7 +1498,7 @@ function decodeMessage(bytes) {
|
|
|
1309
1498
|
const message = decoder(payloadReader);
|
|
1310
1499
|
return { ok: true, value: message, bytesRead: reader.offset };
|
|
1311
1500
|
} catch (e) {
|
|
1312
|
-
if (e instanceof
|
|
1501
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) {
|
|
1313
1502
|
return { ok: false, error: e };
|
|
1314
1503
|
}
|
|
1315
1504
|
throw e;
|
|
@@ -1344,7 +1533,7 @@ function createStreamDecoder() {
|
|
|
1344
1533
|
flush(controller) {
|
|
1345
1534
|
if (offset < buffer.length) {
|
|
1346
1535
|
controller.error(
|
|
1347
|
-
new (0,
|
|
1536
|
+
new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete message data", 0)
|
|
1348
1537
|
);
|
|
1349
1538
|
}
|
|
1350
1539
|
}
|
|
@@ -1352,7 +1541,7 @@ function createStreamDecoder() {
|
|
|
1352
1541
|
}
|
|
1353
1542
|
function createDraft15Codec() {
|
|
1354
1543
|
return {
|
|
1355
|
-
draft: "
|
|
1544
|
+
draft: "15",
|
|
1356
1545
|
encodeMessage,
|
|
1357
1546
|
decodeMessage,
|
|
1358
1547
|
encodeSubgroupStream,
|