@moqtap/codec 0.2.2 → 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-PJRA2TQ5.js → chunk-2UTVXWFF.js} +388 -254
- package/dist/{chunk-IV2H5CFI.cjs → chunk-3XKO6PCR.cjs} +461 -322
- package/dist/{chunk-RVJAGE4S.cjs → chunk-4BDEU3D4.cjs} +415 -304
- package/dist/{chunk-XUUCOLWU.cjs → chunk-4HBKHNU2.cjs} +374 -329
- package/dist/{chunk-4RIXXEII.js → chunk-4IVZZOY3.js} +451 -312
- package/dist/{chunk-ZSPO2GF2.cjs → chunk-5O764MBD.cjs} +1320 -842
- 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-KFTCU2P6.js → chunk-C6KUWLQC.js} +0 -3
- package/dist/{chunk-UYXTY6ZQ.cjs → chunk-E65QKRSN.cjs} +20 -12
- package/dist/{chunk-BISI45MN.cjs → chunk-EAHE3IOG.cjs} +44 -12
- package/dist/{chunk-IV2HRJVT.js → chunk-GCBFHZW6.js} +405 -294
- package/dist/{chunk-GXEW4COZ.cjs → chunk-H5NSL4MO.cjs} +36 -10
- package/dist/chunk-HZHSO7EW.cjs +1212 -0
- package/dist/{chunk-BPNL5YFQ.cjs → chunk-IILNSDEQ.cjs} +74 -46
- package/dist/{chunk-4XYGE53S.cjs → chunk-J3XCPBW3.cjs} +36 -10
- package/dist/{chunk-6AEHWULA.cjs → chunk-JKOEJZ5B.cjs} +28 -8
- package/dist/{chunk-FWISIR26.cjs → chunk-JL3NEW3O.cjs} +47 -4
- 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-RWQ43Z4F.cjs → chunk-MZ7VU52O.cjs} +0 -3
- package/dist/{chunk-G26SJ6XS.cjs → chunk-OKG2HT25.cjs} +1193 -928
- package/dist/{chunk-IBVM4DMJ.cjs → chunk-PKEOQSSZ.cjs} +374 -329
- package/dist/{chunk-LH4NTURO.js → chunk-Q46ZURKX.js} +989 -602
- package/dist/{chunk-UR6JKS56.js → chunk-Q7IGWV3P.js} +41 -9
- package/dist/{chunk-ST24APEO.js → chunk-RW4UG7CN.js} +751 -682
- package/dist/{chunk-DWK5ZQZ4.js → chunk-RZTLQAKF.js} +28 -8
- package/dist/{chunk-UNS34PTA.cjs → chunk-S6IPIN66.cjs} +44 -12
- package/dist/{chunk-K4OLITS2.cjs → chunk-SDWRXXOO.cjs} +401 -267
- package/dist/{chunk-CXDHOMHG.js → chunk-SHMA4PBY.js} +476 -431
- package/dist/{chunk-U2B3B42P.js → chunk-U3ZVLT5L.js} +1176 -540
- package/dist/{chunk-HSVYF6XX.cjs → chunk-UJU63EFY.cjs} +1524 -1137
- package/dist/{chunk-A27S7HW7.js → chunk-VOU7PNHI.js} +47 -4
- package/dist/{chunk-E6E3NQYU.js → chunk-WRHGCVYN.js} +44 -12
- package/dist/chunk-XNWYLVGU.cjs +1854 -0
- package/dist/{chunk-NUX5BHWO.js → chunk-XS77RBY7.js} +1160 -895
- package/dist/{chunk-4YJANAXU.cjs → chunk-XZE5R57R.cjs} +829 -760
- package/dist/{chunk-NGVE2RZT.js → chunk-Y6KCSM3V.js} +476 -431
- package/dist/{chunk-TLYNOOQP.cjs → chunk-YTPZZI2M.cjs} +41 -9
- package/dist/{chunk-7DUBLRXC.js → chunk-YWRCSQBA.js} +44 -12
- package/dist/{chunk-MFAP7R6L.js → chunk-Z3VKP3PJ.js} +70 -42
- package/dist/{chunk-ZBKE2QRQ.js → chunk-Z6U26IRI.js} +1107 -629
- package/dist/codec-25u4_1HS.d.ts +35 -0
- package/dist/codec-3Ppy_5Gd.d.ts +23 -0
- package/dist/codec-BB0U8MF2.d.cts +34 -0
- package/dist/codec-BHHfBTnV.d.ts +34 -0
- package/dist/codec-BN6jk0Td.d.cts +30 -0
- package/dist/codec-BU0gaSZm.d.ts +29 -0
- package/dist/codec-C-Yk2RNa.d.ts +30 -0
- package/dist/codec-CFWQY9Lj.d.cts +18 -0
- package/dist/codec-COy4uuPO.d.cts +29 -0
- package/dist/codec-CewFCsEy.d.ts +18 -0
- package/dist/codec-Ck7ZwFF1.d.cts +35 -0
- package/dist/codec-D2QVSH9D.d.ts +30 -0
- package/dist/codec-DDUBJGn0.d.cts +23 -0
- package/dist/codec-DNfml-se.d.ts +27 -0
- package/dist/codec-DoOGjjDq.d.cts +29 -0
- package/dist/codec-J7ekOSMc.d.ts +29 -0
- package/dist/codec-R9TJCq-E.d.cts +31 -0
- package/dist/codec-ZwV-Njt6.d.ts +23 -0
- package/dist/codec-j819z_hL.d.cts +23 -0
- package/dist/codec-w8z2j_uo.d.cts +27 -0
- package/dist/codec-wtt6WF1K.d.ts +31 -0
- package/dist/codec-z6_2PSzi.d.cts +30 -0
- 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 -4
- package/dist/draft10.d.cts +23 -11
- package/dist/draft10.d.ts +23 -11
- package/dist/draft10.js +16 -12
- 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 -4
- package/dist/draft11.d.cts +21 -11
- package/dist/draft11.d.ts +21 -11
- package/dist/draft11.js +16 -12
- 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 -4
- package/dist/draft12.d.cts +23 -13
- package/dist/draft12.d.ts +23 -13
- package/dist/draft12.js +16 -12
- 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 -4
- package/dist/draft13.d.cts +23 -13
- package/dist/draft13.d.ts +23 -13
- package/dist/draft13.js +16 -12
- 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 -4
- package/dist/draft14.d.cts +67 -11
- package/dist/draft14.d.ts +67 -11
- package/dist/draft14.js +13 -3
- 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 -4
- package/dist/draft15.d.cts +56 -11
- package/dist/draft15.d.ts +56 -11
- package/dist/draft15.js +16 -12
- 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 -4
- package/dist/draft16.d.cts +45 -11
- package/dist/draft16.d.ts +45 -11
- package/dist/draft16.js +16 -12
- 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 -4
- package/dist/draft17.d.cts +21 -8
- package/dist/draft17.d.ts +21 -8
- package/dist/draft17.js +16 -12
- package/dist/draft7-session.cjs +3 -3
- package/dist/draft7-session.d.cts +6 -5
- package/dist/draft7-session.d.ts +6 -5
- package/dist/draft7-session.js +2 -2
- package/dist/draft7.cjs +83 -14
- package/dist/draft7.d.cts +59 -64
- package/dist/draft7.d.ts +59 -64
- package/dist/draft7.js +89 -20
- 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 -4
- package/dist/draft8.d.cts +23 -11
- package/dist/draft8.d.ts +23 -11
- package/dist/draft8.js +7 -3
- 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 -4
- package/dist/draft9.d.cts +23 -11
- package/dist/draft9.d.ts +23 -11
- package/dist/draft9.js +7 -3
- package/dist/index.cjs +52 -73
- package/dist/index.d.cts +41 -60
- package/dist/index.d.ts +55 -82
- package/dist/index.js +89 -93
- 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 +47 -14
- package/dist/session.d.cts +28 -9
- package/dist/session.d.ts +32 -9
- package/dist/session.js +59 -32
- package/dist/{types-4VxSL2Ho.d.ts → types--Q7_DcvP.d.cts} +49 -39
- package/dist/{types-4VxSL2Ho.d.cts → types--Q7_DcvP.d.ts} +49 -39
- package/dist/{types-Cw4WE9dh.d.ts → types-0IWbU9Z_.d.cts} +44 -36
- package/dist/{types-Cw4WE9dh.d.cts → types-0IWbU9Z_.d.ts} +44 -36
- package/dist/{types-D5gNQiDj.d.ts → types-B3g5G9KP.d.cts} +44 -36
- package/dist/{types-D5gNQiDj.d.cts → types-B3g5G9KP.d.ts} +44 -36
- package/dist/{types-B2afJZM-.d.cts → types-BFpFNM_m.d.cts} +60 -32
- package/dist/{types-B2afJZM-.d.ts → types-BFpFNM_m.d.ts} +60 -32
- package/dist/{types-ERexTpT8.d.ts → types-Br7fm2mf.d.cts} +51 -26
- package/dist/{types-ERexTpT8.d.cts → types-Br7fm2mf.d.ts} +51 -26
- package/dist/{types-Bg6QYNVt.d.cts → types-C2qKTRR_.d.cts} +55 -45
- package/dist/{types-Bg6QYNVt.d.ts → types-C2qKTRR_.d.ts} +55 -45
- package/dist/{types-BTFeKYCb.d.ts → types-DEaypVsD.d.cts} +133 -58
- package/dist/{types-BTFeKYCb.d.cts → types-DEaypVsD.d.ts} +133 -58
- package/dist/types-Dl4IaAHR.d.cts +282 -0
- package/dist/types-Dl4IaAHR.d.ts +282 -0
- package/dist/{types-C_1HrqBl.d.cts → types-DrQpTW1G.d.cts} +63 -50
- package/dist/{types-C_1HrqBl.d.ts → types-DrQpTW1G.d.ts} +63 -50
- package/dist/types-DuIO7cWK.d.cts +25 -0
- package/dist/types-DuIO7cWK.d.ts +25 -0
- package/dist/{types-DqCDFqgB.d.ts → types-DuxfOYiO.d.cts} +50 -31
- package/dist/{types-DqCDFqgB.d.cts → types-DuxfOYiO.d.ts} +50 -31
- package/dist/{types-r-CasCf1.d.cts → types-jV1yDDBA.d.cts} +43 -36
- package/dist/{types-r-CasCf1.d.ts → types-jV1yDDBA.d.ts} +43 -36
- package/package.json +15 -15
- package/src/core/buffer-reader.ts +69 -53
- package/src/core/buffer-writer.ts +55 -46
- package/src/core/errors.ts +1 -1
- package/src/core/hex.ts +21 -17
- package/src/core/session-types.ts +61 -59
- package/src/core/types.ts +18 -361
- package/src/drafts/draft07/codec.ts +1058 -933
- package/src/drafts/draft07/data-streams.ts +116 -116
- 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 +40 -12
- package/src/drafts/draft08/codec.ts +985 -944
- package/src/drafts/draft08/data-streams.ts +178 -174
- 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 -936
- package/src/drafts/draft09/data-streams.ts +163 -159
- 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 -936
- package/src/drafts/draft10/data-streams.ts +163 -159
- 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 -979
- package/src/drafts/draft11/data-streams.ts +189 -142
- 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 -1113
- package/src/drafts/draft12/data-streams.ts +192 -143
- 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 -1197
- package/src/drafts/draft13/data-streams.ts +194 -143
- 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 -1034
- package/src/drafts/draft14/data-streams.ts +429 -396
- 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 -969
- package/src/drafts/draft15/data-streams.ts +428 -364
- 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 -957
- package/src/drafts/draft16/data-streams.ts +433 -371
- 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 -962
- package/src/drafts/draft17/data-streams.ts +593 -366
- 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-7IVGHMKJ.cjs +0 -866
- package/dist/chunk-FUFTMAQD.cjs +0 -1218
- package/dist/chunk-TMNGRIPL.js +0 -866
- package/dist/codec-95k8CAu5.d.cts +0 -35
- package/dist/codec-AFuOxfsO.d.ts +0 -60
- package/dist/codec-B-UJ5Iow.d.cts +0 -75
- package/dist/codec-BC5jfvMb.d.ts +0 -35
- package/dist/codec-BECYPfY8.d.ts +0 -35
- package/dist/codec-BsPU1vNC.d.ts +0 -39
- package/dist/codec-BvpuF-6u.d.cts +0 -39
- package/dist/codec-C8jZI5Cx.d.cts +0 -39
- package/dist/codec-CAevkgf5.d.cts +0 -33
- package/dist/codec-CSUqCrRs.d.ts +0 -39
- package/dist/codec-C_HMXNK_.d.ts +0 -33
- package/dist/codec-CpuvYTSV.d.cts +0 -86
- package/dist/codec-D0x8-SCw.d.cts +0 -35
- package/dist/codec-D7ARhpG1.d.ts +0 -75
- package/dist/codec-DNAUGshO.d.cts +0 -60
- package/dist/codec-DPx_QNn0.d.ts +0 -31
- package/dist/codec-DRhCx_hw.d.ts +0 -86
- package/dist/codec-Db7YPe3l.d.ts +0 -31
- package/dist/codec-axkJpb7D.d.cts +0 -31
- package/dist/codec-ujAbFaep.d.cts +0 -31
- package/dist/core/buffer-reader.d.ts +0 -15
- package/dist/core/buffer-reader.d.ts.map +0 -1
- package/dist/core/buffer-reader.js +0 -98
- package/dist/core/buffer-reader.js.map +0 -1
- package/dist/core/buffer-writer.d.ts +0 -16
- package/dist/core/buffer-writer.d.ts.map +0 -1
- package/dist/core/buffer-writer.js +0 -86
- package/dist/core/buffer-writer.js.map +0 -1
- package/dist/core/errors.d.ts +0 -2
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -2
- package/dist/core/errors.js.map +0 -1
- package/dist/core/hex.d.ts +0 -5
- package/dist/core/hex.d.ts.map +0 -1
- package/dist/core/hex.js +0 -17
- package/dist/core/hex.js.map +0 -1
- package/dist/core/session-types.d.ts +0 -99
- package/dist/core/session-types.d.ts.map +0 -1
- package/dist/core/session-types.js +0 -2
- package/dist/core/session-types.js.map +0 -1
- package/dist/core/types.d.ts +0 -235
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -11
- package/dist/core/types.js.map +0 -1
- package/dist/drafts/draft07/announce-fsm.d.ts +0 -2
- package/dist/drafts/draft07/announce-fsm.d.ts.map +0 -1
- package/dist/drafts/draft07/announce-fsm.js +0 -2
- package/dist/drafts/draft07/announce-fsm.js.map +0 -1
- package/dist/drafts/draft07/codec.d.ts +0 -17
- package/dist/drafts/draft07/codec.d.ts.map +0 -1
- package/dist/drafts/draft07/codec.js +0 -722
- package/dist/drafts/draft07/codec.js.map +0 -1
- package/dist/drafts/draft07/data-streams.d.ts +0 -9
- package/dist/drafts/draft07/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft07/data-streams.js +0 -228
- package/dist/drafts/draft07/data-streams.js.map +0 -1
- package/dist/drafts/draft07/index.d.ts +0 -14
- package/dist/drafts/draft07/index.d.ts.map +0 -1
- package/dist/drafts/draft07/index.js +0 -18
- package/dist/drafts/draft07/index.js.map +0 -1
- package/dist/drafts/draft07/messages.d.ts +0 -32
- package/dist/drafts/draft07/messages.d.ts.map +0 -1
- package/dist/drafts/draft07/messages.js +0 -42
- package/dist/drafts/draft07/messages.js.map +0 -1
- package/dist/drafts/draft07/parameters.d.ts +0 -4
- package/dist/drafts/draft07/parameters.d.ts.map +0 -1
- package/dist/drafts/draft07/parameters.js +0 -10
- package/dist/drafts/draft07/parameters.js.map +0 -1
- package/dist/drafts/draft07/rules.d.ts +0 -8
- package/dist/drafts/draft07/rules.d.ts.map +0 -1
- package/dist/drafts/draft07/rules.js +0 -95
- package/dist/drafts/draft07/rules.js.map +0 -1
- package/dist/drafts/draft07/session-fsm.d.ts +0 -38
- package/dist/drafts/draft07/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft07/session-fsm.js +0 -354
- package/dist/drafts/draft07/session-fsm.js.map +0 -1
- package/dist/drafts/draft07/session.d.ts +0 -4
- package/dist/drafts/draft07/session.d.ts.map +0 -1
- package/dist/drafts/draft07/session.js +0 -5
- package/dist/drafts/draft07/session.js.map +0 -1
- package/dist/drafts/draft07/subscription-fsm.d.ts +0 -2
- package/dist/drafts/draft07/subscription-fsm.d.ts.map +0 -1
- package/dist/drafts/draft07/subscription-fsm.js +0 -2
- package/dist/drafts/draft07/subscription-fsm.js.map +0 -1
- package/dist/drafts/draft07/types.d.ts +0 -61
- package/dist/drafts/draft07/types.d.ts.map +0 -1
- package/dist/drafts/draft07/types.js +0 -4
- package/dist/drafts/draft07/types.js.map +0 -1
- package/dist/drafts/draft07/varint.d.ts +0 -4
- package/dist/drafts/draft07/varint.d.ts.map +0 -1
- package/dist/drafts/draft07/varint.js +0 -22
- package/dist/drafts/draft07/varint.js.map +0 -1
- package/dist/drafts/draft08/codec.d.ts +0 -29
- package/dist/drafts/draft08/codec.d.ts.map +0 -1
- package/dist/drafts/draft08/codec.js +0 -729
- package/dist/drafts/draft08/codec.js.map +0 -1
- package/dist/drafts/draft08/data-streams.d.ts +0 -12
- package/dist/drafts/draft08/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft08/data-streams.js +0 -345
- package/dist/drafts/draft08/data-streams.js.map +0 -1
- package/dist/drafts/draft08/index.d.ts +0 -9
- package/dist/drafts/draft08/index.d.ts.map +0 -1
- package/dist/drafts/draft08/index.js +0 -7
- package/dist/drafts/draft08/index.js.map +0 -1
- package/dist/drafts/draft08/messages.d.ts +0 -34
- package/dist/drafts/draft08/messages.d.ts.map +0 -1
- package/dist/drafts/draft08/messages.js +0 -66
- package/dist/drafts/draft08/messages.js.map +0 -1
- package/dist/drafts/draft08/rules.d.ts +0 -8
- package/dist/drafts/draft08/rules.d.ts.map +0 -1
- package/dist/drafts/draft08/rules.js +0 -83
- package/dist/drafts/draft08/rules.js.map +0 -1
- package/dist/drafts/draft08/session-fsm.d.ts +0 -47
- package/dist/drafts/draft08/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft08/session-fsm.js +0 -483
- package/dist/drafts/draft08/session-fsm.js.map +0 -1
- package/dist/drafts/draft08/session.d.ts +0 -5
- package/dist/drafts/draft08/session.d.ts.map +0 -1
- package/dist/drafts/draft08/session.js +0 -5
- package/dist/drafts/draft08/session.js.map +0 -1
- package/dist/drafts/draft08/types.d.ts +0 -268
- package/dist/drafts/draft08/types.d.ts.map +0 -1
- package/dist/drafts/draft08/types.js +0 -4
- package/dist/drafts/draft08/types.js.map +0 -1
- package/dist/drafts/draft09/codec.d.ts +0 -21
- package/dist/drafts/draft09/codec.d.ts.map +0 -1
- package/dist/drafts/draft09/codec.js +0 -721
- package/dist/drafts/draft09/codec.js.map +0 -1
- package/dist/drafts/draft09/data-streams.d.ts +0 -12
- package/dist/drafts/draft09/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft09/data-streams.js +0 -307
- package/dist/drafts/draft09/data-streams.js.map +0 -1
- package/dist/drafts/draft09/index.d.ts +0 -9
- package/dist/drafts/draft09/index.d.ts.map +0 -1
- package/dist/drafts/draft09/index.js +0 -7
- package/dist/drafts/draft09/index.js.map +0 -1
- package/dist/drafts/draft09/messages.d.ts +0 -34
- package/dist/drafts/draft09/messages.d.ts.map +0 -1
- package/dist/drafts/draft09/messages.js +0 -66
- package/dist/drafts/draft09/messages.js.map +0 -1
- package/dist/drafts/draft09/rules.d.ts +0 -8
- package/dist/drafts/draft09/rules.d.ts.map +0 -1
- package/dist/drafts/draft09/rules.js +0 -83
- package/dist/drafts/draft09/rules.js.map +0 -1
- package/dist/drafts/draft09/session-fsm.d.ts +0 -47
- package/dist/drafts/draft09/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft09/session-fsm.js +0 -483
- package/dist/drafts/draft09/session-fsm.js.map +0 -1
- package/dist/drafts/draft09/session.d.ts +0 -5
- package/dist/drafts/draft09/session.d.ts.map +0 -1
- package/dist/drafts/draft09/session.js +0 -5
- package/dist/drafts/draft09/session.js.map +0 -1
- package/dist/drafts/draft09/types.d.ts +0 -268
- package/dist/drafts/draft09/types.d.ts.map +0 -1
- package/dist/drafts/draft09/types.js +0 -4
- package/dist/drafts/draft09/types.js.map +0 -1
- package/dist/drafts/draft10/codec.d.ts +0 -21
- package/dist/drafts/draft10/codec.d.ts.map +0 -1
- package/dist/drafts/draft10/codec.js +0 -721
- package/dist/drafts/draft10/codec.js.map +0 -1
- package/dist/drafts/draft10/data-streams.d.ts +0 -12
- package/dist/drafts/draft10/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft10/data-streams.js +0 -307
- package/dist/drafts/draft10/data-streams.js.map +0 -1
- package/dist/drafts/draft10/index.d.ts +0 -9
- package/dist/drafts/draft10/index.d.ts.map +0 -1
- package/dist/drafts/draft10/index.js +0 -7
- package/dist/drafts/draft10/index.js.map +0 -1
- package/dist/drafts/draft10/messages.d.ts +0 -34
- package/dist/drafts/draft10/messages.d.ts.map +0 -1
- package/dist/drafts/draft10/messages.js +0 -66
- package/dist/drafts/draft10/messages.js.map +0 -1
- package/dist/drafts/draft10/rules.d.ts +0 -8
- package/dist/drafts/draft10/rules.d.ts.map +0 -1
- package/dist/drafts/draft10/rules.js +0 -83
- package/dist/drafts/draft10/rules.js.map +0 -1
- package/dist/drafts/draft10/session-fsm.d.ts +0 -47
- package/dist/drafts/draft10/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft10/session-fsm.js +0 -483
- package/dist/drafts/draft10/session-fsm.js.map +0 -1
- package/dist/drafts/draft10/session.d.ts +0 -5
- package/dist/drafts/draft10/session.d.ts.map +0 -1
- package/dist/drafts/draft10/session.js +0 -5
- package/dist/drafts/draft10/session.js.map +0 -1
- package/dist/drafts/draft10/types.d.ts +0 -268
- package/dist/drafts/draft10/types.d.ts.map +0 -1
- package/dist/drafts/draft10/types.js +0 -4
- package/dist/drafts/draft10/types.js.map +0 -1
- package/dist/drafts/draft11/codec.d.ts +0 -25
- package/dist/drafts/draft11/codec.d.ts.map +0 -1
- package/dist/drafts/draft11/codec.js +0 -775
- package/dist/drafts/draft11/codec.js.map +0 -1
- package/dist/drafts/draft11/data-streams.d.ts +0 -10
- package/dist/drafts/draft11/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft11/data-streams.js +0 -253
- package/dist/drafts/draft11/data-streams.js.map +0 -1
- package/dist/drafts/draft11/index.d.ts +0 -9
- package/dist/drafts/draft11/index.d.ts.map +0 -1
- package/dist/drafts/draft11/index.js +0 -7
- package/dist/drafts/draft11/index.js.map +0 -1
- package/dist/drafts/draft11/messages.d.ts +0 -33
- package/dist/drafts/draft11/messages.d.ts.map +0 -1
- package/dist/drafts/draft11/messages.js +0 -65
- package/dist/drafts/draft11/messages.js.map +0 -1
- package/dist/drafts/draft11/rules.d.ts +0 -8
- package/dist/drafts/draft11/rules.d.ts.map +0 -1
- package/dist/drafts/draft11/rules.js +0 -88
- package/dist/drafts/draft11/rules.js.map +0 -1
- package/dist/drafts/draft11/session-fsm.d.ts +0 -52
- package/dist/drafts/draft11/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft11/session-fsm.js +0 -530
- package/dist/drafts/draft11/session-fsm.js.map +0 -1
- package/dist/drafts/draft11/session.d.ts +0 -5
- package/dist/drafts/draft11/session.d.ts.map +0 -1
- package/dist/drafts/draft11/session.js +0 -5
- package/dist/drafts/draft11/session.js.map +0 -1
- package/dist/drafts/draft11/types.d.ts +0 -266
- package/dist/drafts/draft11/types.d.ts.map +0 -1
- package/dist/drafts/draft11/types.js +0 -4
- package/dist/drafts/draft11/types.js.map +0 -1
- package/dist/drafts/draft12/codec.d.ts +0 -27
- package/dist/drafts/draft12/codec.d.ts.map +0 -1
- package/dist/drafts/draft12/codec.js +0 -918
- package/dist/drafts/draft12/codec.js.map +0 -1
- package/dist/drafts/draft12/data-streams.d.ts +0 -10
- package/dist/drafts/draft12/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft12/data-streams.js +0 -254
- package/dist/drafts/draft12/data-streams.js.map +0 -1
- package/dist/drafts/draft12/index.d.ts +0 -9
- package/dist/drafts/draft12/index.d.ts.map +0 -1
- package/dist/drafts/draft12/index.js +0 -7
- package/dist/drafts/draft12/index.js.map +0 -1
- package/dist/drafts/draft12/messages.d.ts +0 -37
- package/dist/drafts/draft12/messages.d.ts.map +0 -1
- package/dist/drafts/draft12/messages.js +0 -77
- package/dist/drafts/draft12/messages.js.map +0 -1
- package/dist/drafts/draft12/rules.d.ts +0 -8
- package/dist/drafts/draft12/rules.d.ts.map +0 -1
- package/dist/drafts/draft12/rules.js +0 -94
- package/dist/drafts/draft12/rules.js.map +0 -1
- package/dist/drafts/draft12/session-fsm.d.ts +0 -55
- package/dist/drafts/draft12/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft12/session-fsm.js +0 -569
- package/dist/drafts/draft12/session-fsm.js.map +0 -1
- package/dist/drafts/draft12/session.d.ts +0 -5
- package/dist/drafts/draft12/session.d.ts.map +0 -1
- package/dist/drafts/draft12/session.js +0 -5
- package/dist/drafts/draft12/session.js.map +0 -1
- package/dist/drafts/draft12/types.d.ts +0 -294
- package/dist/drafts/draft12/types.d.ts.map +0 -1
- package/dist/drafts/draft12/types.js +0 -4
- package/dist/drafts/draft12/types.js.map +0 -1
- package/dist/drafts/draft13/codec.d.ts +0 -27
- package/dist/drafts/draft13/codec.d.ts.map +0 -1
- package/dist/drafts/draft13/codec.js +0 -1000
- package/dist/drafts/draft13/codec.js.map +0 -1
- package/dist/drafts/draft13/data-streams.d.ts +0 -10
- package/dist/drafts/draft13/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft13/data-streams.js +0 -254
- package/dist/drafts/draft13/data-streams.js.map +0 -1
- package/dist/drafts/draft13/index.d.ts +0 -9
- package/dist/drafts/draft13/index.d.ts.map +0 -1
- package/dist/drafts/draft13/index.js +0 -7
- package/dist/drafts/draft13/index.js.map +0 -1
- package/dist/drafts/draft13/messages.d.ts +0 -38
- package/dist/drafts/draft13/messages.d.ts.map +0 -1
- package/dist/drafts/draft13/messages.js +0 -79
- package/dist/drafts/draft13/messages.js.map +0 -1
- package/dist/drafts/draft13/rules.d.ts +0 -8
- package/dist/drafts/draft13/rules.d.ts.map +0 -1
- package/dist/drafts/draft13/rules.js +0 -96
- package/dist/drafts/draft13/rules.js.map +0 -1
- package/dist/drafts/draft13/session-fsm.d.ts +0 -56
- package/dist/drafts/draft13/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft13/session-fsm.js +0 -581
- package/dist/drafts/draft13/session-fsm.js.map +0 -1
- package/dist/drafts/draft13/session.d.ts +0 -5
- package/dist/drafts/draft13/session.d.ts.map +0 -1
- package/dist/drafts/draft13/session.js +0 -5
- package/dist/drafts/draft13/session.js.map +0 -1
- package/dist/drafts/draft13/types.d.ts +0 -310
- package/dist/drafts/draft13/types.d.ts.map +0 -1
- package/dist/drafts/draft13/types.js +0 -4
- package/dist/drafts/draft13/types.js.map +0 -1
- package/dist/drafts/draft14/codec.d.ts +0 -34
- package/dist/drafts/draft14/codec.d.ts.map +0 -1
- package/dist/drafts/draft14/codec.js +0 -752
- package/dist/drafts/draft14/codec.js.map +0 -1
- package/dist/drafts/draft14/data-streams.d.ts +0 -56
- package/dist/drafts/draft14/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft14/data-streams.js +0 -729
- package/dist/drafts/draft14/data-streams.js.map +0 -1
- package/dist/drafts/draft14/index.d.ts +0 -9
- package/dist/drafts/draft14/index.d.ts.map +0 -1
- package/dist/drafts/draft14/index.js +0 -7
- package/dist/drafts/draft14/index.js.map +0 -1
- package/dist/drafts/draft14/messages.d.ts +0 -36
- package/dist/drafts/draft14/messages.d.ts.map +0 -1
- package/dist/drafts/draft14/messages.js +0 -71
- package/dist/drafts/draft14/messages.js.map +0 -1
- package/dist/drafts/draft14/rules.d.ts +0 -8
- package/dist/drafts/draft14/rules.d.ts.map +0 -1
- package/dist/drafts/draft14/rules.js +0 -101
- package/dist/drafts/draft14/rules.js.map +0 -1
- package/dist/drafts/draft14/session-fsm.d.ts +0 -58
- package/dist/drafts/draft14/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft14/session-fsm.js +0 -648
- package/dist/drafts/draft14/session-fsm.js.map +0 -1
- package/dist/drafts/draft14/session.d.ts +0 -5
- package/dist/drafts/draft14/session.d.ts.map +0 -1
- package/dist/drafts/draft14/session.js +0 -5
- package/dist/drafts/draft14/session.js.map +0 -1
- package/dist/drafts/draft14/types.d.ts +0 -263
- package/dist/drafts/draft14/types.d.ts.map +0 -1
- package/dist/drafts/draft14/types.js +0 -4
- package/dist/drafts/draft14/types.js.map +0 -1
- package/dist/drafts/draft15/codec.d.ts +0 -33
- package/dist/drafts/draft15/codec.d.ts.map +0 -1
- package/dist/drafts/draft15/codec.js +0 -742
- package/dist/drafts/draft15/codec.js.map +0 -1
- package/dist/drafts/draft15/data-streams.d.ts +0 -45
- package/dist/drafts/draft15/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft15/data-streams.js +0 -675
- package/dist/drafts/draft15/data-streams.js.map +0 -1
- package/dist/drafts/draft15/index.d.ts +0 -9
- package/dist/drafts/draft15/index.d.ts.map +0 -1
- package/dist/drafts/draft15/index.js +0 -7
- package/dist/drafts/draft15/index.js.map +0 -1
- package/dist/drafts/draft15/messages.d.ts +0 -31
- package/dist/drafts/draft15/messages.d.ts.map +0 -1
- package/dist/drafts/draft15/messages.js +0 -59
- package/dist/drafts/draft15/messages.js.map +0 -1
- package/dist/drafts/draft15/rules.d.ts +0 -8
- package/dist/drafts/draft15/rules.d.ts.map +0 -1
- package/dist/drafts/draft15/rules.js +0 -83
- package/dist/drafts/draft15/rules.js.map +0 -1
- package/dist/drafts/draft15/session-fsm.d.ts +0 -48
- package/dist/drafts/draft15/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft15/session-fsm.js +0 -479
- package/dist/drafts/draft15/session-fsm.js.map +0 -1
- package/dist/drafts/draft15/session.d.ts +0 -5
- package/dist/drafts/draft15/session.d.ts.map +0 -1
- package/dist/drafts/draft15/session.js +0 -5
- package/dist/drafts/draft15/session.js.map +0 -1
- package/dist/drafts/draft15/types.d.ts +0 -232
- package/dist/drafts/draft15/types.d.ts.map +0 -1
- package/dist/drafts/draft15/types.js +0 -4
- package/dist/drafts/draft15/types.js.map +0 -1
- package/dist/drafts/draft16/codec.d.ts +0 -29
- package/dist/drafts/draft16/codec.d.ts.map +0 -1
- package/dist/drafts/draft16/codec.js +0 -747
- package/dist/drafts/draft16/codec.js.map +0 -1
- package/dist/drafts/draft16/data-streams.d.ts +0 -34
- package/dist/drafts/draft16/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft16/data-streams.js +0 -667
- package/dist/drafts/draft16/data-streams.js.map +0 -1
- package/dist/drafts/draft16/index.d.ts +0 -9
- package/dist/drafts/draft16/index.d.ts.map +0 -1
- package/dist/drafts/draft16/index.js +0 -7
- package/dist/drafts/draft16/index.js.map +0 -1
- package/dist/drafts/draft16/messages.d.ts +0 -32
- package/dist/drafts/draft16/messages.d.ts.map +0 -1
- package/dist/drafts/draft16/messages.js +0 -62
- package/dist/drafts/draft16/messages.js.map +0 -1
- package/dist/drafts/draft16/rules.d.ts +0 -8
- package/dist/drafts/draft16/rules.d.ts.map +0 -1
- package/dist/drafts/draft16/rules.js +0 -84
- package/dist/drafts/draft16/rules.js.map +0 -1
- package/dist/drafts/draft16/session-fsm.d.ts +0 -48
- package/dist/drafts/draft16/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft16/session-fsm.js +0 -474
- package/dist/drafts/draft16/session-fsm.js.map +0 -1
- package/dist/drafts/draft16/session.d.ts +0 -5
- package/dist/drafts/draft16/session.d.ts.map +0 -1
- package/dist/drafts/draft16/session.js +0 -5
- package/dist/drafts/draft16/session.js.map +0 -1
- package/dist/drafts/draft16/types.d.ts +0 -238
- package/dist/drafts/draft16/types.d.ts.map +0 -1
- package/dist/drafts/draft16/types.js +0 -4
- package/dist/drafts/draft16/types.js.map +0 -1
- package/dist/drafts/draft17/codec.d.ts +0 -29
- package/dist/drafts/draft17/codec.d.ts.map +0 -1
- package/dist/drafts/draft17/codec.js +0 -799
- package/dist/drafts/draft17/codec.js.map +0 -1
- package/dist/drafts/draft17/data-streams.d.ts +0 -13
- package/dist/drafts/draft17/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft17/data-streams.js +0 -633
- package/dist/drafts/draft17/data-streams.js.map +0 -1
- package/dist/drafts/draft17/index.d.ts +0 -8
- package/dist/drafts/draft17/index.d.ts.map +0 -1
- package/dist/drafts/draft17/index.js +0 -6
- package/dist/drafts/draft17/index.js.map +0 -1
- package/dist/drafts/draft17/messages.d.ts +0 -25
- package/dist/drafts/draft17/messages.d.ts.map +0 -1
- package/dist/drafts/draft17/messages.js +0 -48
- package/dist/drafts/draft17/messages.js.map +0 -1
- package/dist/drafts/draft17/rules.d.ts +0 -8
- package/dist/drafts/draft17/rules.d.ts.map +0 -1
- package/dist/drafts/draft17/rules.js +0 -71
- package/dist/drafts/draft17/rules.js.map +0 -1
- package/dist/drafts/draft17/session-fsm.d.ts +0 -45
- package/dist/drafts/draft17/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft17/session-fsm.js +0 -328
- package/dist/drafts/draft17/session-fsm.js.map +0 -1
- package/dist/drafts/draft17/session.d.ts +0 -5
- package/dist/drafts/draft17/session.d.ts.map +0 -1
- package/dist/drafts/draft17/session.js +0 -6
- package/dist/drafts/draft17/session.js.map +0 -1
- package/dist/drafts/draft17/types.d.ts +0 -219
- package/dist/drafts/draft17/types.d.ts.map +0 -1
- package/dist/drafts/draft17/types.js +0 -3
- package/dist/drafts/draft17/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js.map +0 -1
- 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
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
var _chunkJL3NEW3Ocjs = require('./chunk-JL3NEW3O.cjs');
|
|
6
8
|
|
|
7
9
|
// src/drafts/draft16/messages.ts
|
|
8
10
|
var MSG_REQUEST_UPDATE = 0x02n;
|
|
@@ -31,6 +33,7 @@ var MSG_CLIENT_SETUP = 0x20n;
|
|
|
31
33
|
var MSG_SERVER_SETUP = 0x21n;
|
|
32
34
|
var SETUP_PARAM_PATH = 0x01n;
|
|
33
35
|
var SETUP_PARAM_MAX_REQUEST_ID = 0x02n;
|
|
36
|
+
var SETUP_PARAM_AUTHORIZATION_TOKEN = 0x03n;
|
|
34
37
|
var SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = 0x04n;
|
|
35
38
|
var SETUP_PARAM_AUTHORITY = 0x05n;
|
|
36
39
|
var SETUP_PARAM_MOQT_IMPLEMENTATION = 0x07n;
|
|
@@ -64,978 +67,1599 @@ var MESSAGE_ID_MAP = new Map(
|
|
|
64
67
|
[...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
|
|
65
68
|
);
|
|
66
69
|
|
|
67
|
-
// src/drafts/draft16/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
70
|
+
// src/drafts/draft16/data-streams.ts
|
|
71
|
+
var FETCH_STREAM_TYPE = 0x05n;
|
|
72
|
+
function encodeSubgroupStream(stream) {
|
|
73
|
+
const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
|
|
74
|
+
const streamType = stream.headerType;
|
|
75
|
+
w.writeVarInt(BigInt(streamType));
|
|
76
|
+
const extensionsPresent = (streamType & 1) !== 0;
|
|
77
|
+
const hasSubgroupField = (streamType & 4) !== 0;
|
|
78
|
+
const hasPriority = streamType < 48;
|
|
79
|
+
w.writeVarInt(stream.trackAlias);
|
|
80
|
+
w.writeVarInt(stream.groupId);
|
|
81
|
+
if (hasSubgroupField) {
|
|
82
|
+
w.writeVarInt(stream.subgroupId);
|
|
79
83
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
function encodeSetupParams(params, writer) {
|
|
83
|
-
let count = 0;
|
|
84
|
-
if (params.path !== void 0) count++;
|
|
85
|
-
if (params.max_request_id !== void 0) count++;
|
|
86
|
-
if (params.max_auth_token_cache_size !== void 0) count++;
|
|
87
|
-
if (params.authority !== void 0) count++;
|
|
88
|
-
if (params.moqt_implementation !== void 0) count++;
|
|
89
|
-
if (params.unknown) count += params.unknown.length;
|
|
90
|
-
writer.writeVarInt(count);
|
|
91
|
-
if (params.path !== void 0) {
|
|
92
|
-
writer.writeVarInt(SETUP_PARAM_PATH);
|
|
93
|
-
const encoded = new TextEncoder().encode(params.path);
|
|
94
|
-
writer.writeVarInt(encoded.byteLength);
|
|
95
|
-
writer.writeBytes(encoded);
|
|
84
|
+
if (hasPriority) {
|
|
85
|
+
w.writeUint8(stream.publisherPriority);
|
|
96
86
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
87
|
+
let prevObjectId = -1n;
|
|
88
|
+
for (const obj of stream.objects) {
|
|
89
|
+
const delta = prevObjectId < 0n ? obj.objectId : obj.objectId - prevObjectId - 1n;
|
|
90
|
+
w.writeVarInt(delta);
|
|
91
|
+
if (extensionsPresent) {
|
|
92
|
+
w.writeVarInt(BigInt(obj.extensionData.length));
|
|
93
|
+
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
|
|
94
|
+
}
|
|
95
|
+
w.writeVarInt(obj.payloadLength);
|
|
96
|
+
if (obj.payloadLength === 0) {
|
|
97
|
+
w.writeVarInt(_nullishCoalesce(obj.status, () => ( 0n)));
|
|
98
|
+
} else {
|
|
99
|
+
w.writeBytes(obj.payload);
|
|
100
|
+
}
|
|
101
|
+
prevObjectId = obj.objectId;
|
|
100
102
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
return w.finish();
|
|
104
|
+
}
|
|
105
|
+
function encodeDatagram(dg) {
|
|
106
|
+
const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
|
|
107
|
+
const dgType = dg.datagramType;
|
|
108
|
+
w.writeVarInt(BigInt(dgType));
|
|
109
|
+
w.writeVarInt(dg.trackAlias);
|
|
110
|
+
w.writeVarInt(dg.groupId);
|
|
111
|
+
const extensionsPresent = (dgType & 1) !== 0;
|
|
112
|
+
const objectIdAbsent = (dgType & 4) !== 0;
|
|
113
|
+
const defaultPriority = (dgType & 8) !== 0;
|
|
114
|
+
const isStatus = (dgType & 32) !== 0;
|
|
115
|
+
if (!objectIdAbsent) {
|
|
116
|
+
w.writeVarInt(dg.objectId);
|
|
104
117
|
}
|
|
105
|
-
if (
|
|
106
|
-
|
|
107
|
-
const encoded = new TextEncoder().encode(params.authority);
|
|
108
|
-
writer.writeVarInt(encoded.byteLength);
|
|
109
|
-
writer.writeBytes(encoded);
|
|
118
|
+
if (!defaultPriority) {
|
|
119
|
+
w.writeUint8(dg.publisherPriority);
|
|
110
120
|
}
|
|
111
|
-
if (
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
writer.writeBytes(encoded);
|
|
121
|
+
if (extensionsPresent) {
|
|
122
|
+
const extData = _nullishCoalesce(dg.extensionData, () => ( new Uint8Array(0)));
|
|
123
|
+
w.writeVarInt(BigInt(extData.length));
|
|
124
|
+
if (extData.length > 0) w.writeBytes(extData);
|
|
116
125
|
}
|
|
117
|
-
if (
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (id % 2n === 0n) {
|
|
122
|
-
const raw = hexToBytes(u.raw_hex);
|
|
123
|
-
const tmpReader = new (0, _chunkFWISIR26cjs.BufferReader)(raw);
|
|
124
|
-
const value = tmpReader.readVarInt();
|
|
125
|
-
writer.writeVarInt(value);
|
|
126
|
-
} else {
|
|
127
|
-
const raw = hexToBytes(u.raw_hex);
|
|
128
|
-
writer.writeVarInt(raw.byteLength);
|
|
129
|
-
writer.writeBytes(raw);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
126
|
+
if (isStatus) {
|
|
127
|
+
w.writeVarInt(_nullishCoalesce(dg.objectStatus, () => ( 0n)));
|
|
128
|
+
} else {
|
|
129
|
+
w.writeBytes(dg.payload);
|
|
132
130
|
}
|
|
131
|
+
return w.finish();
|
|
133
132
|
}
|
|
134
|
-
function
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
for (
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
result.max_auth_token_cache_size = value;
|
|
146
|
-
} else {
|
|
147
|
-
const tmpWriter = new (0, _chunkFWISIR26cjs.BufferWriter)(16);
|
|
148
|
-
tmpWriter.writeVarInt(value);
|
|
149
|
-
const raw = tmpWriter.finish();
|
|
150
|
-
unknown.push({
|
|
151
|
-
id: `0x${paramType.toString(16)}`,
|
|
152
|
-
length: raw.byteLength,
|
|
153
|
-
raw_hex: bytesToHex(raw)
|
|
154
|
-
});
|
|
155
|
-
}
|
|
133
|
+
function encodeFetchStream(stream) {
|
|
134
|
+
const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
|
|
135
|
+
w.writeVarInt(FETCH_STREAM_TYPE);
|
|
136
|
+
w.writeVarInt(stream.requestId);
|
|
137
|
+
for (const obj of stream.objects) {
|
|
138
|
+
w.writeVarInt(BigInt(obj.serializationFlags));
|
|
139
|
+
const flags = obj.serializationFlags;
|
|
140
|
+
if (flags >= 128) {
|
|
141
|
+
w.writeVarInt(obj.groupId);
|
|
142
|
+
w.writeVarInt(obj.objectId);
|
|
143
|
+
w.writeVarInt(BigInt(obj.payloadLength));
|
|
156
144
|
} else {
|
|
157
|
-
|
|
158
|
-
const
|
|
159
|
-
if (
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
raw_hex: bytesToHex(bytes)
|
|
170
|
-
});
|
|
145
|
+
if (flags & 8) w.writeVarInt(obj.groupId);
|
|
146
|
+
const subgroupEncoding = flags & 3;
|
|
147
|
+
if (subgroupEncoding === 3) w.writeVarInt(obj.subgroupId);
|
|
148
|
+
if (flags & 4) w.writeVarInt(obj.objectId);
|
|
149
|
+
if (flags & 16) w.writeUint8(obj.publisherPriority);
|
|
150
|
+
if (flags & 32) {
|
|
151
|
+
w.writeVarInt(BigInt(obj.extensionData.length));
|
|
152
|
+
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
|
|
153
|
+
}
|
|
154
|
+
w.writeVarInt(BigInt(obj.payloadLength));
|
|
155
|
+
if (obj.payloadLength > 0) {
|
|
156
|
+
w.writeBytes(obj.payload);
|
|
171
157
|
}
|
|
172
158
|
}
|
|
173
159
|
}
|
|
174
|
-
|
|
175
|
-
result.unknown = unknown;
|
|
176
|
-
}
|
|
177
|
-
return result;
|
|
160
|
+
return w.finish();
|
|
178
161
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
if (params.expires !== void 0) {
|
|
193
|
-
writer.writeVarInt(PARAM_EXPIRES);
|
|
194
|
-
writer.writeVarInt(params.expires);
|
|
195
|
-
}
|
|
196
|
-
if (params.largest_object !== void 0) {
|
|
197
|
-
writer.writeVarInt(PARAM_LARGEST_OBJECT);
|
|
198
|
-
const tmpW = new (0, _chunkFWISIR26cjs.BufferWriter)(16);
|
|
199
|
-
tmpW.writeVarInt(params.largest_object.group);
|
|
200
|
-
tmpW.writeVarInt(params.largest_object.object);
|
|
201
|
-
const raw = tmpW.finish();
|
|
202
|
-
writer.writeVarInt(raw.byteLength);
|
|
203
|
-
writer.writeBytes(raw);
|
|
204
|
-
}
|
|
205
|
-
if (params.subscriber_priority !== void 0) {
|
|
206
|
-
writer.writeVarInt(PARAM_SUBSCRIBER_PRIORITY);
|
|
207
|
-
writer.writeVarInt(params.subscriber_priority);
|
|
208
|
-
}
|
|
209
|
-
if (params.subscription_filter !== void 0) {
|
|
210
|
-
writer.writeVarInt(PARAM_SUBSCRIPTION_FILTER);
|
|
211
|
-
const tmpW = new (0, _chunkFWISIR26cjs.BufferWriter)(32);
|
|
212
|
-
const f = params.subscription_filter;
|
|
213
|
-
tmpW.writeVarInt(f.filter_type);
|
|
214
|
-
if (f.filter_type === 3n || f.filter_type === 4n) {
|
|
215
|
-
tmpW.writeVarInt(f.start_group);
|
|
216
|
-
tmpW.writeVarInt(f.start_object);
|
|
162
|
+
function decodeSubgroupStream(bytes) {
|
|
163
|
+
try {
|
|
164
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
|
|
165
|
+
const streamType = Number(r.readVarInt());
|
|
166
|
+
if (!(streamType >= 16 && streamType <= 31 || streamType >= 48 && streamType <= 63) || (streamType & 6) === 6) {
|
|
167
|
+
return {
|
|
168
|
+
ok: false,
|
|
169
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
170
|
+
"CONSTRAINT_VIOLATION",
|
|
171
|
+
`Expected subgroup stream type 0x10-0x1F/0x30-0x3F, got 0x${streamType.toString(16)}`,
|
|
172
|
+
0
|
|
173
|
+
)
|
|
174
|
+
};
|
|
217
175
|
}
|
|
218
|
-
|
|
219
|
-
|
|
176
|
+
const extensionsPresent = (streamType & 1) !== 0;
|
|
177
|
+
const hasSubgroupField = (streamType & 4) !== 0;
|
|
178
|
+
const subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
|
|
179
|
+
const endOfGroup = (streamType & 8) !== 0;
|
|
180
|
+
const hasPriority = streamType < 48;
|
|
181
|
+
const trackAlias = r.readVarInt();
|
|
182
|
+
const groupId = r.readVarInt();
|
|
183
|
+
let subgroupId = 0n;
|
|
184
|
+
if (hasSubgroupField) {
|
|
185
|
+
subgroupId = r.readVarInt();
|
|
220
186
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
187
|
+
let publisherPriority = 128;
|
|
188
|
+
if (hasPriority) {
|
|
189
|
+
publisherPriority = r.readUint8();
|
|
190
|
+
}
|
|
191
|
+
const objects = [];
|
|
192
|
+
let prevObjectId = -1n;
|
|
193
|
+
let firstObject = true;
|
|
194
|
+
while (r.remaining > 0) {
|
|
195
|
+
const byteOffset = r.offset;
|
|
196
|
+
const delta = r.readVarInt();
|
|
197
|
+
let objectId;
|
|
198
|
+
if (firstObject) {
|
|
199
|
+
objectId = delta;
|
|
200
|
+
if (subgroupIsFirstObjId && firstObject) {
|
|
201
|
+
subgroupId = objectId;
|
|
202
|
+
}
|
|
203
|
+
firstObject = false;
|
|
238
204
|
} else {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
205
|
+
objectId = prevObjectId + 1n + delta;
|
|
206
|
+
}
|
|
207
|
+
let extensionData = new Uint8Array(0);
|
|
208
|
+
if (extensionsPresent) {
|
|
209
|
+
const extLen = Number(r.readVarInt());
|
|
210
|
+
extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
|
|
211
|
+
}
|
|
212
|
+
const payloadLength = Number(r.readVarInt());
|
|
213
|
+
let payload;
|
|
214
|
+
let status;
|
|
215
|
+
let payloadByteOffset;
|
|
216
|
+
if (payloadLength === 0) {
|
|
217
|
+
status = r.readVarInt();
|
|
218
|
+
payloadByteOffset = r.offset;
|
|
219
|
+
payload = new Uint8Array(0);
|
|
220
|
+
} else {
|
|
221
|
+
payloadByteOffset = r.offset;
|
|
222
|
+
payload = r.readBytesView(payloadLength);
|
|
242
223
|
}
|
|
224
|
+
const obj = {
|
|
225
|
+
type: "object",
|
|
226
|
+
byteOffset,
|
|
227
|
+
payloadByteOffset,
|
|
228
|
+
objectId,
|
|
229
|
+
payloadLength,
|
|
230
|
+
extensionData,
|
|
231
|
+
payload
|
|
232
|
+
};
|
|
233
|
+
if (status !== void 0) obj.status = status;
|
|
234
|
+
objects.push(obj);
|
|
235
|
+
prevObjectId = objectId;
|
|
243
236
|
}
|
|
237
|
+
const result = {
|
|
238
|
+
type: "subgroup",
|
|
239
|
+
headerType: streamType,
|
|
240
|
+
trackAlias,
|
|
241
|
+
groupId,
|
|
242
|
+
subgroupId,
|
|
243
|
+
publisherPriority,
|
|
244
|
+
objects
|
|
245
|
+
};
|
|
246
|
+
if (endOfGroup) result.endOfGroup = true;
|
|
247
|
+
return {
|
|
248
|
+
ok: true,
|
|
249
|
+
value: result,
|
|
250
|
+
bytesRead: r.offset
|
|
251
|
+
};
|
|
252
|
+
} catch (e) {
|
|
253
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
|
|
254
|
+
throw e;
|
|
244
255
|
}
|
|
245
256
|
}
|
|
246
|
-
function
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
const
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
const
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
if (filter_type === 4n) {
|
|
276
|
-
filter.end_group = reader.readVarInt();
|
|
277
|
-
}
|
|
278
|
-
const consumed = reader.offset - startOff;
|
|
279
|
-
if (consumed < length) reader.readBytes(length - consumed);
|
|
280
|
-
result.subscription_filter = filter;
|
|
281
|
-
} else if (paramType % 2n === 0n) {
|
|
282
|
-
const value = reader.readVarInt();
|
|
283
|
-
const tmpWriter = new (0, _chunkFWISIR26cjs.BufferWriter)(16);
|
|
284
|
-
tmpWriter.writeVarInt(value);
|
|
285
|
-
const raw = tmpWriter.finish();
|
|
286
|
-
unknown.push({
|
|
287
|
-
id: `0x${paramType.toString(16)}`,
|
|
288
|
-
length: raw.byteLength,
|
|
289
|
-
raw_hex: bytesToHex(raw)
|
|
290
|
-
});
|
|
257
|
+
function decodeDatagram(bytes) {
|
|
258
|
+
try {
|
|
259
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
|
|
260
|
+
const dgType = Number(r.readVarInt());
|
|
261
|
+
const extensionsPresent = (dgType & 1) !== 0;
|
|
262
|
+
const objectIdAbsent = (dgType & 4) !== 0;
|
|
263
|
+
const endOfGroup = (dgType & 2) !== 0;
|
|
264
|
+
const defaultPriority = (dgType & 8) !== 0;
|
|
265
|
+
const isStatus = (dgType & 32) !== 0;
|
|
266
|
+
const trackAlias = r.readVarInt();
|
|
267
|
+
const groupId = r.readVarInt();
|
|
268
|
+
let objectId = 0n;
|
|
269
|
+
if (!objectIdAbsent) {
|
|
270
|
+
objectId = r.readVarInt();
|
|
271
|
+
}
|
|
272
|
+
let publisherPriority = 128;
|
|
273
|
+
if (!defaultPriority) {
|
|
274
|
+
publisherPriority = r.readUint8();
|
|
275
|
+
}
|
|
276
|
+
let extensionData;
|
|
277
|
+
if (extensionsPresent) {
|
|
278
|
+
const extLen = Number(r.readVarInt());
|
|
279
|
+
extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
|
|
280
|
+
}
|
|
281
|
+
let objectStatus;
|
|
282
|
+
let payload;
|
|
283
|
+
if (isStatus) {
|
|
284
|
+
objectStatus = r.readVarInt();
|
|
285
|
+
payload = new Uint8Array(0);
|
|
291
286
|
} else {
|
|
292
|
-
|
|
293
|
-
const bytes = reader.readBytes(length);
|
|
294
|
-
unknown.push({
|
|
295
|
-
id: `0x${paramType.toString(16)}`,
|
|
296
|
-
length,
|
|
297
|
-
raw_hex: bytesToHex(bytes)
|
|
298
|
-
});
|
|
287
|
+
payload = r.readBytesView(r.remaining);
|
|
299
288
|
}
|
|
289
|
+
const payloadLength = payload.byteLength;
|
|
290
|
+
const result = {
|
|
291
|
+
type: "datagram",
|
|
292
|
+
datagramType: dgType,
|
|
293
|
+
trackAlias,
|
|
294
|
+
groupId,
|
|
295
|
+
objectId,
|
|
296
|
+
publisherPriority,
|
|
297
|
+
payloadLength,
|
|
298
|
+
payload
|
|
299
|
+
};
|
|
300
|
+
if (endOfGroup) result.endOfGroup = true;
|
|
301
|
+
if (objectStatus !== void 0)
|
|
302
|
+
result.objectStatus = objectStatus;
|
|
303
|
+
if (extensionData !== void 0)
|
|
304
|
+
result.extensionData = extensionData;
|
|
305
|
+
return { ok: true, value: result, bytesRead: r.offset };
|
|
306
|
+
} catch (e) {
|
|
307
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
|
|
308
|
+
throw e;
|
|
300
309
|
}
|
|
301
|
-
if (unknown.length > 0) {
|
|
302
|
-
result.unknown = unknown;
|
|
303
|
-
}
|
|
304
|
-
return result;
|
|
305
|
-
}
|
|
306
|
-
function encodeClientSetupPayload(msg, w) {
|
|
307
|
-
encodeSetupParams(msg.parameters, w);
|
|
308
|
-
}
|
|
309
|
-
function encodeServerSetupPayload(msg, w) {
|
|
310
|
-
encodeSetupParams(msg.parameters, w);
|
|
311
|
-
}
|
|
312
|
-
function encodeSubscribePayload(msg, w) {
|
|
313
|
-
w.writeVarInt(msg.request_id);
|
|
314
|
-
w.writeTuple(msg.track_namespace);
|
|
315
|
-
w.writeString(msg.track_name);
|
|
316
|
-
encodeParams(msg.parameters, w);
|
|
317
|
-
}
|
|
318
|
-
function encodeSubscribeOkPayload(msg, w) {
|
|
319
|
-
w.writeVarInt(msg.request_id);
|
|
320
|
-
w.writeVarInt(msg.track_alias);
|
|
321
|
-
encodeParams(msg.parameters, w);
|
|
322
|
-
}
|
|
323
|
-
function encodeRequestUpdatePayload(msg, w) {
|
|
324
|
-
w.writeVarInt(msg.request_id);
|
|
325
|
-
w.writeVarInt(msg.existing_request_id);
|
|
326
|
-
encodeParams(msg.parameters, w);
|
|
327
|
-
}
|
|
328
|
-
function encodeUnsubscribePayload(msg, w) {
|
|
329
|
-
w.writeVarInt(msg.request_id);
|
|
330
|
-
}
|
|
331
|
-
function encodePublishPayload(msg, w) {
|
|
332
|
-
w.writeVarInt(msg.request_id);
|
|
333
|
-
w.writeTuple(msg.track_namespace);
|
|
334
|
-
w.writeString(msg.track_name);
|
|
335
|
-
w.writeVarInt(msg.track_alias);
|
|
336
|
-
encodeParams(msg.parameters, w);
|
|
337
|
-
}
|
|
338
|
-
function encodePublishOkPayload(msg, w) {
|
|
339
|
-
w.writeVarInt(msg.request_id);
|
|
340
|
-
encodeParams(msg.parameters, w);
|
|
341
|
-
}
|
|
342
|
-
function encodePublishDonePayload(msg, w) {
|
|
343
|
-
w.writeVarInt(msg.request_id);
|
|
344
|
-
w.writeVarInt(msg.status_code);
|
|
345
|
-
w.writeVarInt(msg.stream_count);
|
|
346
|
-
w.writeString(msg.reason_phrase);
|
|
347
|
-
}
|
|
348
|
-
function encodePublishNamespacePayload(msg, w) {
|
|
349
|
-
w.writeVarInt(msg.request_id);
|
|
350
|
-
w.writeTuple(msg.track_namespace);
|
|
351
|
-
encodeParams(msg.parameters, w);
|
|
352
|
-
}
|
|
353
|
-
function encodePublishNamespaceDonePayload(msg, w) {
|
|
354
|
-
w.writeVarInt(msg.request_id);
|
|
355
|
-
}
|
|
356
|
-
function encodePublishNamespaceCancelPayload(msg, w) {
|
|
357
|
-
w.writeVarInt(msg.request_id);
|
|
358
|
-
w.writeVarInt(msg.error_code);
|
|
359
|
-
w.writeString(msg.reason_phrase);
|
|
360
|
-
}
|
|
361
|
-
function encodeSubscribeNamespacePayload(msg, w) {
|
|
362
|
-
w.writeVarInt(msg.request_id);
|
|
363
|
-
w.writeTuple(msg.namespace_prefix);
|
|
364
|
-
w.writeVarInt(msg.subscribe_options);
|
|
365
|
-
encodeParams(msg.parameters, w);
|
|
366
|
-
}
|
|
367
|
-
function encodeNamespacePayload(msg, w) {
|
|
368
|
-
w.writeTuple(msg.namespace_suffix);
|
|
369
|
-
}
|
|
370
|
-
function encodeNamespaceDonePayload(msg, w) {
|
|
371
|
-
w.writeTuple(msg.namespace_suffix);
|
|
372
310
|
}
|
|
373
|
-
function
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
311
|
+
function decodeFetchStream(bytes) {
|
|
312
|
+
try {
|
|
313
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
|
|
314
|
+
const streamType = r.readVarInt();
|
|
315
|
+
if (streamType !== FETCH_STREAM_TYPE) {
|
|
316
|
+
return {
|
|
317
|
+
ok: false,
|
|
318
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
319
|
+
"CONSTRAINT_VIOLATION",
|
|
320
|
+
`Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
|
|
321
|
+
0
|
|
322
|
+
)
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
const requestId = r.readVarInt();
|
|
326
|
+
const objects = [];
|
|
327
|
+
let prevGroupId = 0n;
|
|
328
|
+
let prevSubgroupId = 0n;
|
|
329
|
+
let prevObjectId = 0n;
|
|
330
|
+
let prevPriority = 128;
|
|
331
|
+
let first = true;
|
|
332
|
+
while (r.remaining > 0) {
|
|
333
|
+
const byteOffset = r.offset;
|
|
334
|
+
const flags = Number(r.readVarInt());
|
|
335
|
+
let groupId = prevGroupId;
|
|
336
|
+
let subgroupId = prevSubgroupId;
|
|
337
|
+
let objectId = prevObjectId + 1n;
|
|
338
|
+
let payloadLength;
|
|
339
|
+
let payload;
|
|
340
|
+
if (flags >= 128) {
|
|
341
|
+
if (flags !== 140 && flags !== 268) {
|
|
342
|
+
return {
|
|
343
|
+
ok: false,
|
|
344
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
345
|
+
"CONSTRAINT_VIOLATION",
|
|
346
|
+
`Unknown serialization flags value: 0x${flags.toString(16)}`,
|
|
347
|
+
r.offset
|
|
348
|
+
)
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
groupId = r.readVarInt();
|
|
352
|
+
objectId = r.readVarInt();
|
|
353
|
+
payloadLength = Number(r.readVarInt());
|
|
354
|
+
const payloadByteOffset = r.offset;
|
|
355
|
+
payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
|
|
356
|
+
objects.push({
|
|
357
|
+
type: "object",
|
|
358
|
+
byteOffset,
|
|
359
|
+
payloadByteOffset,
|
|
360
|
+
serializationFlags: flags,
|
|
361
|
+
groupId,
|
|
362
|
+
subgroupId,
|
|
363
|
+
objectId,
|
|
364
|
+
publisherPriority: prevPriority,
|
|
365
|
+
payloadLength,
|
|
366
|
+
extensionData: new Uint8Array(0),
|
|
367
|
+
payload
|
|
368
|
+
});
|
|
369
|
+
} else {
|
|
370
|
+
const datagramForwarding = (flags & 64) !== 0;
|
|
371
|
+
const subgroupEncoding = datagramForwarding ? -1 : flags & 3;
|
|
372
|
+
const objectIdPresent = (flags & 4) !== 0;
|
|
373
|
+
const groupIdPresent = (flags & 8) !== 0;
|
|
374
|
+
const priorityPresent = (flags & 16) !== 0;
|
|
375
|
+
const extensionsPresent = (flags & 32) !== 0;
|
|
376
|
+
if (groupIdPresent) {
|
|
377
|
+
groupId = r.readVarInt();
|
|
378
|
+
} else if (first) {
|
|
379
|
+
return {
|
|
380
|
+
ok: false,
|
|
381
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
382
|
+
"CONSTRAINT_VIOLATION",
|
|
383
|
+
"First fetch object must include groupId",
|
|
384
|
+
r.offset
|
|
385
|
+
)
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
if (datagramForwarding) {
|
|
389
|
+
} else if (subgroupEncoding === 0) {
|
|
390
|
+
subgroupId = 0n;
|
|
391
|
+
} else if (subgroupEncoding === 1) {
|
|
392
|
+
if (first) {
|
|
393
|
+
return {
|
|
394
|
+
ok: false,
|
|
395
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
396
|
+
"CONSTRAINT_VIOLATION",
|
|
397
|
+
"First fetch object cannot reference prior subgroupId",
|
|
398
|
+
r.offset
|
|
399
|
+
)
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
} else if (subgroupEncoding === 2) {
|
|
403
|
+
if (first) {
|
|
404
|
+
return {
|
|
405
|
+
ok: false,
|
|
406
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
407
|
+
"CONSTRAINT_VIOLATION",
|
|
408
|
+
"First fetch object cannot reference prior subgroupId",
|
|
409
|
+
r.offset
|
|
410
|
+
)
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
subgroupId = prevSubgroupId + 1n;
|
|
414
|
+
} else {
|
|
415
|
+
subgroupId = r.readVarInt();
|
|
416
|
+
}
|
|
417
|
+
if (objectIdPresent) {
|
|
418
|
+
objectId = r.readVarInt();
|
|
419
|
+
} else if (first) {
|
|
420
|
+
return {
|
|
421
|
+
ok: false,
|
|
422
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
423
|
+
"CONSTRAINT_VIOLATION",
|
|
424
|
+
"First fetch object must include objectId",
|
|
425
|
+
r.offset
|
|
426
|
+
)
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
if (priorityPresent) {
|
|
430
|
+
prevPriority = r.readUint8();
|
|
431
|
+
}
|
|
432
|
+
let extensionData = new Uint8Array(0);
|
|
433
|
+
if (extensionsPresent) {
|
|
434
|
+
const extLen = Number(r.readVarInt());
|
|
435
|
+
extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
|
|
436
|
+
}
|
|
437
|
+
payloadLength = Number(r.readVarInt());
|
|
438
|
+
const payloadByteOffset = r.offset;
|
|
439
|
+
payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
|
|
440
|
+
objects.push({
|
|
441
|
+
type: "object",
|
|
442
|
+
byteOffset,
|
|
443
|
+
payloadByteOffset,
|
|
444
|
+
serializationFlags: flags,
|
|
445
|
+
groupId,
|
|
446
|
+
subgroupId,
|
|
447
|
+
objectId,
|
|
448
|
+
publisherPriority: prevPriority,
|
|
449
|
+
payloadLength,
|
|
450
|
+
extensionData,
|
|
451
|
+
payload
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
prevGroupId = groupId;
|
|
455
|
+
prevSubgroupId = subgroupId;
|
|
456
|
+
prevObjectId = objectId;
|
|
457
|
+
first = false;
|
|
458
|
+
}
|
|
459
|
+
return {
|
|
460
|
+
ok: true,
|
|
461
|
+
value: { type: "fetch", requestId, objects },
|
|
462
|
+
bytesRead: r.offset
|
|
463
|
+
};
|
|
464
|
+
} catch (e) {
|
|
465
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
|
|
466
|
+
throw e;
|
|
387
467
|
}
|
|
388
|
-
encodeParams(msg.parameters, w);
|
|
389
|
-
}
|
|
390
|
-
function encodeFetchOkPayload(msg, w) {
|
|
391
|
-
w.writeVarInt(msg.request_id);
|
|
392
|
-
w.writeUint8(msg.end_of_track);
|
|
393
|
-
w.writeVarInt(msg.end_group);
|
|
394
|
-
w.writeVarInt(msg.end_object);
|
|
395
|
-
encodeParams(msg.parameters, w);
|
|
396
468
|
}
|
|
397
|
-
function
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
469
|
+
function decodeDataStream(streamType, bytes) {
|
|
470
|
+
switch (streamType) {
|
|
471
|
+
case "subgroup":
|
|
472
|
+
return decodeSubgroupStream(bytes);
|
|
473
|
+
case "datagram":
|
|
474
|
+
return decodeDatagram(bytes);
|
|
475
|
+
case "fetch":
|
|
476
|
+
return decodeFetchStream(bytes);
|
|
477
|
+
default: {
|
|
478
|
+
const _exhaustive = streamType;
|
|
479
|
+
throw new Error(`Unknown stream type: ${_exhaustive}`);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
405
482
|
}
|
|
406
|
-
function
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
483
|
+
function createSubgroupStreamDecoder() {
|
|
484
|
+
let buffer = new Uint8Array(0);
|
|
485
|
+
let offset = 0;
|
|
486
|
+
let headerEmitted = false;
|
|
487
|
+
let prevObjectId = -1n;
|
|
488
|
+
let firstObject = true;
|
|
489
|
+
let _subgroupIsFirstObjId = false;
|
|
490
|
+
let _extensionsPresent = false;
|
|
491
|
+
return new TransformStream({
|
|
492
|
+
transform(chunk, controller) {
|
|
493
|
+
if (offset > 0) {
|
|
494
|
+
buffer = buffer.subarray(offset);
|
|
495
|
+
offset = 0;
|
|
496
|
+
}
|
|
497
|
+
const newBuffer = new Uint8Array(buffer.length + chunk.length);
|
|
498
|
+
newBuffer.set(buffer, 0);
|
|
499
|
+
newBuffer.set(chunk, buffer.length);
|
|
500
|
+
buffer = newBuffer;
|
|
501
|
+
if (!headerEmitted) {
|
|
502
|
+
try {
|
|
503
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
|
|
504
|
+
const streamType = Number(r.readVarInt());
|
|
505
|
+
if (!(streamType >= 16 && streamType <= 31 || streamType >= 48 && streamType <= 63)) {
|
|
506
|
+
controller.error(
|
|
507
|
+
new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
508
|
+
"CONSTRAINT_VIOLATION",
|
|
509
|
+
`Expected subgroup stream type, got 0x${streamType.toString(16)}`,
|
|
510
|
+
0
|
|
511
|
+
)
|
|
512
|
+
);
|
|
513
|
+
return;
|
|
514
|
+
}
|
|
515
|
+
_extensionsPresent = (streamType & 1) !== 0;
|
|
516
|
+
const hasSubgroupField = (streamType & 4) !== 0;
|
|
517
|
+
_subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
|
|
518
|
+
const hasPriority = streamType < 48;
|
|
519
|
+
const trackAlias = r.readVarInt();
|
|
520
|
+
const groupId = r.readVarInt();
|
|
521
|
+
let subgroupId = 0n;
|
|
522
|
+
if (hasSubgroupField) {
|
|
523
|
+
subgroupId = r.readVarInt();
|
|
524
|
+
}
|
|
525
|
+
let publisherPriority = 128;
|
|
526
|
+
if (hasPriority) {
|
|
527
|
+
publisherPriority = r.readUint8();
|
|
528
|
+
}
|
|
529
|
+
controller.enqueue({
|
|
530
|
+
type: "subgroup_header",
|
|
531
|
+
trackAlias,
|
|
532
|
+
groupId,
|
|
533
|
+
subgroupId,
|
|
534
|
+
publisherPriority
|
|
535
|
+
});
|
|
536
|
+
headerEmitted = true;
|
|
537
|
+
offset += r.offset;
|
|
538
|
+
} catch (e) {
|
|
539
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
540
|
+
return;
|
|
541
|
+
}
|
|
542
|
+
controller.error(e);
|
|
543
|
+
return;
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
while (offset < buffer.length) {
|
|
547
|
+
try {
|
|
548
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
|
|
549
|
+
const delta = r.readVarInt();
|
|
550
|
+
let objectId;
|
|
551
|
+
if (firstObject) {
|
|
552
|
+
objectId = delta;
|
|
553
|
+
firstObject = false;
|
|
554
|
+
} else {
|
|
555
|
+
objectId = prevObjectId + 1n + delta;
|
|
556
|
+
}
|
|
557
|
+
let extensionData = new Uint8Array(0);
|
|
558
|
+
if (_extensionsPresent) {
|
|
559
|
+
const extLen = Number(r.readVarInt());
|
|
560
|
+
extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
|
|
561
|
+
}
|
|
562
|
+
const payloadLength = Number(r.readVarInt());
|
|
563
|
+
let payloadByteOffset;
|
|
564
|
+
let status;
|
|
565
|
+
if (payloadLength === 0) {
|
|
566
|
+
status = r.readVarInt();
|
|
567
|
+
payloadByteOffset = r.offset;
|
|
568
|
+
} else {
|
|
569
|
+
payloadByteOffset = r.offset;
|
|
570
|
+
}
|
|
571
|
+
const payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
|
|
572
|
+
const obj = {
|
|
573
|
+
type: "object",
|
|
574
|
+
byteOffset: 0,
|
|
575
|
+
payloadByteOffset,
|
|
576
|
+
objectId,
|
|
577
|
+
payloadLength,
|
|
578
|
+
payload,
|
|
579
|
+
extensionData
|
|
580
|
+
};
|
|
581
|
+
if (status !== void 0) obj.status = status;
|
|
582
|
+
controller.enqueue(obj);
|
|
583
|
+
offset += r.offset;
|
|
584
|
+
prevObjectId = objectId;
|
|
585
|
+
} catch (e) {
|
|
586
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
587
|
+
break;
|
|
588
|
+
}
|
|
589
|
+
controller.error(e);
|
|
590
|
+
return;
|
|
591
|
+
}
|
|
592
|
+
}
|
|
593
|
+
},
|
|
594
|
+
flush(controller) {
|
|
595
|
+
if (offset < buffer.length) {
|
|
596
|
+
controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
});
|
|
432
600
|
}
|
|
433
|
-
function
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
601
|
+
function createFetchStreamDecoder() {
|
|
602
|
+
let buffer = new Uint8Array(0);
|
|
603
|
+
let offset = 0;
|
|
604
|
+
let headerEmitted = false;
|
|
605
|
+
return new TransformStream({
|
|
606
|
+
transform(chunk, controller) {
|
|
607
|
+
if (offset > 0) {
|
|
608
|
+
buffer = buffer.subarray(offset);
|
|
609
|
+
offset = 0;
|
|
610
|
+
}
|
|
611
|
+
const newBuffer = new Uint8Array(buffer.length + chunk.length);
|
|
612
|
+
newBuffer.set(buffer, 0);
|
|
613
|
+
newBuffer.set(chunk, buffer.length);
|
|
614
|
+
buffer = newBuffer;
|
|
615
|
+
if (!headerEmitted) {
|
|
616
|
+
try {
|
|
617
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
|
|
618
|
+
const streamType = r.readVarInt();
|
|
619
|
+
if (streamType !== FETCH_STREAM_TYPE) {
|
|
620
|
+
controller.error(
|
|
621
|
+
new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
622
|
+
"CONSTRAINT_VIOLATION",
|
|
623
|
+
`Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
|
|
624
|
+
0
|
|
625
|
+
)
|
|
626
|
+
);
|
|
627
|
+
return;
|
|
628
|
+
}
|
|
629
|
+
const requestId = r.readVarInt();
|
|
630
|
+
controller.enqueue({ type: "fetch_header", requestId });
|
|
631
|
+
headerEmitted = true;
|
|
632
|
+
offset += r.offset;
|
|
633
|
+
} catch (e) {
|
|
634
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
635
|
+
return;
|
|
636
|
+
}
|
|
637
|
+
controller.error(e);
|
|
638
|
+
return;
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
while (offset < buffer.length) {
|
|
642
|
+
try {
|
|
643
|
+
const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(buffer.subarray(offset));
|
|
644
|
+
const flags = Number(r.readVarInt());
|
|
645
|
+
const objectIdPresent = (flags & 4) !== 0;
|
|
646
|
+
const groupIdPresent = (flags & 8) !== 0;
|
|
647
|
+
const priorityPresent = (flags & 16) !== 0;
|
|
648
|
+
const extensionsPresent = (flags & 32) !== 0;
|
|
649
|
+
const subgroupEncoding = flags & 3;
|
|
650
|
+
if (groupIdPresent) r.readVarInt();
|
|
651
|
+
if (subgroupEncoding === 3) r.readVarInt();
|
|
652
|
+
let objectId = 0n;
|
|
653
|
+
if (objectIdPresent) objectId = r.readVarInt();
|
|
654
|
+
if (priorityPresent) r.readUint8();
|
|
655
|
+
let extensionData = new Uint8Array(0);
|
|
656
|
+
if (extensionsPresent) {
|
|
657
|
+
const extLen = Number(r.readVarInt());
|
|
658
|
+
extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
|
|
659
|
+
}
|
|
660
|
+
const payloadLength = Number(r.readVarInt());
|
|
661
|
+
const payloadByteOffset = r.offset;
|
|
662
|
+
const payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
|
|
663
|
+
controller.enqueue({
|
|
664
|
+
type: "object",
|
|
665
|
+
byteOffset: 0,
|
|
666
|
+
payloadByteOffset,
|
|
667
|
+
objectId,
|
|
668
|
+
payloadLength,
|
|
669
|
+
payload,
|
|
670
|
+
extensionData
|
|
671
|
+
});
|
|
672
|
+
offset += r.offset;
|
|
673
|
+
} catch (e) {
|
|
674
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
675
|
+
break;
|
|
676
|
+
}
|
|
677
|
+
controller.error(e);
|
|
678
|
+
return;
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
},
|
|
682
|
+
flush(controller) {
|
|
683
|
+
if (offset < buffer.length) {
|
|
684
|
+
controller.error(new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
});
|
|
439
688
|
}
|
|
440
|
-
function
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
return {
|
|
689
|
+
function createDataStreamDecoder() {
|
|
690
|
+
let buffer = new Uint8Array(0);
|
|
691
|
+
let offset = 0;
|
|
692
|
+
let inner = null;
|
|
693
|
+
return new TransformStream({
|
|
694
|
+
transform(chunk, controller) {
|
|
695
|
+
if (offset > 0) {
|
|
696
|
+
buffer = buffer.subarray(offset);
|
|
697
|
+
offset = 0;
|
|
698
|
+
}
|
|
699
|
+
const newBuffer = new Uint8Array(buffer.length + chunk.length);
|
|
700
|
+
newBuffer.set(buffer, 0);
|
|
701
|
+
newBuffer.set(chunk, buffer.length);
|
|
702
|
+
buffer = newBuffer;
|
|
703
|
+
if (inner === null) {
|
|
704
|
+
if (offset >= buffer.length) return;
|
|
705
|
+
const firstByte = buffer[offset];
|
|
706
|
+
if (firstByte >= 16 && firstByte <= 31 || firstByte >= 48 && firstByte <= 63) {
|
|
707
|
+
const decoder = createSubgroupStreamDecoder();
|
|
708
|
+
inner = decoder;
|
|
709
|
+
} else if (firstByte === 5) {
|
|
710
|
+
const decoder = createFetchStreamDecoder();
|
|
711
|
+
inner = decoder;
|
|
712
|
+
} else {
|
|
713
|
+
controller.error(
|
|
714
|
+
new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
715
|
+
"CONSTRAINT_VIOLATION",
|
|
716
|
+
`Unknown data stream type: 0x${firstByte.toString(16)}`,
|
|
717
|
+
0
|
|
718
|
+
)
|
|
719
|
+
);
|
|
720
|
+
return;
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
},
|
|
724
|
+
flush(controller) {
|
|
725
|
+
if (offset >= buffer.length) return;
|
|
726
|
+
const view = buffer.subarray(offset);
|
|
727
|
+
const firstByte = view[0];
|
|
728
|
+
let result;
|
|
729
|
+
if (firstByte >= 16 && firstByte <= 31 || firstByte >= 48 && firstByte <= 63) {
|
|
730
|
+
result = decodeSubgroupStream(view);
|
|
731
|
+
} else if (firstByte === 5) {
|
|
732
|
+
result = decodeFetchStream(view);
|
|
733
|
+
} else {
|
|
734
|
+
controller.error(
|
|
735
|
+
new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
736
|
+
"CONSTRAINT_VIOLATION",
|
|
737
|
+
`Unknown data stream type: 0x${firstByte.toString(16)}`,
|
|
738
|
+
0
|
|
739
|
+
)
|
|
740
|
+
);
|
|
741
|
+
return;
|
|
742
|
+
}
|
|
743
|
+
if (!result.ok) {
|
|
744
|
+
controller.error(result.error);
|
|
745
|
+
return;
|
|
746
|
+
}
|
|
747
|
+
const stream = result.value;
|
|
748
|
+
if (stream.type === "subgroup") {
|
|
749
|
+
controller.enqueue({
|
|
750
|
+
type: "subgroup_header",
|
|
751
|
+
trackAlias: stream.trackAlias,
|
|
752
|
+
groupId: stream.groupId,
|
|
753
|
+
subgroupId: stream.subgroupId,
|
|
754
|
+
publisherPriority: stream.publisherPriority
|
|
755
|
+
});
|
|
756
|
+
for (const obj of stream.objects) {
|
|
757
|
+
controller.enqueue(obj);
|
|
758
|
+
}
|
|
759
|
+
} else if (stream.type === "fetch") {
|
|
760
|
+
controller.enqueue({
|
|
761
|
+
type: "fetch_header",
|
|
762
|
+
requestId: stream.requestId
|
|
763
|
+
});
|
|
764
|
+
for (const obj of stream.objects) {
|
|
765
|
+
controller.enqueue(obj);
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
});
|
|
445
770
|
}
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
771
|
+
|
|
772
|
+
// src/drafts/draft16/codec.ts
|
|
773
|
+
var textEncoder = /* @__PURE__ */ new TextEncoder();
|
|
774
|
+
var textDecoder = /* @__PURE__ */ new TextDecoder();
|
|
775
|
+
function encodeSetupParams(params, writer) {
|
|
776
|
+
let count = 0;
|
|
777
|
+
if (params.path !== void 0) count++;
|
|
778
|
+
if (params.max_request_id !== void 0) count++;
|
|
779
|
+
if (params.authorization_token !== void 0) count++;
|
|
780
|
+
if (params.max_auth_token_cache_size !== void 0) count++;
|
|
781
|
+
if (params.authority !== void 0) count++;
|
|
782
|
+
if (params.moqt_implementation !== void 0) count++;
|
|
783
|
+
if (params.unknown) count += params.unknown.length;
|
|
784
|
+
writer.writeVarInt(count);
|
|
785
|
+
if (params.path !== void 0) {
|
|
786
|
+
writer.writeVarInt(SETUP_PARAM_PATH);
|
|
787
|
+
const encoded = textEncoder.encode(params.path);
|
|
788
|
+
writer.writeVarInt(encoded.byteLength);
|
|
789
|
+
writer.writeBytes(encoded);
|
|
790
|
+
}
|
|
791
|
+
if (params.max_request_id !== void 0) {
|
|
792
|
+
writer.writeVarInt(SETUP_PARAM_MAX_REQUEST_ID);
|
|
793
|
+
writer.writeVarInt(params.max_request_id);
|
|
794
|
+
}
|
|
795
|
+
if (params.authorization_token !== void 0) {
|
|
796
|
+
writer.writeVarInt(SETUP_PARAM_AUTHORIZATION_TOKEN);
|
|
797
|
+
const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(64);
|
|
798
|
+
encodeAuthorizationToken(params.authorization_token, tmpW);
|
|
799
|
+
const raw = tmpW.finish();
|
|
800
|
+
writer.writeVarInt(raw.byteLength);
|
|
801
|
+
writer.writeBytes(raw);
|
|
802
|
+
}
|
|
803
|
+
if (params.max_auth_token_cache_size !== void 0) {
|
|
804
|
+
writer.writeVarInt(SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE);
|
|
805
|
+
writer.writeVarInt(params.max_auth_token_cache_size);
|
|
806
|
+
}
|
|
807
|
+
if (params.authority !== void 0) {
|
|
808
|
+
writer.writeVarInt(SETUP_PARAM_AUTHORITY);
|
|
809
|
+
const encoded = textEncoder.encode(params.authority);
|
|
810
|
+
writer.writeVarInt(encoded.byteLength);
|
|
811
|
+
writer.writeBytes(encoded);
|
|
812
|
+
}
|
|
813
|
+
if (params.moqt_implementation !== void 0) {
|
|
814
|
+
writer.writeVarInt(SETUP_PARAM_MOQT_IMPLEMENTATION);
|
|
815
|
+
const encoded = textEncoder.encode(params.moqt_implementation);
|
|
816
|
+
writer.writeVarInt(encoded.byteLength);
|
|
817
|
+
writer.writeBytes(encoded);
|
|
818
|
+
}
|
|
819
|
+
if (params.unknown) {
|
|
820
|
+
for (const u of params.unknown) {
|
|
821
|
+
const id = BigInt(u.id);
|
|
822
|
+
writer.writeVarInt(id);
|
|
823
|
+
if (id % 2n === 0n) {
|
|
824
|
+
const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
|
|
825
|
+
const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(raw);
|
|
826
|
+
const value = tmpReader.readVarInt();
|
|
827
|
+
writer.writeVarInt(value);
|
|
828
|
+
} else {
|
|
829
|
+
const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
|
|
830
|
+
writer.writeVarInt(raw.byteLength);
|
|
831
|
+
writer.writeBytes(raw);
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
}
|
|
451
835
|
}
|
|
452
|
-
function
|
|
453
|
-
const
|
|
454
|
-
|
|
836
|
+
function decodeSetupParams(reader) {
|
|
837
|
+
const count = Number(reader.readVarInt());
|
|
838
|
+
const result = {};
|
|
839
|
+
const unknown = [];
|
|
840
|
+
for (let i = 0; i < count; i++) {
|
|
841
|
+
const paramType = reader.readVarInt();
|
|
842
|
+
if (paramType % 2n === 0n) {
|
|
843
|
+
const value = reader.readVarInt();
|
|
844
|
+
if (paramType === SETUP_PARAM_MAX_REQUEST_ID) {
|
|
845
|
+
result.max_request_id = value;
|
|
846
|
+
} else if (paramType === SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE) {
|
|
847
|
+
result.max_auth_token_cache_size = value;
|
|
848
|
+
} else {
|
|
849
|
+
const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
|
|
850
|
+
tmpWriter.writeVarInt(value);
|
|
851
|
+
const raw = tmpWriter.finish();
|
|
852
|
+
unknown.push({
|
|
853
|
+
id: `0x${paramType.toString(16)}`,
|
|
854
|
+
length: raw.byteLength,
|
|
855
|
+
raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
|
|
856
|
+
});
|
|
857
|
+
}
|
|
858
|
+
} else {
|
|
859
|
+
const length = Number(reader.readVarInt());
|
|
860
|
+
const bytes = reader.readBytes(length);
|
|
861
|
+
if (paramType === SETUP_PARAM_PATH) {
|
|
862
|
+
result.path = textDecoder.decode(bytes);
|
|
863
|
+
} else if (paramType === SETUP_PARAM_AUTHORIZATION_TOKEN) {
|
|
864
|
+
result.authorization_token = decodeAuthorizationToken(new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes));
|
|
865
|
+
} else if (paramType === SETUP_PARAM_AUTHORITY) {
|
|
866
|
+
result.authority = textDecoder.decode(bytes);
|
|
867
|
+
} else if (paramType === SETUP_PARAM_MOQT_IMPLEMENTATION) {
|
|
868
|
+
result.moqt_implementation = textDecoder.decode(bytes);
|
|
869
|
+
} else {
|
|
870
|
+
unknown.push({
|
|
871
|
+
id: `0x${paramType.toString(16)}`,
|
|
872
|
+
length,
|
|
873
|
+
raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
|
|
874
|
+
});
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
if (unknown.length > 0) {
|
|
879
|
+
result.unknown = unknown;
|
|
880
|
+
}
|
|
881
|
+
return result;
|
|
455
882
|
}
|
|
456
|
-
function
|
|
457
|
-
|
|
458
|
-
const
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
883
|
+
function encodeAuthorizationToken(token, w) {
|
|
884
|
+
w.writeVarInt(token.alias_type);
|
|
885
|
+
const aliasType = Number(token.alias_type);
|
|
886
|
+
if (aliasType === 0 || aliasType === 1) {
|
|
887
|
+
w.writeVarInt(token.token_alias);
|
|
888
|
+
}
|
|
889
|
+
if (aliasType === 1 || aliasType === 3) {
|
|
890
|
+
w.writeVarInt(token.token_type);
|
|
891
|
+
const tokenBytes = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, token.token_value_hex);
|
|
892
|
+
w.writeBytes(tokenBytes);
|
|
893
|
+
}
|
|
463
894
|
}
|
|
464
|
-
function
|
|
465
|
-
const
|
|
466
|
-
const
|
|
467
|
-
|
|
895
|
+
function decodeAuthorizationToken(r) {
|
|
896
|
+
const alias_type = r.readVarInt();
|
|
897
|
+
const aliasType = Number(alias_type);
|
|
898
|
+
const result = { alias_type };
|
|
899
|
+
if (aliasType === 0 || aliasType === 1) {
|
|
900
|
+
result.token_alias = r.readVarInt();
|
|
901
|
+
}
|
|
902
|
+
if (aliasType === 1 || aliasType === 3) {
|
|
903
|
+
result.token_type = r.readVarInt();
|
|
904
|
+
const tokenBytes = r.readBytesView(r.remaining);
|
|
905
|
+
result.token_value_hex = _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, tokenBytes);
|
|
906
|
+
}
|
|
907
|
+
return result;
|
|
468
908
|
}
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
909
|
+
var PARAM_DELIVERY_TIMEOUT = 0x02n;
|
|
910
|
+
var PARAM_AUTHORIZATION_TOKEN = 0x03n;
|
|
911
|
+
var PARAM_MAX_CACHE_DURATION = 0x04n;
|
|
912
|
+
var PARAM_EXPIRES = 0x08n;
|
|
913
|
+
var PARAM_LARGEST_OBJECT = 0x09n;
|
|
914
|
+
var PARAM_PUBLISHER_PRIORITY = 0x0en;
|
|
915
|
+
var PARAM_FORWARD = 0x10n;
|
|
916
|
+
var PARAM_SUBSCRIBER_PRIORITY = 0x20n;
|
|
917
|
+
var PARAM_SUBSCRIPTION_FILTER = 0x21n;
|
|
918
|
+
var PARAM_GROUP_ORDER = 0x22n;
|
|
919
|
+
var PARAM_DYNAMIC_GROUPS = 0x30n;
|
|
920
|
+
var PARAM_NEW_GROUP_REQUEST = 0x32n;
|
|
921
|
+
var TRACK_EXT_DELIVERY_TIMEOUT = 0x02n;
|
|
922
|
+
var TRACK_EXT_MAX_CACHE_DURATION = 0x04n;
|
|
923
|
+
var TRACK_EXT_DEFAULT_PUBLISHER_PRIORITY = 0x0en;
|
|
924
|
+
function encodeTrackExtensions(ext, writer) {
|
|
925
|
+
if (ext.delivery_timeout !== void 0) {
|
|
926
|
+
writer.writeVarInt(TRACK_EXT_DELIVERY_TIMEOUT);
|
|
927
|
+
writer.writeVarInt(ext.delivery_timeout);
|
|
928
|
+
}
|
|
929
|
+
if (ext.max_cache_duration !== void 0) {
|
|
930
|
+
writer.writeVarInt(TRACK_EXT_MAX_CACHE_DURATION);
|
|
931
|
+
writer.writeVarInt(ext.max_cache_duration);
|
|
932
|
+
}
|
|
933
|
+
if (ext.default_publisher_priority !== void 0) {
|
|
934
|
+
writer.writeVarInt(TRACK_EXT_DEFAULT_PUBLISHER_PRIORITY);
|
|
935
|
+
writer.writeVarInt(ext.default_publisher_priority);
|
|
936
|
+
}
|
|
937
|
+
if (ext.unknown) {
|
|
938
|
+
for (const u of ext.unknown) {
|
|
939
|
+
const id = BigInt(u.id);
|
|
940
|
+
writer.writeVarInt(id);
|
|
941
|
+
if (id % 2n === 0n) {
|
|
942
|
+
const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
|
|
943
|
+
const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(raw);
|
|
944
|
+
const value = tmpReader.readVarInt();
|
|
945
|
+
writer.writeVarInt(value);
|
|
946
|
+
} else {
|
|
947
|
+
const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
|
|
948
|
+
writer.writeVarInt(raw.byteLength);
|
|
949
|
+
writer.writeBytes(raw);
|
|
950
|
+
}
|
|
951
|
+
}
|
|
952
|
+
}
|
|
475
953
|
}
|
|
476
|
-
function
|
|
477
|
-
const
|
|
478
|
-
const
|
|
479
|
-
|
|
480
|
-
|
|
954
|
+
function decodeTrackExtensions(reader) {
|
|
955
|
+
const result = {};
|
|
956
|
+
const unknown = [];
|
|
957
|
+
while (reader.remaining > 0) {
|
|
958
|
+
const extType = reader.readVarInt();
|
|
959
|
+
if (extType === TRACK_EXT_DELIVERY_TIMEOUT) {
|
|
960
|
+
result.delivery_timeout = reader.readVarInt();
|
|
961
|
+
} else if (extType === TRACK_EXT_MAX_CACHE_DURATION) {
|
|
962
|
+
result.max_cache_duration = reader.readVarInt();
|
|
963
|
+
} else if (extType === TRACK_EXT_DEFAULT_PUBLISHER_PRIORITY) {
|
|
964
|
+
result.default_publisher_priority = reader.readVarInt();
|
|
965
|
+
} else if (extType % 2n === 0n) {
|
|
966
|
+
const value = reader.readVarInt();
|
|
967
|
+
const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
|
|
968
|
+
tmpWriter.writeVarInt(value);
|
|
969
|
+
const raw = tmpWriter.finish();
|
|
970
|
+
unknown.push({
|
|
971
|
+
id: `0x${extType.toString(16)}`,
|
|
972
|
+
length: raw.byteLength,
|
|
973
|
+
raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
|
|
974
|
+
});
|
|
975
|
+
} else {
|
|
976
|
+
const length = Number(reader.readVarInt());
|
|
977
|
+
const bytes = reader.readBytes(length);
|
|
978
|
+
unknown.push({
|
|
979
|
+
id: `0x${extType.toString(16)}`,
|
|
980
|
+
length,
|
|
981
|
+
raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
|
|
982
|
+
});
|
|
983
|
+
}
|
|
984
|
+
}
|
|
985
|
+
if (unknown.length > 0) {
|
|
986
|
+
result.unknown = unknown;
|
|
987
|
+
}
|
|
988
|
+
return result;
|
|
481
989
|
}
|
|
482
|
-
function
|
|
483
|
-
|
|
484
|
-
|
|
990
|
+
function encodeParams(params, writer) {
|
|
991
|
+
let count = params.unknown ? params.unknown.length : 0;
|
|
992
|
+
if (params.delivery_timeout !== void 0) count++;
|
|
993
|
+
if (params.authorization_token !== void 0) count++;
|
|
994
|
+
if (params.max_cache_duration !== void 0) count++;
|
|
995
|
+
if (params.expires !== void 0) count++;
|
|
996
|
+
if (params.largest_object !== void 0) count++;
|
|
997
|
+
if (params.publisher_priority !== void 0) count++;
|
|
998
|
+
if (params.forward !== void 0) count++;
|
|
999
|
+
if (params.subscriber_priority !== void 0) count++;
|
|
1000
|
+
if (params.subscription_filter !== void 0) count++;
|
|
1001
|
+
if (params.group_order !== void 0) count++;
|
|
1002
|
+
if (params.dynamic_groups !== void 0) count++;
|
|
1003
|
+
if (params.new_group_request !== void 0) count++;
|
|
1004
|
+
writer.writeVarInt(count);
|
|
1005
|
+
if (params.delivery_timeout !== void 0) {
|
|
1006
|
+
writer.writeVarInt(PARAM_DELIVERY_TIMEOUT);
|
|
1007
|
+
writer.writeVarInt(params.delivery_timeout);
|
|
1008
|
+
}
|
|
1009
|
+
if (params.authorization_token !== void 0) {
|
|
1010
|
+
writer.writeVarInt(PARAM_AUTHORIZATION_TOKEN);
|
|
1011
|
+
const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(64);
|
|
1012
|
+
encodeAuthorizationToken(params.authorization_token, tmpW);
|
|
1013
|
+
const raw = tmpW.finish();
|
|
1014
|
+
writer.writeVarInt(raw.byteLength);
|
|
1015
|
+
writer.writeBytes(raw);
|
|
1016
|
+
}
|
|
1017
|
+
if (params.max_cache_duration !== void 0) {
|
|
1018
|
+
writer.writeVarInt(PARAM_MAX_CACHE_DURATION);
|
|
1019
|
+
writer.writeVarInt(params.max_cache_duration);
|
|
1020
|
+
}
|
|
1021
|
+
if (params.expires !== void 0) {
|
|
1022
|
+
writer.writeVarInt(PARAM_EXPIRES);
|
|
1023
|
+
writer.writeVarInt(params.expires);
|
|
1024
|
+
}
|
|
1025
|
+
if (params.largest_object !== void 0) {
|
|
1026
|
+
writer.writeVarInt(PARAM_LARGEST_OBJECT);
|
|
1027
|
+
const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
|
|
1028
|
+
tmpW.writeVarInt(params.largest_object.group);
|
|
1029
|
+
tmpW.writeVarInt(params.largest_object.object);
|
|
1030
|
+
const raw = tmpW.finish();
|
|
1031
|
+
writer.writeVarInt(raw.byteLength);
|
|
1032
|
+
writer.writeBytes(raw);
|
|
1033
|
+
}
|
|
1034
|
+
if (params.publisher_priority !== void 0) {
|
|
1035
|
+
writer.writeVarInt(PARAM_PUBLISHER_PRIORITY);
|
|
1036
|
+
writer.writeVarInt(params.publisher_priority);
|
|
1037
|
+
}
|
|
1038
|
+
if (params.forward !== void 0) {
|
|
1039
|
+
writer.writeVarInt(PARAM_FORWARD);
|
|
1040
|
+
writer.writeVarInt(params.forward);
|
|
1041
|
+
}
|
|
1042
|
+
if (params.subscriber_priority !== void 0) {
|
|
1043
|
+
writer.writeVarInt(PARAM_SUBSCRIBER_PRIORITY);
|
|
1044
|
+
writer.writeVarInt(params.subscriber_priority);
|
|
1045
|
+
}
|
|
1046
|
+
if (params.subscription_filter !== void 0) {
|
|
1047
|
+
writer.writeVarInt(PARAM_SUBSCRIPTION_FILTER);
|
|
1048
|
+
const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(32);
|
|
1049
|
+
const f = params.subscription_filter;
|
|
1050
|
+
tmpW.writeVarInt(f.filter_type);
|
|
1051
|
+
if (f.filter_type === 3n || f.filter_type === 4n) {
|
|
1052
|
+
tmpW.writeVarInt(f.start_group);
|
|
1053
|
+
tmpW.writeVarInt(f.start_object);
|
|
1054
|
+
}
|
|
1055
|
+
if (f.filter_type === 4n) {
|
|
1056
|
+
tmpW.writeVarInt(f.end_group);
|
|
1057
|
+
}
|
|
1058
|
+
const raw = tmpW.finish();
|
|
1059
|
+
writer.writeVarInt(raw.byteLength);
|
|
1060
|
+
writer.writeBytes(raw);
|
|
1061
|
+
}
|
|
1062
|
+
if (params.group_order !== void 0) {
|
|
1063
|
+
writer.writeVarInt(PARAM_GROUP_ORDER);
|
|
1064
|
+
writer.writeVarInt(params.group_order);
|
|
1065
|
+
}
|
|
1066
|
+
if (params.dynamic_groups !== void 0) {
|
|
1067
|
+
writer.writeVarInt(PARAM_DYNAMIC_GROUPS);
|
|
1068
|
+
writer.writeVarInt(params.dynamic_groups);
|
|
1069
|
+
}
|
|
1070
|
+
if (params.new_group_request !== void 0) {
|
|
1071
|
+
writer.writeVarInt(PARAM_NEW_GROUP_REQUEST);
|
|
1072
|
+
writer.writeVarInt(params.new_group_request);
|
|
1073
|
+
}
|
|
1074
|
+
if (params.unknown) {
|
|
1075
|
+
for (const u of params.unknown) {
|
|
1076
|
+
const id = BigInt(u.id);
|
|
1077
|
+
writer.writeVarInt(id);
|
|
1078
|
+
if (id % 2n === 0n) {
|
|
1079
|
+
const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
|
|
1080
|
+
const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(raw);
|
|
1081
|
+
const value = tmpReader.readVarInt();
|
|
1082
|
+
writer.writeVarInt(value);
|
|
1083
|
+
} else {
|
|
1084
|
+
const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
|
|
1085
|
+
writer.writeVarInt(raw.byteLength);
|
|
1086
|
+
writer.writeBytes(raw);
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
485
1090
|
}
|
|
486
|
-
function
|
|
487
|
-
const
|
|
488
|
-
const
|
|
489
|
-
const
|
|
490
|
-
|
|
1091
|
+
function decodeParams(reader) {
|
|
1092
|
+
const count = Number(reader.readVarInt());
|
|
1093
|
+
const result = {};
|
|
1094
|
+
const unknown = [];
|
|
1095
|
+
for (let i = 0; i < count; i++) {
|
|
1096
|
+
const paramType = reader.readVarInt();
|
|
1097
|
+
if (paramType === PARAM_DELIVERY_TIMEOUT) {
|
|
1098
|
+
result.delivery_timeout = reader.readVarInt();
|
|
1099
|
+
} else if (paramType === PARAM_AUTHORIZATION_TOKEN) {
|
|
1100
|
+
const length = Number(reader.readVarInt());
|
|
1101
|
+
const tokenBytes = reader.readBytes(length);
|
|
1102
|
+
result.authorization_token = decodeAuthorizationToken(new (0, _chunkJL3NEW3Ocjs.BufferReader)(tokenBytes));
|
|
1103
|
+
} else if (paramType === PARAM_MAX_CACHE_DURATION) {
|
|
1104
|
+
result.max_cache_duration = reader.readVarInt();
|
|
1105
|
+
} else if (paramType === PARAM_EXPIRES) {
|
|
1106
|
+
result.expires = reader.readVarInt();
|
|
1107
|
+
} else if (paramType === PARAM_PUBLISHER_PRIORITY) {
|
|
1108
|
+
result.publisher_priority = reader.readVarInt();
|
|
1109
|
+
} else if (paramType === PARAM_FORWARD) {
|
|
1110
|
+
result.forward = reader.readVarInt();
|
|
1111
|
+
} else if (paramType === PARAM_SUBSCRIBER_PRIORITY) {
|
|
1112
|
+
result.subscriber_priority = reader.readVarInt();
|
|
1113
|
+
} else if (paramType === PARAM_GROUP_ORDER) {
|
|
1114
|
+
result.group_order = reader.readVarInt();
|
|
1115
|
+
} else if (paramType === PARAM_DYNAMIC_GROUPS) {
|
|
1116
|
+
result.dynamic_groups = reader.readVarInt();
|
|
1117
|
+
} else if (paramType === PARAM_NEW_GROUP_REQUEST) {
|
|
1118
|
+
result.new_group_request = reader.readVarInt();
|
|
1119
|
+
} else if (paramType === PARAM_LARGEST_OBJECT) {
|
|
1120
|
+
const length = Number(reader.readVarInt());
|
|
1121
|
+
const startOff = reader.offset;
|
|
1122
|
+
const group = reader.readVarInt();
|
|
1123
|
+
const object = reader.readVarInt();
|
|
1124
|
+
const consumed = reader.offset - startOff;
|
|
1125
|
+
if (consumed < length) reader.readBytes(length - consumed);
|
|
1126
|
+
result.largest_object = { group, object };
|
|
1127
|
+
} else if (paramType === PARAM_SUBSCRIPTION_FILTER) {
|
|
1128
|
+
const length = Number(reader.readVarInt());
|
|
1129
|
+
const startOff = reader.offset;
|
|
1130
|
+
const filter_type = reader.readVarInt();
|
|
1131
|
+
const filter = { filter_type };
|
|
1132
|
+
if (filter_type === 3n || filter_type === 4n) {
|
|
1133
|
+
filter.start_group = reader.readVarInt();
|
|
1134
|
+
filter.start_object = reader.readVarInt();
|
|
1135
|
+
}
|
|
1136
|
+
if (filter_type === 4n) {
|
|
1137
|
+
filter.end_group = reader.readVarInt();
|
|
1138
|
+
}
|
|
1139
|
+
const consumed = reader.offset - startOff;
|
|
1140
|
+
if (consumed < length) reader.readBytes(length - consumed);
|
|
1141
|
+
result.subscription_filter = filter;
|
|
1142
|
+
} else if (paramType % 2n === 0n) {
|
|
1143
|
+
const value = reader.readVarInt();
|
|
1144
|
+
const tmpWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
|
|
1145
|
+
tmpWriter.writeVarInt(value);
|
|
1146
|
+
const raw = tmpWriter.finish();
|
|
1147
|
+
unknown.push({
|
|
1148
|
+
id: `0x${paramType.toString(16)}`,
|
|
1149
|
+
length: raw.byteLength,
|
|
1150
|
+
raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, raw)
|
|
1151
|
+
});
|
|
1152
|
+
} else {
|
|
1153
|
+
const length = Number(reader.readVarInt());
|
|
1154
|
+
const bytes = reader.readBytes(length);
|
|
1155
|
+
unknown.push({
|
|
1156
|
+
id: `0x${paramType.toString(16)}`,
|
|
1157
|
+
length,
|
|
1158
|
+
raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
|
|
1159
|
+
});
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
if (unknown.length > 0) {
|
|
1163
|
+
result.unknown = unknown;
|
|
1164
|
+
}
|
|
1165
|
+
return result;
|
|
491
1166
|
}
|
|
492
|
-
function
|
|
493
|
-
|
|
494
|
-
const namespace_prefix = r.readTuple();
|
|
495
|
-
const subscribe_options = r.readVarInt();
|
|
496
|
-
const parameters = decodeParams(r);
|
|
497
|
-
return {
|
|
498
|
-
type: "subscribe_namespace",
|
|
499
|
-
request_id,
|
|
500
|
-
namespace_prefix,
|
|
501
|
-
subscribe_options,
|
|
502
|
-
parameters
|
|
503
|
-
};
|
|
1167
|
+
function encodeClientSetupPayload(msg, w) {
|
|
1168
|
+
encodeSetupParams(msg.parameters, w);
|
|
504
1169
|
}
|
|
505
|
-
function
|
|
506
|
-
|
|
507
|
-
return { type: "namespace", namespace_suffix };
|
|
1170
|
+
function encodeServerSetupPayload(msg, w) {
|
|
1171
|
+
encodeSetupParams(msg.parameters, w);
|
|
508
1172
|
}
|
|
509
|
-
function
|
|
510
|
-
|
|
511
|
-
|
|
1173
|
+
function encodeSubscribePayload(msg, w) {
|
|
1174
|
+
w.writeVarInt(msg.request_id);
|
|
1175
|
+
w.writeTuple(msg.track_namespace);
|
|
1176
|
+
w.writeString(msg.track_name);
|
|
1177
|
+
encodeParams(msg.parameters, w);
|
|
512
1178
|
}
|
|
513
|
-
function
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
if (
|
|
518
|
-
throw new (0, _chunkFWISIR26cjs.DecodeError)("CONSTRAINT_VIOLATION", `Invalid fetch_type: ${ft}`, r.offset);
|
|
519
|
-
}
|
|
520
|
-
let standalone;
|
|
521
|
-
let joining;
|
|
522
|
-
if (ft === 1) {
|
|
523
|
-
const track_namespace = r.readTuple();
|
|
524
|
-
const track_name = r.readString();
|
|
525
|
-
const start_group = r.readVarInt();
|
|
526
|
-
const start_object = r.readVarInt();
|
|
527
|
-
const end_group = r.readVarInt();
|
|
528
|
-
const end_object = r.readVarInt();
|
|
529
|
-
standalone = { track_namespace, track_name, start_group, start_object, end_group, end_object };
|
|
530
|
-
} else {
|
|
531
|
-
const joining_request_id = r.readVarInt();
|
|
532
|
-
const joining_start = r.readVarInt();
|
|
533
|
-
joining = { joining_request_id, joining_start };
|
|
534
|
-
}
|
|
535
|
-
const parameters = decodeParams(r);
|
|
536
|
-
return {
|
|
537
|
-
type: "fetch",
|
|
538
|
-
request_id,
|
|
539
|
-
fetch_type,
|
|
540
|
-
standalone,
|
|
541
|
-
joining,
|
|
542
|
-
parameters
|
|
543
|
-
};
|
|
1179
|
+
function encodeSubscribeOkPayload(msg, w) {
|
|
1180
|
+
w.writeVarInt(msg.request_id);
|
|
1181
|
+
w.writeVarInt(msg.track_alias);
|
|
1182
|
+
encodeParams(msg.parameters, w);
|
|
1183
|
+
if (msg.track_extensions) encodeTrackExtensions(msg.track_extensions, w);
|
|
544
1184
|
}
|
|
545
|
-
function
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
const end_object = r.readVarInt();
|
|
550
|
-
const parameters = decodeParams(r);
|
|
551
|
-
return { type: "fetch_ok", request_id, end_of_track, end_group, end_object, parameters };
|
|
1185
|
+
function encodeRequestUpdatePayload(msg, w) {
|
|
1186
|
+
w.writeVarInt(msg.request_id);
|
|
1187
|
+
w.writeVarInt(msg.existing_request_id);
|
|
1188
|
+
encodeParams(msg.parameters, w);
|
|
552
1189
|
}
|
|
553
|
-
function
|
|
554
|
-
|
|
555
|
-
return { type: "fetch_cancel", request_id };
|
|
1190
|
+
function encodeUnsubscribePayload(msg, w) {
|
|
1191
|
+
w.writeVarInt(msg.request_id);
|
|
556
1192
|
}
|
|
557
|
-
function
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
1193
|
+
function encodePublishPayload(msg, w) {
|
|
1194
|
+
w.writeVarInt(msg.request_id);
|
|
1195
|
+
w.writeTuple(msg.track_namespace);
|
|
1196
|
+
w.writeString(msg.track_name);
|
|
1197
|
+
w.writeVarInt(msg.track_alias);
|
|
1198
|
+
encodeParams(msg.parameters, w);
|
|
1199
|
+
if (msg.track_extensions) encodeTrackExtensions(msg.track_extensions, w);
|
|
563
1200
|
}
|
|
564
|
-
function
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
return { type: "request_ok", request_id, parameters };
|
|
1201
|
+
function encodePublishOkPayload(msg, w) {
|
|
1202
|
+
w.writeVarInt(msg.request_id);
|
|
1203
|
+
encodeParams(msg.parameters, w);
|
|
568
1204
|
}
|
|
569
|
-
function
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
return { type: "request_error", request_id, error_code, retry_interval, reason_phrase };
|
|
1205
|
+
function encodePublishDonePayload(msg, w) {
|
|
1206
|
+
w.writeVarInt(msg.request_id);
|
|
1207
|
+
w.writeVarInt(msg.status_code);
|
|
1208
|
+
w.writeVarInt(msg.stream_count);
|
|
1209
|
+
w.writeString(msg.reason_phrase);
|
|
575
1210
|
}
|
|
576
|
-
function
|
|
577
|
-
|
|
578
|
-
|
|
1211
|
+
function encodePublishNamespacePayload(msg, w) {
|
|
1212
|
+
w.writeVarInt(msg.request_id);
|
|
1213
|
+
w.writeTuple(msg.track_namespace);
|
|
1214
|
+
encodeParams(msg.parameters, w);
|
|
579
1215
|
}
|
|
580
|
-
function
|
|
581
|
-
|
|
582
|
-
return { type: "max_request_id", max_request_id };
|
|
1216
|
+
function encodePublishNamespaceDonePayload(msg, w) {
|
|
1217
|
+
w.writeVarInt(msg.request_id);
|
|
583
1218
|
}
|
|
584
|
-
function
|
|
585
|
-
|
|
586
|
-
|
|
1219
|
+
function encodePublishNamespaceCancelPayload(msg, w) {
|
|
1220
|
+
w.writeVarInt(msg.request_id);
|
|
1221
|
+
w.writeVarInt(msg.error_code);
|
|
1222
|
+
w.writeString(msg.reason_phrase);
|
|
587
1223
|
}
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
[MSG_REQUEST_UPDATE, decodeRequestUpdatePayload],
|
|
594
|
-
[MSG_UNSUBSCRIBE, decodeUnsubscribePayload],
|
|
595
|
-
[MSG_PUBLISH, decodePublishPayload],
|
|
596
|
-
[MSG_PUBLISH_OK, decodePublishOkPayload],
|
|
597
|
-
[MSG_PUBLISH_DONE, decodePublishDonePayload],
|
|
598
|
-
[MSG_PUBLISH_NAMESPACE, decodePublishNamespacePayload],
|
|
599
|
-
[MSG_PUBLISH_NAMESPACE_DONE, decodePublishNamespaceDonePayload],
|
|
600
|
-
[MSG_PUBLISH_NAMESPACE_CANCEL, decodePublishNamespaceCancelPayload],
|
|
601
|
-
[MSG_SUBSCRIBE_NAMESPACE, decodeSubscribeNamespacePayload],
|
|
602
|
-
[MSG_NAMESPACE, decodeNamespacePayload],
|
|
603
|
-
[MSG_NAMESPACE_DONE, decodeNamespaceDonePayload],
|
|
604
|
-
[MSG_FETCH, decodeFetchPayload],
|
|
605
|
-
[MSG_FETCH_OK, decodeFetchOkPayload],
|
|
606
|
-
[MSG_FETCH_CANCEL, decodeFetchCancelPayload],
|
|
607
|
-
[MSG_TRACK_STATUS, decodeTrackStatusPayload],
|
|
608
|
-
[MSG_REQUEST_OK, decodeRequestOkPayload],
|
|
609
|
-
[MSG_REQUEST_ERROR, decodeRequestErrorPayload],
|
|
610
|
-
[MSG_GOAWAY, decodeGoAwayPayload],
|
|
611
|
-
[MSG_MAX_REQUEST_ID, decodeMaxRequestIdPayload],
|
|
612
|
-
[MSG_REQUESTS_BLOCKED, decodeRequestsBlockedPayload]
|
|
613
|
-
]);
|
|
614
|
-
function encodeMessage(message) {
|
|
615
|
-
const typeId = MESSAGE_ID_MAP.get(message.type);
|
|
616
|
-
if (typeId === void 0) {
|
|
617
|
-
throw new Error(`Unknown message type: ${message.type}`);
|
|
618
|
-
}
|
|
619
|
-
const payloadWriter = new (0, _chunkFWISIR26cjs.BufferWriter)();
|
|
620
|
-
encodePayload(message, payloadWriter);
|
|
621
|
-
const payload = payloadWriter.finish();
|
|
622
|
-
if (payload.byteLength > 65535) {
|
|
623
|
-
throw new Error(`Payload too large for 16-bit length: ${payload.byteLength}`);
|
|
624
|
-
}
|
|
625
|
-
const writer = new (0, _chunkFWISIR26cjs.BufferWriter)();
|
|
626
|
-
writer.writeVarInt(typeId);
|
|
627
|
-
writer.writeUint8(payload.byteLength >> 8 & 255);
|
|
628
|
-
writer.writeUint8(payload.byteLength & 255);
|
|
629
|
-
writer.writeBytes(payload);
|
|
630
|
-
return writer.finish();
|
|
1224
|
+
function encodeSubscribeNamespacePayload(msg, w) {
|
|
1225
|
+
w.writeVarInt(msg.request_id);
|
|
1226
|
+
w.writeTuple(msg.namespace_prefix);
|
|
1227
|
+
w.writeVarInt(msg.subscribe_options);
|
|
1228
|
+
encodeParams(msg.parameters, w);
|
|
631
1229
|
}
|
|
632
|
-
function
|
|
633
|
-
|
|
634
|
-
case "client_setup":
|
|
635
|
-
return encodeClientSetupPayload(msg, w);
|
|
636
|
-
case "server_setup":
|
|
637
|
-
return encodeServerSetupPayload(msg, w);
|
|
638
|
-
case "subscribe":
|
|
639
|
-
return encodeSubscribePayload(msg, w);
|
|
640
|
-
case "subscribe_ok":
|
|
641
|
-
return encodeSubscribeOkPayload(msg, w);
|
|
642
|
-
case "request_update":
|
|
643
|
-
return encodeRequestUpdatePayload(msg, w);
|
|
644
|
-
case "unsubscribe":
|
|
645
|
-
return encodeUnsubscribePayload(msg, w);
|
|
646
|
-
case "publish":
|
|
647
|
-
return encodePublishPayload(msg, w);
|
|
648
|
-
case "publish_ok":
|
|
649
|
-
return encodePublishOkPayload(msg, w);
|
|
650
|
-
case "publish_done":
|
|
651
|
-
return encodePublishDonePayload(msg, w);
|
|
652
|
-
case "publish_namespace":
|
|
653
|
-
return encodePublishNamespacePayload(msg, w);
|
|
654
|
-
case "publish_namespace_done":
|
|
655
|
-
return encodePublishNamespaceDonePayload(msg, w);
|
|
656
|
-
case "publish_namespace_cancel":
|
|
657
|
-
return encodePublishNamespaceCancelPayload(msg, w);
|
|
658
|
-
case "subscribe_namespace":
|
|
659
|
-
return encodeSubscribeNamespacePayload(msg, w);
|
|
660
|
-
case "namespace":
|
|
661
|
-
return encodeNamespacePayload(msg, w);
|
|
662
|
-
case "namespace_done":
|
|
663
|
-
return encodeNamespaceDonePayload(msg, w);
|
|
664
|
-
case "fetch":
|
|
665
|
-
return encodeFetchPayload(msg, w);
|
|
666
|
-
case "fetch_ok":
|
|
667
|
-
return encodeFetchOkPayload(msg, w);
|
|
668
|
-
case "fetch_cancel":
|
|
669
|
-
return encodeFetchCancelPayload(msg, w);
|
|
670
|
-
case "track_status":
|
|
671
|
-
return encodeTrackStatusPayload(msg, w);
|
|
672
|
-
case "request_ok":
|
|
673
|
-
return encodeRequestOkPayload(msg, w);
|
|
674
|
-
case "request_error":
|
|
675
|
-
return encodeRequestErrorPayload(msg, w);
|
|
676
|
-
case "goaway":
|
|
677
|
-
return encodeGoAwayPayload(msg, w);
|
|
678
|
-
case "max_request_id":
|
|
679
|
-
return encodeMaxRequestIdPayload(msg, w);
|
|
680
|
-
case "requests_blocked":
|
|
681
|
-
return encodeRequestsBlockedPayload(msg, w);
|
|
682
|
-
default: {
|
|
683
|
-
const _exhaustive = msg;
|
|
684
|
-
throw new Error(`Unhandled message type: ${_exhaustive.type}`);
|
|
685
|
-
}
|
|
686
|
-
}
|
|
1230
|
+
function encodeNamespacePayload(msg, w) {
|
|
1231
|
+
w.writeTuple(msg.namespace_suffix);
|
|
687
1232
|
}
|
|
688
|
-
function
|
|
689
|
-
|
|
690
|
-
const reader = new (0, _chunkFWISIR26cjs.BufferReader)(bytes);
|
|
691
|
-
const typeId = reader.readVarInt();
|
|
692
|
-
const lenHi = reader.readUint8();
|
|
693
|
-
const lenLo = reader.readUint8();
|
|
694
|
-
const payloadLength = lenHi << 8 | lenLo;
|
|
695
|
-
const payloadBytes = reader.readBytes(payloadLength);
|
|
696
|
-
const payloadReader = new (0, _chunkFWISIR26cjs.BufferReader)(payloadBytes);
|
|
697
|
-
const decoder = payloadDecoders.get(typeId);
|
|
698
|
-
if (!decoder) {
|
|
699
|
-
return {
|
|
700
|
-
ok: false,
|
|
701
|
-
error: new (0, _chunkFWISIR26cjs.DecodeError)(
|
|
702
|
-
"UNKNOWN_MESSAGE_TYPE",
|
|
703
|
-
`Unknown message type ID: 0x${typeId.toString(16)}`,
|
|
704
|
-
0
|
|
705
|
-
)
|
|
706
|
-
};
|
|
707
|
-
}
|
|
708
|
-
const message = decoder(payloadReader);
|
|
709
|
-
return { ok: true, value: message, bytesRead: reader.offset };
|
|
710
|
-
} catch (e) {
|
|
711
|
-
if (e instanceof _chunkFWISIR26cjs.DecodeError) {
|
|
712
|
-
return { ok: false, error: e };
|
|
713
|
-
}
|
|
714
|
-
throw e;
|
|
715
|
-
}
|
|
1233
|
+
function encodeNamespaceDonePayload(msg, w) {
|
|
1234
|
+
w.writeTuple(msg.namespace_suffix);
|
|
716
1235
|
}
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
const
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
w.writeVarInt(
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
w.
|
|
731
|
-
}
|
|
732
|
-
let prevObjectId = -1n;
|
|
733
|
-
for (const obj of stream.objects) {
|
|
734
|
-
const delta = prevObjectId < 0n ? obj.objectId : obj.objectId - prevObjectId - 1n;
|
|
735
|
-
w.writeVarInt(delta);
|
|
736
|
-
w.writeVarInt(obj.payloadLength);
|
|
737
|
-
if (obj.payloadLength === 0) {
|
|
738
|
-
w.writeVarInt(_nullishCoalesce(obj.status, () => ( 0n)));
|
|
739
|
-
} else {
|
|
740
|
-
w.writeBytes(obj.payload);
|
|
741
|
-
}
|
|
742
|
-
prevObjectId = obj.objectId;
|
|
1236
|
+
function encodeFetchPayload(msg, w) {
|
|
1237
|
+
w.writeVarInt(msg.request_id);
|
|
1238
|
+
w.writeVarInt(msg.fetch_type);
|
|
1239
|
+
const ft = Number(msg.fetch_type);
|
|
1240
|
+
if (ft === 1 && msg.standalone) {
|
|
1241
|
+
w.writeTuple(msg.standalone.track_namespace);
|
|
1242
|
+
w.writeString(msg.standalone.track_name);
|
|
1243
|
+
w.writeVarInt(msg.standalone.start_group);
|
|
1244
|
+
w.writeVarInt(msg.standalone.start_object);
|
|
1245
|
+
w.writeVarInt(msg.standalone.end_group);
|
|
1246
|
+
w.writeVarInt(msg.standalone.end_object);
|
|
1247
|
+
} else if ((ft === 2 || ft === 3) && msg.joining) {
|
|
1248
|
+
w.writeVarInt(msg.joining.joining_request_id);
|
|
1249
|
+
w.writeVarInt(msg.joining.joining_start);
|
|
743
1250
|
}
|
|
744
|
-
|
|
1251
|
+
encodeParams(msg.parameters, w);
|
|
745
1252
|
}
|
|
746
|
-
function
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
w.writeVarInt(
|
|
750
|
-
w.writeVarInt(
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
1253
|
+
function encodeFetchOkPayload(msg, w) {
|
|
1254
|
+
w.writeVarInt(msg.request_id);
|
|
1255
|
+
w.writeUint8(msg.end_of_track);
|
|
1256
|
+
w.writeVarInt(msg.end_group);
|
|
1257
|
+
w.writeVarInt(msg.end_object);
|
|
1258
|
+
encodeParams(msg.parameters, w);
|
|
1259
|
+
if (msg.track_extensions) encodeTrackExtensions(msg.track_extensions, w);
|
|
1260
|
+
}
|
|
1261
|
+
function encodeFetchCancelPayload(msg, w) {
|
|
1262
|
+
w.writeVarInt(msg.request_id);
|
|
1263
|
+
}
|
|
1264
|
+
function encodeTrackStatusPayload(msg, w) {
|
|
1265
|
+
w.writeVarInt(msg.request_id);
|
|
1266
|
+
w.writeTuple(msg.track_namespace);
|
|
1267
|
+
w.writeString(msg.track_name);
|
|
1268
|
+
encodeParams(msg.parameters, w);
|
|
1269
|
+
}
|
|
1270
|
+
function encodeRequestOkPayload(msg, w) {
|
|
1271
|
+
w.writeVarInt(msg.request_id);
|
|
1272
|
+
encodeParams(msg.parameters, w);
|
|
1273
|
+
}
|
|
1274
|
+
function encodeRequestErrorPayload(msg, w) {
|
|
1275
|
+
w.writeVarInt(msg.request_id);
|
|
1276
|
+
w.writeVarInt(msg.error_code);
|
|
1277
|
+
w.writeVarInt(msg.retry_interval);
|
|
1278
|
+
w.writeString(msg.reason_phrase);
|
|
1279
|
+
}
|
|
1280
|
+
function encodeGoAwayPayload(msg, w) {
|
|
1281
|
+
w.writeString(msg.new_session_uri);
|
|
1282
|
+
}
|
|
1283
|
+
function encodeMaxRequestIdPayload(msg, w) {
|
|
1284
|
+
w.writeVarInt(msg.max_request_id);
|
|
1285
|
+
}
|
|
1286
|
+
function encodeRequestsBlockedPayload(msg, w) {
|
|
1287
|
+
w.writeVarInt(msg.maximum_request_id);
|
|
1288
|
+
}
|
|
1289
|
+
function decodeClientSetupPayload(r) {
|
|
1290
|
+
const parameters = decodeSetupParams(r);
|
|
1291
|
+
return { type: "client_setup", parameters };
|
|
1292
|
+
}
|
|
1293
|
+
function decodeServerSetupPayload(r) {
|
|
1294
|
+
const parameters = decodeSetupParams(r);
|
|
1295
|
+
return { type: "server_setup", parameters };
|
|
1296
|
+
}
|
|
1297
|
+
function decodeSubscribePayload(r) {
|
|
1298
|
+
const request_id = r.readVarInt();
|
|
1299
|
+
const track_namespace = r.readTuple();
|
|
1300
|
+
const track_name = r.readString();
|
|
1301
|
+
const parameters = decodeParams(r);
|
|
1302
|
+
return {
|
|
1303
|
+
type: "subscribe",
|
|
1304
|
+
request_id,
|
|
1305
|
+
track_namespace,
|
|
1306
|
+
track_name,
|
|
1307
|
+
parameters
|
|
1308
|
+
};
|
|
1309
|
+
}
|
|
1310
|
+
function decodeSubscribeOkPayload(r) {
|
|
1311
|
+
const request_id = r.readVarInt();
|
|
1312
|
+
const track_alias = r.readVarInt();
|
|
1313
|
+
const parameters = decodeParams(r);
|
|
1314
|
+
const result = {
|
|
1315
|
+
type: "subscribe_ok",
|
|
1316
|
+
request_id,
|
|
1317
|
+
track_alias,
|
|
1318
|
+
parameters
|
|
1319
|
+
};
|
|
1320
|
+
if (r.remaining > 0) {
|
|
1321
|
+
result.track_extensions = decodeTrackExtensions(r);
|
|
762
1322
|
}
|
|
763
|
-
return
|
|
1323
|
+
return result;
|
|
764
1324
|
}
|
|
765
|
-
function
|
|
766
|
-
const
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
1325
|
+
function decodeRequestUpdatePayload(r) {
|
|
1326
|
+
const request_id = r.readVarInt();
|
|
1327
|
+
const existing_request_id = r.readVarInt();
|
|
1328
|
+
const parameters = decodeParams(r);
|
|
1329
|
+
return { type: "request_update", request_id, existing_request_id, parameters };
|
|
1330
|
+
}
|
|
1331
|
+
function decodeUnsubscribePayload(r) {
|
|
1332
|
+
const request_id = r.readVarInt();
|
|
1333
|
+
return { type: "unsubscribe", request_id };
|
|
1334
|
+
}
|
|
1335
|
+
function decodePublishPayload(r) {
|
|
1336
|
+
const request_id = r.readVarInt();
|
|
1337
|
+
const track_namespace = r.readTuple();
|
|
1338
|
+
const track_name = r.readString();
|
|
1339
|
+
const track_alias = r.readVarInt();
|
|
1340
|
+
const parameters = decodeParams(r);
|
|
1341
|
+
const result = {
|
|
1342
|
+
type: "publish",
|
|
1343
|
+
request_id,
|
|
1344
|
+
track_namespace,
|
|
1345
|
+
track_name,
|
|
1346
|
+
track_alias,
|
|
1347
|
+
parameters
|
|
1348
|
+
};
|
|
1349
|
+
if (r.remaining > 0) {
|
|
1350
|
+
result.track_extensions = decodeTrackExtensions(r);
|
|
783
1351
|
}
|
|
784
|
-
return
|
|
1352
|
+
return result;
|
|
785
1353
|
}
|
|
786
|
-
function
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
1354
|
+
function decodePublishOkPayload(r) {
|
|
1355
|
+
const request_id = r.readVarInt();
|
|
1356
|
+
const parameters = decodeParams(r);
|
|
1357
|
+
return { type: "publish_ok", request_id, parameters };
|
|
1358
|
+
}
|
|
1359
|
+
function decodePublishDonePayload(r) {
|
|
1360
|
+
const request_id = r.readVarInt();
|
|
1361
|
+
const status_code = r.readVarInt();
|
|
1362
|
+
const stream_count = r.readVarInt();
|
|
1363
|
+
const reason_phrase = r.readString();
|
|
1364
|
+
return {
|
|
1365
|
+
type: "publish_done",
|
|
1366
|
+
request_id,
|
|
1367
|
+
status_code,
|
|
1368
|
+
stream_count,
|
|
1369
|
+
reason_phrase
|
|
1370
|
+
};
|
|
1371
|
+
}
|
|
1372
|
+
function decodePublishNamespacePayload(r) {
|
|
1373
|
+
const request_id = r.readVarInt();
|
|
1374
|
+
const track_namespace = r.readTuple();
|
|
1375
|
+
const parameters = decodeParams(r);
|
|
1376
|
+
return { type: "publish_namespace", request_id, track_namespace, parameters };
|
|
1377
|
+
}
|
|
1378
|
+
function decodePublishNamespaceDonePayload(r) {
|
|
1379
|
+
const request_id = r.readVarInt();
|
|
1380
|
+
return { type: "publish_namespace_done", request_id };
|
|
1381
|
+
}
|
|
1382
|
+
function decodePublishNamespaceCancelPayload(r) {
|
|
1383
|
+
const request_id = r.readVarInt();
|
|
1384
|
+
const error_code = r.readVarInt();
|
|
1385
|
+
const reason_phrase = r.readString();
|
|
1386
|
+
return {
|
|
1387
|
+
type: "publish_namespace_cancel",
|
|
1388
|
+
request_id,
|
|
1389
|
+
error_code,
|
|
1390
|
+
reason_phrase
|
|
1391
|
+
};
|
|
1392
|
+
}
|
|
1393
|
+
function decodeSubscribeNamespacePayload(r) {
|
|
1394
|
+
const request_id = r.readVarInt();
|
|
1395
|
+
const namespace_prefix = r.readTuple();
|
|
1396
|
+
const subscribe_options = r.readVarInt();
|
|
1397
|
+
const parameters = decodeParams(r);
|
|
1398
|
+
return {
|
|
1399
|
+
type: "subscribe_namespace",
|
|
1400
|
+
request_id,
|
|
1401
|
+
namespace_prefix,
|
|
1402
|
+
subscribe_options,
|
|
1403
|
+
parameters
|
|
1404
|
+
};
|
|
1405
|
+
}
|
|
1406
|
+
function decodeNamespacePayload(r) {
|
|
1407
|
+
const namespace_suffix = r.readTuple();
|
|
1408
|
+
return { type: "namespace", namespace_suffix };
|
|
1409
|
+
}
|
|
1410
|
+
function decodeNamespaceDonePayload(r) {
|
|
1411
|
+
const namespace_suffix = r.readTuple();
|
|
1412
|
+
return { type: "namespace_done", namespace_suffix };
|
|
1413
|
+
}
|
|
1414
|
+
function decodeFetchPayload(r) {
|
|
1415
|
+
const request_id = r.readVarInt();
|
|
1416
|
+
const fetch_type = r.readVarInt();
|
|
1417
|
+
const ft = Number(fetch_type);
|
|
1418
|
+
if (ft < 1 || ft > 3) {
|
|
1419
|
+
throw new (0, _chunkJL3NEW3Ocjs.DecodeError)("CONSTRAINT_VIOLATION", `Invalid fetch_type: ${ft}`, r.offset);
|
|
1420
|
+
}
|
|
1421
|
+
let standalone;
|
|
1422
|
+
let joining;
|
|
1423
|
+
if (ft === 1) {
|
|
1424
|
+
const track_namespace = r.readTuple();
|
|
1425
|
+
const track_name = r.readString();
|
|
1426
|
+
const start_group = r.readVarInt();
|
|
1427
|
+
const start_object = r.readVarInt();
|
|
1428
|
+
const end_group = r.readVarInt();
|
|
1429
|
+
const end_object = r.readVarInt();
|
|
1430
|
+
standalone = {
|
|
1431
|
+
track_namespace,
|
|
1432
|
+
track_name,
|
|
1433
|
+
start_group,
|
|
1434
|
+
start_object,
|
|
1435
|
+
end_group,
|
|
1436
|
+
end_object
|
|
854
1437
|
};
|
|
855
|
-
}
|
|
856
|
-
|
|
857
|
-
|
|
1438
|
+
} else {
|
|
1439
|
+
const joining_request_id = r.readVarInt();
|
|
1440
|
+
const joining_start = r.readVarInt();
|
|
1441
|
+
joining = { joining_request_id, joining_start };
|
|
858
1442
|
}
|
|
1443
|
+
const parameters = decodeParams(r);
|
|
1444
|
+
return {
|
|
1445
|
+
type: "fetch",
|
|
1446
|
+
request_id,
|
|
1447
|
+
fetch_type,
|
|
1448
|
+
standalone,
|
|
1449
|
+
joining,
|
|
1450
|
+
parameters
|
|
1451
|
+
};
|
|
859
1452
|
}
|
|
860
|
-
function
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
if (isStatus) {
|
|
877
|
-
objectStatus = r.readVarInt();
|
|
878
|
-
payload = new Uint8Array(0);
|
|
879
|
-
} else {
|
|
880
|
-
payload = r.readBytes(r.remaining);
|
|
881
|
-
}
|
|
882
|
-
const payloadLength = payload.byteLength;
|
|
883
|
-
const result = {
|
|
884
|
-
type: "datagram",
|
|
885
|
-
datagramType: dgType,
|
|
886
|
-
trackAlias,
|
|
887
|
-
groupId,
|
|
888
|
-
objectId,
|
|
889
|
-
publisherPriority,
|
|
890
|
-
payloadLength,
|
|
891
|
-
payload
|
|
892
|
-
};
|
|
893
|
-
if (endOfGroup) result.endOfGroup = true;
|
|
894
|
-
if (objectStatus !== void 0)
|
|
895
|
-
result.objectStatus = objectStatus;
|
|
896
|
-
return { ok: true, value: result, bytesRead: r.offset };
|
|
897
|
-
} catch (e) {
|
|
898
|
-
if (e instanceof _chunkFWISIR26cjs.DecodeError) return { ok: false, error: e };
|
|
899
|
-
throw e;
|
|
1453
|
+
function decodeFetchOkPayload(r) {
|
|
1454
|
+
const request_id = r.readVarInt();
|
|
1455
|
+
const end_of_track = r.readUint8();
|
|
1456
|
+
const end_group = r.readVarInt();
|
|
1457
|
+
const end_object = r.readVarInt();
|
|
1458
|
+
const parameters = decodeParams(r);
|
|
1459
|
+
const result = {
|
|
1460
|
+
type: "fetch_ok",
|
|
1461
|
+
request_id,
|
|
1462
|
+
end_of_track,
|
|
1463
|
+
end_group,
|
|
1464
|
+
end_object,
|
|
1465
|
+
parameters
|
|
1466
|
+
};
|
|
1467
|
+
if (r.remaining > 0) {
|
|
1468
|
+
result.track_extensions = decodeTrackExtensions(r);
|
|
900
1469
|
}
|
|
1470
|
+
return result;
|
|
901
1471
|
}
|
|
902
|
-
function
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1472
|
+
function decodeFetchCancelPayload(r) {
|
|
1473
|
+
const request_id = r.readVarInt();
|
|
1474
|
+
return { type: "fetch_cancel", request_id };
|
|
1475
|
+
}
|
|
1476
|
+
function decodeTrackStatusPayload(r) {
|
|
1477
|
+
const request_id = r.readVarInt();
|
|
1478
|
+
const track_namespace = r.readTuple();
|
|
1479
|
+
const track_name = r.readString();
|
|
1480
|
+
const parameters = decodeParams(r);
|
|
1481
|
+
return {
|
|
1482
|
+
type: "track_status",
|
|
1483
|
+
request_id,
|
|
1484
|
+
track_namespace,
|
|
1485
|
+
track_name,
|
|
1486
|
+
parameters
|
|
1487
|
+
};
|
|
1488
|
+
}
|
|
1489
|
+
function decodeRequestOkPayload(r) {
|
|
1490
|
+
const request_id = r.readVarInt();
|
|
1491
|
+
const parameters = decodeParams(r);
|
|
1492
|
+
return { type: "request_ok", request_id, parameters };
|
|
1493
|
+
}
|
|
1494
|
+
function decodeRequestErrorPayload(r) {
|
|
1495
|
+
const request_id = r.readVarInt();
|
|
1496
|
+
const error_code = r.readVarInt();
|
|
1497
|
+
const retry_interval = r.readVarInt();
|
|
1498
|
+
const reason_phrase = r.readString();
|
|
1499
|
+
return {
|
|
1500
|
+
type: "request_error",
|
|
1501
|
+
request_id,
|
|
1502
|
+
error_code,
|
|
1503
|
+
retry_interval,
|
|
1504
|
+
reason_phrase
|
|
1505
|
+
};
|
|
1506
|
+
}
|
|
1507
|
+
function decodeGoAwayPayload(r) {
|
|
1508
|
+
const new_session_uri = r.readString();
|
|
1509
|
+
return { type: "goaway", new_session_uri };
|
|
1510
|
+
}
|
|
1511
|
+
function decodeMaxRequestIdPayload(r) {
|
|
1512
|
+
const max_request_id = r.readVarInt();
|
|
1513
|
+
return { type: "max_request_id", max_request_id };
|
|
1514
|
+
}
|
|
1515
|
+
function decodeRequestsBlockedPayload(r) {
|
|
1516
|
+
const maximum_request_id = r.readVarInt();
|
|
1517
|
+
return { type: "requests_blocked", maximum_request_id };
|
|
1518
|
+
}
|
|
1519
|
+
var payloadDecoders = /* @__PURE__ */ new Map([
|
|
1520
|
+
[MSG_CLIENT_SETUP, decodeClientSetupPayload],
|
|
1521
|
+
[MSG_SERVER_SETUP, decodeServerSetupPayload],
|
|
1522
|
+
[MSG_SUBSCRIBE, decodeSubscribePayload],
|
|
1523
|
+
[MSG_SUBSCRIBE_OK, decodeSubscribeOkPayload],
|
|
1524
|
+
[MSG_REQUEST_UPDATE, decodeRequestUpdatePayload],
|
|
1525
|
+
[MSG_UNSUBSCRIBE, decodeUnsubscribePayload],
|
|
1526
|
+
[MSG_PUBLISH, decodePublishPayload],
|
|
1527
|
+
[MSG_PUBLISH_OK, decodePublishOkPayload],
|
|
1528
|
+
[MSG_PUBLISH_DONE, decodePublishDonePayload],
|
|
1529
|
+
[MSG_PUBLISH_NAMESPACE, decodePublishNamespacePayload],
|
|
1530
|
+
[MSG_PUBLISH_NAMESPACE_DONE, decodePublishNamespaceDonePayload],
|
|
1531
|
+
[MSG_PUBLISH_NAMESPACE_CANCEL, decodePublishNamespaceCancelPayload],
|
|
1532
|
+
[MSG_SUBSCRIBE_NAMESPACE, decodeSubscribeNamespacePayload],
|
|
1533
|
+
[MSG_NAMESPACE, decodeNamespacePayload],
|
|
1534
|
+
[MSG_NAMESPACE_DONE, decodeNamespaceDonePayload],
|
|
1535
|
+
[MSG_FETCH, decodeFetchPayload],
|
|
1536
|
+
[MSG_FETCH_OK, decodeFetchOkPayload],
|
|
1537
|
+
[MSG_FETCH_CANCEL, decodeFetchCancelPayload],
|
|
1538
|
+
[MSG_TRACK_STATUS, decodeTrackStatusPayload],
|
|
1539
|
+
[MSG_REQUEST_OK, decodeRequestOkPayload],
|
|
1540
|
+
[MSG_REQUEST_ERROR, decodeRequestErrorPayload],
|
|
1541
|
+
[MSG_GOAWAY, decodeGoAwayPayload],
|
|
1542
|
+
[MSG_MAX_REQUEST_ID, decodeMaxRequestIdPayload],
|
|
1543
|
+
[MSG_REQUESTS_BLOCKED, decodeRequestsBlockedPayload]
|
|
1544
|
+
]);
|
|
1545
|
+
function encodeMessage(message) {
|
|
1546
|
+
const typeId = MESSAGE_ID_MAP.get(message.type);
|
|
1547
|
+
if (typeId === void 0) {
|
|
1548
|
+
throw new Error(`Unknown message type: ${message.type}`);
|
|
1549
|
+
}
|
|
1550
|
+
const payloadWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
|
|
1551
|
+
encodePayload(message, payloadWriter);
|
|
1552
|
+
const payload = payloadWriter.finishView();
|
|
1553
|
+
if (payload.byteLength > 65535) {
|
|
1554
|
+
throw new Error(`Payload too large for 16-bit length: ${payload.byteLength}`);
|
|
1555
|
+
}
|
|
1556
|
+
const writer = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(payload.byteLength + 16);
|
|
1557
|
+
writer.writeVarInt(typeId);
|
|
1558
|
+
writer.writeUint8(payload.byteLength >> 8 & 255);
|
|
1559
|
+
writer.writeUint8(payload.byteLength & 255);
|
|
1560
|
+
writer.writeBytes(payload);
|
|
1561
|
+
return writer.finish();
|
|
1562
|
+
}
|
|
1563
|
+
function encodePayload(msg, w) {
|
|
1564
|
+
switch (msg.type) {
|
|
1565
|
+
case "client_setup":
|
|
1566
|
+
return encodeClientSetupPayload(msg, w);
|
|
1567
|
+
case "server_setup":
|
|
1568
|
+
return encodeServerSetupPayload(msg, w);
|
|
1569
|
+
case "subscribe":
|
|
1570
|
+
return encodeSubscribePayload(msg, w);
|
|
1571
|
+
case "subscribe_ok":
|
|
1572
|
+
return encodeSubscribeOkPayload(msg, w);
|
|
1573
|
+
case "request_update":
|
|
1574
|
+
return encodeRequestUpdatePayload(msg, w);
|
|
1575
|
+
case "unsubscribe":
|
|
1576
|
+
return encodeUnsubscribePayload(msg, w);
|
|
1577
|
+
case "publish":
|
|
1578
|
+
return encodePublishPayload(msg, w);
|
|
1579
|
+
case "publish_ok":
|
|
1580
|
+
return encodePublishOkPayload(msg, w);
|
|
1581
|
+
case "publish_done":
|
|
1582
|
+
return encodePublishDonePayload(msg, w);
|
|
1583
|
+
case "publish_namespace":
|
|
1584
|
+
return encodePublishNamespacePayload(msg, w);
|
|
1585
|
+
case "publish_namespace_done":
|
|
1586
|
+
return encodePublishNamespaceDonePayload(msg, w);
|
|
1587
|
+
case "publish_namespace_cancel":
|
|
1588
|
+
return encodePublishNamespaceCancelPayload(msg, w);
|
|
1589
|
+
case "subscribe_namespace":
|
|
1590
|
+
return encodeSubscribeNamespacePayload(msg, w);
|
|
1591
|
+
case "namespace":
|
|
1592
|
+
return encodeNamespacePayload(msg, w);
|
|
1593
|
+
case "namespace_done":
|
|
1594
|
+
return encodeNamespaceDonePayload(msg, w);
|
|
1595
|
+
case "fetch":
|
|
1596
|
+
return encodeFetchPayload(msg, w);
|
|
1597
|
+
case "fetch_ok":
|
|
1598
|
+
return encodeFetchOkPayload(msg, w);
|
|
1599
|
+
case "fetch_cancel":
|
|
1600
|
+
return encodeFetchCancelPayload(msg, w);
|
|
1601
|
+
case "track_status":
|
|
1602
|
+
return encodeTrackStatusPayload(msg, w);
|
|
1603
|
+
case "request_ok":
|
|
1604
|
+
return encodeRequestOkPayload(msg, w);
|
|
1605
|
+
case "request_error":
|
|
1606
|
+
return encodeRequestErrorPayload(msg, w);
|
|
1607
|
+
case "goaway":
|
|
1608
|
+
return encodeGoAwayPayload(msg, w);
|
|
1609
|
+
case "max_request_id":
|
|
1610
|
+
return encodeMaxRequestIdPayload(msg, w);
|
|
1611
|
+
case "requests_blocked":
|
|
1612
|
+
return encodeRequestsBlockedPayload(msg, w);
|
|
1613
|
+
default: {
|
|
1614
|
+
const _exhaustive = msg;
|
|
1615
|
+
throw new Error(`Unhandled message type: ${_exhaustive.type}`);
|
|
1004
1616
|
}
|
|
1005
|
-
return {
|
|
1006
|
-
ok: true,
|
|
1007
|
-
value: { type: "fetch", requestId, objects },
|
|
1008
|
-
bytesRead: r.offset
|
|
1009
|
-
};
|
|
1010
|
-
} catch (e) {
|
|
1011
|
-
if (e instanceof _chunkFWISIR26cjs.DecodeError) return { ok: false, error: e };
|
|
1012
|
-
throw e;
|
|
1013
1617
|
}
|
|
1014
1618
|
}
|
|
1015
|
-
function
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1619
|
+
function decodeMessage(bytes) {
|
|
1620
|
+
try {
|
|
1621
|
+
const reader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
|
|
1622
|
+
const typeId = reader.readVarInt();
|
|
1623
|
+
const lenHi = reader.readUint8();
|
|
1624
|
+
const lenLo = reader.readUint8();
|
|
1625
|
+
const payloadLength = lenHi << 8 | lenLo;
|
|
1626
|
+
const payloadBytes = reader.readBytes(payloadLength);
|
|
1627
|
+
const payloadReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(payloadBytes);
|
|
1628
|
+
const decoder = payloadDecoders.get(typeId);
|
|
1629
|
+
if (!decoder) {
|
|
1630
|
+
return {
|
|
1631
|
+
ok: false,
|
|
1632
|
+
error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
|
|
1633
|
+
"UNKNOWN_MESSAGE_TYPE",
|
|
1634
|
+
`Unknown message type ID: 0x${typeId.toString(16)}`,
|
|
1635
|
+
0
|
|
1636
|
+
)
|
|
1637
|
+
};
|
|
1638
|
+
}
|
|
1639
|
+
const message = decoder(payloadReader);
|
|
1640
|
+
return { ok: true, value: message, bytesRead: reader.offset };
|
|
1641
|
+
} catch (e) {
|
|
1642
|
+
if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) {
|
|
1643
|
+
return { ok: false, error: e };
|
|
1026
1644
|
}
|
|
1645
|
+
throw e;
|
|
1027
1646
|
}
|
|
1028
1647
|
}
|
|
1029
1648
|
function createStreamDecoder() {
|
|
1030
1649
|
let buffer = new Uint8Array(0);
|
|
1650
|
+
let offset = 0;
|
|
1031
1651
|
return new TransformStream({
|
|
1032
1652
|
transform(chunk, controller) {
|
|
1653
|
+
if (offset > 0) {
|
|
1654
|
+
buffer = buffer.subarray(offset);
|
|
1655
|
+
offset = 0;
|
|
1656
|
+
}
|
|
1033
1657
|
const newBuffer = new Uint8Array(buffer.length + chunk.length);
|
|
1034
1658
|
newBuffer.set(buffer, 0);
|
|
1035
1659
|
newBuffer.set(chunk, buffer.length);
|
|
1036
1660
|
buffer = newBuffer;
|
|
1037
|
-
while (buffer.length
|
|
1038
|
-
const result = decodeMessage(buffer);
|
|
1661
|
+
while (offset < buffer.length) {
|
|
1662
|
+
const result = decodeMessage(buffer.subarray(offset));
|
|
1039
1663
|
if (!result.ok) {
|
|
1040
1664
|
if (result.error.code === "UNEXPECTED_END") {
|
|
1041
1665
|
break;
|
|
@@ -1044,258 +1668,21 @@ function createStreamDecoder() {
|
|
|
1044
1668
|
return;
|
|
1045
1669
|
}
|
|
1046
1670
|
controller.enqueue(result.value);
|
|
1047
|
-
|
|
1048
|
-
}
|
|
1049
|
-
},
|
|
1050
|
-
flush(controller) {
|
|
1051
|
-
if (buffer.length > 0) {
|
|
1052
|
-
controller.error(
|
|
1053
|
-
new (0, _chunkFWISIR26cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete message data", 0)
|
|
1054
|
-
);
|
|
1055
|
-
}
|
|
1056
|
-
}
|
|
1057
|
-
});
|
|
1058
|
-
}
|
|
1059
|
-
function createSubgroupStreamDecoder() {
|
|
1060
|
-
let buffer = new Uint8Array(0);
|
|
1061
|
-
let headerEmitted = false;
|
|
1062
|
-
let prevObjectId = -1n;
|
|
1063
|
-
let firstObject = true;
|
|
1064
|
-
let _subgroupIsFirstObjId = false;
|
|
1065
|
-
return new TransformStream({
|
|
1066
|
-
transform(chunk, controller) {
|
|
1067
|
-
const newBuffer = new Uint8Array(buffer.length + chunk.length);
|
|
1068
|
-
newBuffer.set(buffer, 0);
|
|
1069
|
-
newBuffer.set(chunk, buffer.length);
|
|
1070
|
-
buffer = newBuffer;
|
|
1071
|
-
if (!headerEmitted) {
|
|
1072
|
-
try {
|
|
1073
|
-
const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
|
|
1074
|
-
const streamType = Number(r.readVarInt());
|
|
1075
|
-
if (!(streamType >= 16 && streamType <= 29 || streamType >= 48 && streamType <= 61)) {
|
|
1076
|
-
controller.error(
|
|
1077
|
-
new (0, _chunkFWISIR26cjs.DecodeError)(
|
|
1078
|
-
"CONSTRAINT_VIOLATION",
|
|
1079
|
-
`Expected subgroup stream type, got 0x${streamType.toString(16)}`,
|
|
1080
|
-
0
|
|
1081
|
-
)
|
|
1082
|
-
);
|
|
1083
|
-
return;
|
|
1084
|
-
}
|
|
1085
|
-
const hasSubgroupField = (streamType & 4) !== 0;
|
|
1086
|
-
_subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
|
|
1087
|
-
const hasPriority = streamType < 48;
|
|
1088
|
-
const trackAlias = r.readVarInt();
|
|
1089
|
-
const groupId = r.readVarInt();
|
|
1090
|
-
let subgroupId = 0n;
|
|
1091
|
-
if (hasSubgroupField) {
|
|
1092
|
-
subgroupId = r.readVarInt();
|
|
1093
|
-
}
|
|
1094
|
-
let publisherPriority = 128;
|
|
1095
|
-
if (hasPriority) {
|
|
1096
|
-
publisherPriority = r.readUint8();
|
|
1097
|
-
}
|
|
1098
|
-
controller.enqueue({
|
|
1099
|
-
type: "subgroup_header",
|
|
1100
|
-
trackAlias,
|
|
1101
|
-
groupId,
|
|
1102
|
-
subgroupId,
|
|
1103
|
-
publisherPriority
|
|
1104
|
-
});
|
|
1105
|
-
headerEmitted = true;
|
|
1106
|
-
buffer = buffer.slice(r.offset);
|
|
1107
|
-
} catch (e) {
|
|
1108
|
-
if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
1109
|
-
return;
|
|
1110
|
-
}
|
|
1111
|
-
controller.error(e);
|
|
1112
|
-
return;
|
|
1113
|
-
}
|
|
1114
|
-
}
|
|
1115
|
-
while (buffer.length > 0) {
|
|
1116
|
-
try {
|
|
1117
|
-
const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
|
|
1118
|
-
const delta = r.readVarInt();
|
|
1119
|
-
let objectId;
|
|
1120
|
-
if (firstObject) {
|
|
1121
|
-
objectId = delta;
|
|
1122
|
-
firstObject = false;
|
|
1123
|
-
} else {
|
|
1124
|
-
objectId = prevObjectId + 1n + delta;
|
|
1125
|
-
}
|
|
1126
|
-
const payloadLength = Number(r.readVarInt());
|
|
1127
|
-
const payload = payloadLength > 0 ? r.readBytes(payloadLength) : new Uint8Array(0);
|
|
1128
|
-
controller.enqueue({ type: "object", objectId, payloadLength, payload });
|
|
1129
|
-
buffer = buffer.slice(r.offset);
|
|
1130
|
-
prevObjectId = objectId;
|
|
1131
|
-
} catch (e) {
|
|
1132
|
-
if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
1133
|
-
break;
|
|
1134
|
-
}
|
|
1135
|
-
controller.error(e);
|
|
1136
|
-
return;
|
|
1137
|
-
}
|
|
1138
|
-
}
|
|
1139
|
-
},
|
|
1140
|
-
flush(controller) {
|
|
1141
|
-
if (buffer.length > 0) {
|
|
1142
|
-
controller.error(new (0, _chunkFWISIR26cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
|
|
1143
|
-
}
|
|
1144
|
-
}
|
|
1145
|
-
});
|
|
1146
|
-
}
|
|
1147
|
-
function createFetchStreamDecoder() {
|
|
1148
|
-
let buffer = new Uint8Array(0);
|
|
1149
|
-
let headerEmitted = false;
|
|
1150
|
-
return new TransformStream({
|
|
1151
|
-
transform(chunk, controller) {
|
|
1152
|
-
const newBuffer = new Uint8Array(buffer.length + chunk.length);
|
|
1153
|
-
newBuffer.set(buffer, 0);
|
|
1154
|
-
newBuffer.set(chunk, buffer.length);
|
|
1155
|
-
buffer = newBuffer;
|
|
1156
|
-
if (!headerEmitted) {
|
|
1157
|
-
try {
|
|
1158
|
-
const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
|
|
1159
|
-
const streamType = r.readVarInt();
|
|
1160
|
-
if (streamType !== FETCH_STREAM_TYPE) {
|
|
1161
|
-
controller.error(
|
|
1162
|
-
new (0, _chunkFWISIR26cjs.DecodeError)(
|
|
1163
|
-
"CONSTRAINT_VIOLATION",
|
|
1164
|
-
`Expected fetch stream type 0x05, got 0x${streamType.toString(16)}`,
|
|
1165
|
-
0
|
|
1166
|
-
)
|
|
1167
|
-
);
|
|
1168
|
-
return;
|
|
1169
|
-
}
|
|
1170
|
-
const requestId = r.readVarInt();
|
|
1171
|
-
controller.enqueue({ type: "fetch_header", requestId });
|
|
1172
|
-
headerEmitted = true;
|
|
1173
|
-
buffer = buffer.slice(r.offset);
|
|
1174
|
-
} catch (e) {
|
|
1175
|
-
if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
1176
|
-
return;
|
|
1177
|
-
}
|
|
1178
|
-
controller.error(e);
|
|
1179
|
-
return;
|
|
1180
|
-
}
|
|
1181
|
-
}
|
|
1182
|
-
while (buffer.length > 0) {
|
|
1183
|
-
try {
|
|
1184
|
-
const r = new (0, _chunkFWISIR26cjs.BufferReader)(buffer);
|
|
1185
|
-
const flags = r.readUint8();
|
|
1186
|
-
const objectIdPresent = (flags & 4) !== 0;
|
|
1187
|
-
const groupIdPresent = (flags & 8) !== 0;
|
|
1188
|
-
const priorityPresent = (flags & 16) !== 0;
|
|
1189
|
-
const extensionsPresent = (flags & 32) !== 0;
|
|
1190
|
-
const subgroupEncoding = flags & 3;
|
|
1191
|
-
if (groupIdPresent) r.readVarInt();
|
|
1192
|
-
if (subgroupEncoding === 3) r.readVarInt();
|
|
1193
|
-
let objectId = 0n;
|
|
1194
|
-
if (objectIdPresent) objectId = r.readVarInt();
|
|
1195
|
-
if (priorityPresent) r.readUint8();
|
|
1196
|
-
if (extensionsPresent) {
|
|
1197
|
-
const extLen = Number(r.readVarInt());
|
|
1198
|
-
if (extLen > 0) r.readBytes(extLen);
|
|
1199
|
-
}
|
|
1200
|
-
const payloadLength = Number(r.readVarInt());
|
|
1201
|
-
const payload = payloadLength > 0 ? r.readBytes(payloadLength) : new Uint8Array(0);
|
|
1202
|
-
controller.enqueue({ type: "object", objectId, payloadLength, payload });
|
|
1203
|
-
buffer = buffer.slice(r.offset);
|
|
1204
|
-
} catch (e) {
|
|
1205
|
-
if (e instanceof _chunkFWISIR26cjs.DecodeError && e.code === "UNEXPECTED_END") {
|
|
1206
|
-
break;
|
|
1207
|
-
}
|
|
1208
|
-
controller.error(e);
|
|
1209
|
-
return;
|
|
1210
|
-
}
|
|
1671
|
+
offset += result.bytesRead;
|
|
1211
1672
|
}
|
|
1212
1673
|
},
|
|
1213
1674
|
flush(controller) {
|
|
1214
|
-
if (buffer.length
|
|
1215
|
-
controller.error(new (0, _chunkFWISIR26cjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete data", 0));
|
|
1216
|
-
}
|
|
1217
|
-
}
|
|
1218
|
-
});
|
|
1219
|
-
}
|
|
1220
|
-
function createDataStreamDecoder() {
|
|
1221
|
-
let buffer = new Uint8Array(0);
|
|
1222
|
-
let inner = null;
|
|
1223
|
-
return new TransformStream({
|
|
1224
|
-
transform(chunk, controller) {
|
|
1225
|
-
const newBuffer = new Uint8Array(buffer.length + chunk.length);
|
|
1226
|
-
newBuffer.set(buffer, 0);
|
|
1227
|
-
newBuffer.set(chunk, buffer.length);
|
|
1228
|
-
buffer = newBuffer;
|
|
1229
|
-
if (inner === null) {
|
|
1230
|
-
if (buffer.length === 0) return;
|
|
1231
|
-
const firstByte = buffer[0];
|
|
1232
|
-
if (firstByte >= 16 && firstByte <= 29 || firstByte >= 48 && firstByte <= 61) {
|
|
1233
|
-
const decoder = createSubgroupStreamDecoder();
|
|
1234
|
-
inner = decoder;
|
|
1235
|
-
} else if (firstByte === 5) {
|
|
1236
|
-
const decoder = createFetchStreamDecoder();
|
|
1237
|
-
inner = decoder;
|
|
1238
|
-
} else {
|
|
1239
|
-
controller.error(
|
|
1240
|
-
new (0, _chunkFWISIR26cjs.DecodeError)(
|
|
1241
|
-
"CONSTRAINT_VIOLATION",
|
|
1242
|
-
`Unknown data stream type: 0x${firstByte.toString(16)}`,
|
|
1243
|
-
0
|
|
1244
|
-
)
|
|
1245
|
-
);
|
|
1246
|
-
return;
|
|
1247
|
-
}
|
|
1248
|
-
}
|
|
1249
|
-
},
|
|
1250
|
-
flush(controller) {
|
|
1251
|
-
if (buffer.length === 0) return;
|
|
1252
|
-
const firstByte = buffer[0];
|
|
1253
|
-
let result;
|
|
1254
|
-
if (firstByte >= 16 && firstByte <= 29 || firstByte >= 48 && firstByte <= 61) {
|
|
1255
|
-
result = decodeSubgroupStream(buffer);
|
|
1256
|
-
} else if (firstByte === 5) {
|
|
1257
|
-
result = decodeFetchStream(buffer);
|
|
1258
|
-
} else {
|
|
1675
|
+
if (offset < buffer.length) {
|
|
1259
1676
|
controller.error(
|
|
1260
|
-
new (0,
|
|
1261
|
-
"CONSTRAINT_VIOLATION",
|
|
1262
|
-
`Unknown data stream type: 0x${firstByte.toString(16)}`,
|
|
1263
|
-
0
|
|
1264
|
-
)
|
|
1677
|
+
new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete message data", 0)
|
|
1265
1678
|
);
|
|
1266
|
-
return;
|
|
1267
|
-
}
|
|
1268
|
-
if (!result.ok) {
|
|
1269
|
-
controller.error(result.error);
|
|
1270
|
-
return;
|
|
1271
|
-
}
|
|
1272
|
-
const stream = result.value;
|
|
1273
|
-
if (stream.type === "subgroup") {
|
|
1274
|
-
controller.enqueue({
|
|
1275
|
-
type: "subgroup_header",
|
|
1276
|
-
trackAlias: stream.trackAlias,
|
|
1277
|
-
groupId: stream.groupId,
|
|
1278
|
-
subgroupId: stream.subgroupId,
|
|
1279
|
-
publisherPriority: stream.publisherPriority
|
|
1280
|
-
});
|
|
1281
|
-
for (const obj of stream.objects) {
|
|
1282
|
-
controller.enqueue(obj);
|
|
1283
|
-
}
|
|
1284
|
-
} else if (stream.type === "fetch") {
|
|
1285
|
-
controller.enqueue({
|
|
1286
|
-
type: "fetch_header",
|
|
1287
|
-
requestId: stream.requestId
|
|
1288
|
-
});
|
|
1289
|
-
for (const obj of stream.objects) {
|
|
1290
|
-
controller.enqueue(obj);
|
|
1291
|
-
}
|
|
1292
1679
|
}
|
|
1293
1680
|
}
|
|
1294
1681
|
});
|
|
1295
1682
|
}
|
|
1296
1683
|
function createDraft16Codec() {
|
|
1297
1684
|
return {
|
|
1298
|
-
draft: "
|
|
1685
|
+
draft: "16",
|
|
1299
1686
|
encodeMessage,
|
|
1300
1687
|
decodeMessage,
|
|
1301
1688
|
encodeSubgroupStream,
|
|
@@ -1358,4 +1745,4 @@ function createDraft16Codec() {
|
|
|
1358
1745
|
|
|
1359
1746
|
|
|
1360
1747
|
|
|
1361
|
-
exports.MSG_REQUEST_UPDATE = MSG_REQUEST_UPDATE; exports.MSG_SUBSCRIBE = MSG_SUBSCRIBE; exports.MSG_SUBSCRIBE_OK = MSG_SUBSCRIBE_OK; exports.MSG_REQUEST_ERROR = MSG_REQUEST_ERROR; exports.MSG_PUBLISH_NAMESPACE = MSG_PUBLISH_NAMESPACE; exports.MSG_REQUEST_OK = MSG_REQUEST_OK; exports.MSG_NAMESPACE = MSG_NAMESPACE; exports.MSG_PUBLISH_NAMESPACE_DONE = MSG_PUBLISH_NAMESPACE_DONE; exports.MSG_UNSUBSCRIBE = MSG_UNSUBSCRIBE; exports.MSG_PUBLISH_DONE = MSG_PUBLISH_DONE; exports.MSG_PUBLISH_NAMESPACE_CANCEL = MSG_PUBLISH_NAMESPACE_CANCEL; exports.MSG_TRACK_STATUS = MSG_TRACK_STATUS; exports.MSG_NAMESPACE_DONE = MSG_NAMESPACE_DONE; exports.MSG_GOAWAY = MSG_GOAWAY; exports.MSG_SUBSCRIBE_NAMESPACE = MSG_SUBSCRIBE_NAMESPACE; exports.MSG_MAX_REQUEST_ID = MSG_MAX_REQUEST_ID; exports.MSG_FETCH = MSG_FETCH; exports.MSG_FETCH_CANCEL = MSG_FETCH_CANCEL; exports.MSG_FETCH_OK = MSG_FETCH_OK; exports.MSG_REQUESTS_BLOCKED = MSG_REQUESTS_BLOCKED; exports.MSG_PUBLISH = MSG_PUBLISH; exports.MSG_PUBLISH_OK = MSG_PUBLISH_OK; exports.MSG_CLIENT_SETUP = MSG_CLIENT_SETUP; exports.MSG_SERVER_SETUP = MSG_SERVER_SETUP; exports.SETUP_PARAM_PATH = SETUP_PARAM_PATH; exports.SETUP_PARAM_MAX_REQUEST_ID = SETUP_PARAM_MAX_REQUEST_ID; exports.SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE; exports.SETUP_PARAM_AUTHORITY = SETUP_PARAM_AUTHORITY; exports.SETUP_PARAM_MOQT_IMPLEMENTATION = SETUP_PARAM_MOQT_IMPLEMENTATION; exports.MESSAGE_TYPE_MAP = MESSAGE_TYPE_MAP; exports.MESSAGE_ID_MAP = MESSAGE_ID_MAP; exports.
|
|
1748
|
+
exports.MSG_REQUEST_UPDATE = MSG_REQUEST_UPDATE; exports.MSG_SUBSCRIBE = MSG_SUBSCRIBE; exports.MSG_SUBSCRIBE_OK = MSG_SUBSCRIBE_OK; exports.MSG_REQUEST_ERROR = MSG_REQUEST_ERROR; exports.MSG_PUBLISH_NAMESPACE = MSG_PUBLISH_NAMESPACE; exports.MSG_REQUEST_OK = MSG_REQUEST_OK; exports.MSG_NAMESPACE = MSG_NAMESPACE; exports.MSG_PUBLISH_NAMESPACE_DONE = MSG_PUBLISH_NAMESPACE_DONE; exports.MSG_UNSUBSCRIBE = MSG_UNSUBSCRIBE; exports.MSG_PUBLISH_DONE = MSG_PUBLISH_DONE; exports.MSG_PUBLISH_NAMESPACE_CANCEL = MSG_PUBLISH_NAMESPACE_CANCEL; exports.MSG_TRACK_STATUS = MSG_TRACK_STATUS; exports.MSG_NAMESPACE_DONE = MSG_NAMESPACE_DONE; exports.MSG_GOAWAY = MSG_GOAWAY; exports.MSG_SUBSCRIBE_NAMESPACE = MSG_SUBSCRIBE_NAMESPACE; exports.MSG_MAX_REQUEST_ID = MSG_MAX_REQUEST_ID; exports.MSG_FETCH = MSG_FETCH; exports.MSG_FETCH_CANCEL = MSG_FETCH_CANCEL; exports.MSG_FETCH_OK = MSG_FETCH_OK; exports.MSG_REQUESTS_BLOCKED = MSG_REQUESTS_BLOCKED; exports.MSG_PUBLISH = MSG_PUBLISH; exports.MSG_PUBLISH_OK = MSG_PUBLISH_OK; exports.MSG_CLIENT_SETUP = MSG_CLIENT_SETUP; exports.MSG_SERVER_SETUP = MSG_SERVER_SETUP; exports.SETUP_PARAM_PATH = SETUP_PARAM_PATH; exports.SETUP_PARAM_MAX_REQUEST_ID = SETUP_PARAM_MAX_REQUEST_ID; exports.SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE; exports.SETUP_PARAM_AUTHORITY = SETUP_PARAM_AUTHORITY; exports.SETUP_PARAM_MOQT_IMPLEMENTATION = SETUP_PARAM_MOQT_IMPLEMENTATION; exports.MESSAGE_TYPE_MAP = MESSAGE_TYPE_MAP; exports.MESSAGE_ID_MAP = MESSAGE_ID_MAP; exports.encodeSubgroupStream = encodeSubgroupStream; exports.encodeDatagram = encodeDatagram; exports.encodeFetchStream = encodeFetchStream; exports.decodeSubgroupStream = decodeSubgroupStream; exports.decodeDatagram = decodeDatagram; exports.decodeFetchStream = decodeFetchStream; exports.decodeDataStream = decodeDataStream; exports.createSubgroupStreamDecoder = createSubgroupStreamDecoder; exports.createFetchStreamDecoder = createFetchStreamDecoder; exports.createDataStreamDecoder = createDataStreamDecoder; exports.encodeMessage = encodeMessage; exports.decodeMessage = decodeMessage; exports.createStreamDecoder = createStreamDecoder; exports.createDraft16Codec = createDraft16Codec;
|