@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
|
@@ -1,8 +1,294 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BufferReader,
|
|
3
3
|
BufferWriter,
|
|
4
|
-
DecodeError
|
|
5
|
-
|
|
4
|
+
DecodeError,
|
|
5
|
+
bytesToHex,
|
|
6
|
+
hexToBytes
|
|
7
|
+
} from "./chunk-VOU7PNHI.js";
|
|
8
|
+
|
|
9
|
+
// src/drafts/draft11/data-streams.ts
|
|
10
|
+
var FETCH_STREAM_TYPE = 0x05n;
|
|
11
|
+
function encodeSubgroupStream(stream) {
|
|
12
|
+
const w = new BufferWriter();
|
|
13
|
+
const typeId = stream.streamTypeId;
|
|
14
|
+
w.writeVarInt(BigInt(typeId));
|
|
15
|
+
w.writeVarInt(stream.trackAlias);
|
|
16
|
+
w.writeVarInt(stream.groupId);
|
|
17
|
+
const extensionsPresent = (typeId & 1) !== 0;
|
|
18
|
+
const hasSubgroupField = (typeId & 4) !== 0;
|
|
19
|
+
if (hasSubgroupField) w.writeVarInt(stream.subgroupId);
|
|
20
|
+
w.writeUint8(stream.publisherPriority);
|
|
21
|
+
for (const obj of stream.objects) {
|
|
22
|
+
w.writeVarInt(obj.objectId);
|
|
23
|
+
if (extensionsPresent) {
|
|
24
|
+
w.writeVarInt(BigInt(obj.extensionData.length));
|
|
25
|
+
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
|
|
26
|
+
}
|
|
27
|
+
w.writeVarInt(obj.payloadLength);
|
|
28
|
+
if (obj.payloadLength === 0 && obj.status !== void 0) {
|
|
29
|
+
w.writeVarInt(obj.status);
|
|
30
|
+
} else {
|
|
31
|
+
w.writeBytes(obj.payload);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return w.finish();
|
|
35
|
+
}
|
|
36
|
+
function encodeDatagram(dg) {
|
|
37
|
+
const w = new BufferWriter();
|
|
38
|
+
w.writeVarInt(BigInt(dg.streamTypeId));
|
|
39
|
+
w.writeVarInt(dg.trackAlias);
|
|
40
|
+
w.writeVarInt(dg.groupId);
|
|
41
|
+
w.writeVarInt(dg.objectId);
|
|
42
|
+
w.writeUint8(dg.publisherPriority);
|
|
43
|
+
const extensionsPresent = (dg.streamTypeId & 1) !== 0;
|
|
44
|
+
if (extensionsPresent) {
|
|
45
|
+
const extData = dg.extensionData ?? new Uint8Array(0);
|
|
46
|
+
w.writeVarInt(extData.byteLength);
|
|
47
|
+
if (extData.byteLength > 0) w.writeBytes(extData);
|
|
48
|
+
}
|
|
49
|
+
const isStatus = dg.streamTypeId === 2 || dg.streamTypeId === 3;
|
|
50
|
+
if (isStatus) {
|
|
51
|
+
w.writeVarInt(dg.objectStatus ?? 0n);
|
|
52
|
+
} else {
|
|
53
|
+
w.writeBytes(dg.payload);
|
|
54
|
+
}
|
|
55
|
+
return w.finish();
|
|
56
|
+
}
|
|
57
|
+
function encodeFetchStream(stream) {
|
|
58
|
+
const w = new BufferWriter();
|
|
59
|
+
w.writeVarInt(FETCH_STREAM_TYPE);
|
|
60
|
+
w.writeVarInt(stream.requestId);
|
|
61
|
+
for (const obj of stream.objects) {
|
|
62
|
+
w.writeVarInt(obj.groupId);
|
|
63
|
+
w.writeVarInt(obj.subgroupId);
|
|
64
|
+
w.writeVarInt(obj.objectId);
|
|
65
|
+
w.writeUint8(obj.publisherPriority);
|
|
66
|
+
w.writeVarInt(BigInt(obj.extensionData.length));
|
|
67
|
+
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
|
|
68
|
+
w.writeVarInt(obj.payloadLength);
|
|
69
|
+
if (obj.payloadLength === 0) {
|
|
70
|
+
const status = obj.objectStatus;
|
|
71
|
+
w.writeVarInt(status ?? 0n);
|
|
72
|
+
} else {
|
|
73
|
+
w.writeBytes(obj.payload);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return w.finish();
|
|
77
|
+
}
|
|
78
|
+
function decodeSubgroupStream(bytes) {
|
|
79
|
+
try {
|
|
80
|
+
const r = new BufferReader(bytes);
|
|
81
|
+
const streamTypeId = Number(r.readVarInt());
|
|
82
|
+
if (streamTypeId < 8 || streamTypeId > 13) {
|
|
83
|
+
return {
|
|
84
|
+
ok: false,
|
|
85
|
+
error: new DecodeError(
|
|
86
|
+
"CONSTRAINT_VIOLATION",
|
|
87
|
+
`Expected subgroup type 0x08-0x0D, got 0x${streamTypeId.toString(16)}`,
|
|
88
|
+
0
|
|
89
|
+
)
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const extensionsPresent = (streamTypeId & 1) !== 0;
|
|
93
|
+
const hasSubgroupField = (streamTypeId & 4) !== 0;
|
|
94
|
+
const subgroupIsFirstObjId = (streamTypeId & 2) !== 0 && !hasSubgroupField;
|
|
95
|
+
const trackAlias = r.readVarInt();
|
|
96
|
+
const groupId = r.readVarInt();
|
|
97
|
+
let subgroupId = 0n;
|
|
98
|
+
if (hasSubgroupField) subgroupId = r.readVarInt();
|
|
99
|
+
const publisherPriority = r.readUint8();
|
|
100
|
+
const objects = [];
|
|
101
|
+
let firstObject = true;
|
|
102
|
+
while (r.remaining > 0) {
|
|
103
|
+
const byteOffset = r.offset;
|
|
104
|
+
const objectId = r.readVarInt();
|
|
105
|
+
if (firstObject && subgroupIsFirstObjId) {
|
|
106
|
+
subgroupId = objectId;
|
|
107
|
+
firstObject = false;
|
|
108
|
+
}
|
|
109
|
+
let extensionData = new Uint8Array(0);
|
|
110
|
+
let extensionHeadersLength;
|
|
111
|
+
if (extensionsPresent) {
|
|
112
|
+
extensionHeadersLength = r.readVarInt();
|
|
113
|
+
extensionData = extensionHeadersLength > 0n ? r.readBytesView(Number(extensionHeadersLength)) : new Uint8Array(0);
|
|
114
|
+
}
|
|
115
|
+
const payloadLength = Number(r.readVarInt());
|
|
116
|
+
let payload;
|
|
117
|
+
let status;
|
|
118
|
+
let payloadByteOffset;
|
|
119
|
+
if (payloadLength === 0) {
|
|
120
|
+
status = r.readVarInt();
|
|
121
|
+
payloadByteOffset = r.offset;
|
|
122
|
+
payload = new Uint8Array(0);
|
|
123
|
+
} else {
|
|
124
|
+
payloadByteOffset = r.offset;
|
|
125
|
+
payload = r.readBytesView(payloadLength);
|
|
126
|
+
}
|
|
127
|
+
const obj = {
|
|
128
|
+
type: "object",
|
|
129
|
+
byteOffset,
|
|
130
|
+
payloadByteOffset,
|
|
131
|
+
objectId,
|
|
132
|
+
extensionData,
|
|
133
|
+
payloadLength,
|
|
134
|
+
payload
|
|
135
|
+
};
|
|
136
|
+
if (extensionHeadersLength !== void 0)
|
|
137
|
+
obj.extensionHeadersLength = extensionHeadersLength;
|
|
138
|
+
if (status !== void 0) obj.status = status;
|
|
139
|
+
objects.push(obj);
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
ok: true,
|
|
143
|
+
value: {
|
|
144
|
+
type: "subgroup",
|
|
145
|
+
streamTypeId,
|
|
146
|
+
trackAlias,
|
|
147
|
+
groupId,
|
|
148
|
+
subgroupId,
|
|
149
|
+
publisherPriority,
|
|
150
|
+
objects
|
|
151
|
+
},
|
|
152
|
+
bytesRead: r.offset
|
|
153
|
+
};
|
|
154
|
+
} catch (e) {
|
|
155
|
+
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
156
|
+
throw e;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function decodeDatagram(bytes) {
|
|
160
|
+
try {
|
|
161
|
+
const r = new BufferReader(bytes);
|
|
162
|
+
const streamTypeId = Number(r.readVarInt());
|
|
163
|
+
if (streamTypeId < 0 || streamTypeId > 3) {
|
|
164
|
+
return {
|
|
165
|
+
ok: false,
|
|
166
|
+
error: new DecodeError(
|
|
167
|
+
"CONSTRAINT_VIOLATION",
|
|
168
|
+
`Expected datagram type 0x00-0x03, got 0x${streamTypeId.toString(16)}`,
|
|
169
|
+
0
|
|
170
|
+
)
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
const extensionsPresent = (streamTypeId & 1) !== 0;
|
|
174
|
+
const isStatus = streamTypeId === 2 || streamTypeId === 3;
|
|
175
|
+
const trackAlias = r.readVarInt();
|
|
176
|
+
const groupId = r.readVarInt();
|
|
177
|
+
const objectId = r.readVarInt();
|
|
178
|
+
const publisherPriority = r.readUint8();
|
|
179
|
+
let extensionHeadersLength;
|
|
180
|
+
let extensionData;
|
|
181
|
+
if (extensionsPresent) {
|
|
182
|
+
extensionHeadersLength = r.readVarInt();
|
|
183
|
+
extensionData = extensionHeadersLength > 0n ? r.readBytesView(Number(extensionHeadersLength)) : new Uint8Array(0);
|
|
184
|
+
}
|
|
185
|
+
let objectStatus;
|
|
186
|
+
let payload;
|
|
187
|
+
if (isStatus) {
|
|
188
|
+
objectStatus = r.readVarInt();
|
|
189
|
+
payload = new Uint8Array(0);
|
|
190
|
+
} else {
|
|
191
|
+
payload = r.readBytesView(r.remaining);
|
|
192
|
+
}
|
|
193
|
+
const result = {
|
|
194
|
+
type: "datagram",
|
|
195
|
+
streamTypeId,
|
|
196
|
+
trackAlias,
|
|
197
|
+
groupId,
|
|
198
|
+
objectId,
|
|
199
|
+
publisherPriority,
|
|
200
|
+
payloadLength: payload.byteLength,
|
|
201
|
+
payload
|
|
202
|
+
};
|
|
203
|
+
if (extensionHeadersLength !== void 0)
|
|
204
|
+
result.extensionHeadersLength = extensionHeadersLength;
|
|
205
|
+
if (extensionData !== void 0)
|
|
206
|
+
result.extensionData = extensionData;
|
|
207
|
+
if (objectStatus !== void 0)
|
|
208
|
+
result.objectStatus = objectStatus;
|
|
209
|
+
return { ok: true, value: result, bytesRead: r.offset };
|
|
210
|
+
} catch (e) {
|
|
211
|
+
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
212
|
+
throw e;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
function decodeFetchStream(bytes) {
|
|
216
|
+
try {
|
|
217
|
+
const r = new BufferReader(bytes);
|
|
218
|
+
const streamType = r.readVarInt();
|
|
219
|
+
if (streamType !== FETCH_STREAM_TYPE) {
|
|
220
|
+
return {
|
|
221
|
+
ok: false,
|
|
222
|
+
error: new DecodeError(
|
|
223
|
+
"CONSTRAINT_VIOLATION",
|
|
224
|
+
`Expected fetch type 0x05, got 0x${streamType.toString(16)}`,
|
|
225
|
+
0
|
|
226
|
+
)
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
const requestId = r.readVarInt();
|
|
230
|
+
const objects = [];
|
|
231
|
+
while (r.remaining > 0) {
|
|
232
|
+
const byteOffset = r.offset;
|
|
233
|
+
const groupId = r.readVarInt();
|
|
234
|
+
const subgroupId = r.readVarInt();
|
|
235
|
+
const objectId = r.readVarInt();
|
|
236
|
+
const publisherPriority = r.readUint8();
|
|
237
|
+
const extensionHeadersLength = r.readVarInt();
|
|
238
|
+
const extensionData = extensionHeadersLength > 0n ? r.readBytesView(Number(extensionHeadersLength)) : new Uint8Array(0);
|
|
239
|
+
const payloadLength = Number(r.readVarInt());
|
|
240
|
+
let payload;
|
|
241
|
+
let objectStatus;
|
|
242
|
+
let payloadByteOffset;
|
|
243
|
+
if (payloadLength === 0) {
|
|
244
|
+
objectStatus = r.readVarInt();
|
|
245
|
+
payloadByteOffset = r.offset;
|
|
246
|
+
payload = new Uint8Array(0);
|
|
247
|
+
} else {
|
|
248
|
+
payloadByteOffset = r.offset;
|
|
249
|
+
payload = r.readBytesView(payloadLength);
|
|
250
|
+
}
|
|
251
|
+
const obj = {
|
|
252
|
+
type: "object",
|
|
253
|
+
byteOffset,
|
|
254
|
+
payloadByteOffset,
|
|
255
|
+
groupId,
|
|
256
|
+
subgroupId,
|
|
257
|
+
objectId,
|
|
258
|
+
publisherPriority,
|
|
259
|
+
extensionHeadersLength,
|
|
260
|
+
extensionData,
|
|
261
|
+
payloadLength,
|
|
262
|
+
payload
|
|
263
|
+
};
|
|
264
|
+
if (objectStatus !== void 0)
|
|
265
|
+
obj.objectStatus = objectStatus;
|
|
266
|
+
objects.push(obj);
|
|
267
|
+
}
|
|
268
|
+
return {
|
|
269
|
+
ok: true,
|
|
270
|
+
value: { type: "fetch", requestId, objects },
|
|
271
|
+
bytesRead: r.offset
|
|
272
|
+
};
|
|
273
|
+
} catch (e) {
|
|
274
|
+
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
275
|
+
throw e;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
function decodeDataStream(streamType, bytes) {
|
|
279
|
+
switch (streamType) {
|
|
280
|
+
case "subgroup":
|
|
281
|
+
return decodeSubgroupStream(bytes);
|
|
282
|
+
case "datagram":
|
|
283
|
+
return decodeDatagram(bytes);
|
|
284
|
+
case "fetch":
|
|
285
|
+
return decodeFetchStream(bytes);
|
|
286
|
+
default: {
|
|
287
|
+
const _ = streamType;
|
|
288
|
+
throw new Error(`Unknown: ${_}`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
6
292
|
|
|
7
293
|
// src/drafts/draft11/messages.ts
|
|
8
294
|
var MSG_SUBSCRIBE_UPDATE = 0x02n;
|
|
@@ -35,6 +321,7 @@ var SETUP_PARAM_PATH = 0x01n;
|
|
|
35
321
|
var SETUP_PARAM_MAX_REQUEST_ID = 0x02n;
|
|
36
322
|
var PARAM_AUTHORIZATION_TOKEN = 0x01n;
|
|
37
323
|
var PARAM_DELIVERY_TIMEOUT = 0x02n;
|
|
324
|
+
var PARAM_MAX_CACHE_DURATION = 0x04n;
|
|
38
325
|
var MESSAGE_TYPE_MAP = /* @__PURE__ */ new Map([
|
|
39
326
|
[MSG_CLIENT_SETUP, "client_setup"],
|
|
40
327
|
[MSG_SERVER_SETUP, "server_setup"],
|
|
@@ -68,20 +355,8 @@ var MESSAGE_ID_MAP = new Map(
|
|
|
68
355
|
);
|
|
69
356
|
|
|
70
357
|
// src/drafts/draft11/codec.ts
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
for (let i = 0; i < bytes.byteLength; i++) {
|
|
74
|
-
hex += bytes[i].toString(16).padStart(2, "0");
|
|
75
|
-
}
|
|
76
|
-
return hex;
|
|
77
|
-
}
|
|
78
|
-
function hexToBytes(hex) {
|
|
79
|
-
const bytes = new Uint8Array(hex.length / 2);
|
|
80
|
-
for (let i = 0; i < hex.length; i += 2) {
|
|
81
|
-
bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16);
|
|
82
|
-
}
|
|
83
|
-
return bytes;
|
|
84
|
-
}
|
|
358
|
+
var textEncoder = /* @__PURE__ */ new TextEncoder();
|
|
359
|
+
var textDecoder = /* @__PURE__ */ new TextDecoder();
|
|
85
360
|
function encodeSetupParams(params, w) {
|
|
86
361
|
let count = 0;
|
|
87
362
|
if (params.path !== void 0) count++;
|
|
@@ -90,7 +365,7 @@ function encodeSetupParams(params, w) {
|
|
|
90
365
|
w.writeVarInt(count);
|
|
91
366
|
if (params.path !== void 0) {
|
|
92
367
|
w.writeVarInt(SETUP_PARAM_PATH);
|
|
93
|
-
const encoded =
|
|
368
|
+
const encoded = textEncoder.encode(params.path);
|
|
94
369
|
w.writeVarInt(encoded.byteLength);
|
|
95
370
|
w.writeBytes(encoded);
|
|
96
371
|
}
|
|
@@ -138,9 +413,13 @@ function decodeSetupParams(r) {
|
|
|
138
413
|
const length = Number(r.readVarInt());
|
|
139
414
|
const bytes = r.readBytes(length);
|
|
140
415
|
if (paramType === SETUP_PARAM_PATH) {
|
|
141
|
-
result.path =
|
|
416
|
+
result.path = textDecoder.decode(bytes);
|
|
142
417
|
} else {
|
|
143
|
-
unknown.push({
|
|
418
|
+
unknown.push({
|
|
419
|
+
id: `0x${paramType.toString(16)}`,
|
|
420
|
+
length,
|
|
421
|
+
raw_hex: bytesToHex(bytes)
|
|
422
|
+
});
|
|
144
423
|
}
|
|
145
424
|
}
|
|
146
425
|
}
|
|
@@ -151,6 +430,7 @@ function encodeParams(params, w) {
|
|
|
151
430
|
let count = params.unknown ? params.unknown.length : 0;
|
|
152
431
|
if (params.authorization_token !== void 0) count++;
|
|
153
432
|
if (params.delivery_timeout !== void 0) count++;
|
|
433
|
+
if (params.max_cache_duration !== void 0) count++;
|
|
154
434
|
w.writeVarInt(count);
|
|
155
435
|
if (params.authorization_token !== void 0) {
|
|
156
436
|
w.writeVarInt(PARAM_AUTHORIZATION_TOKEN);
|
|
@@ -158,7 +438,7 @@ function encodeParams(params, w) {
|
|
|
158
438
|
const tmpW = new BufferWriter(64);
|
|
159
439
|
tmpW.writeVarInt(at.alias_type);
|
|
160
440
|
tmpW.writeVarInt(at.token_type);
|
|
161
|
-
const tokenBytes =
|
|
441
|
+
const tokenBytes = textEncoder.encode(at.token_value);
|
|
162
442
|
tmpW.writeBytes(tokenBytes);
|
|
163
443
|
const raw = tmpW.finish();
|
|
164
444
|
w.writeVarInt(raw.byteLength);
|
|
@@ -168,6 +448,10 @@ function encodeParams(params, w) {
|
|
|
168
448
|
w.writeVarInt(PARAM_DELIVERY_TIMEOUT);
|
|
169
449
|
w.writeVarInt(params.delivery_timeout);
|
|
170
450
|
}
|
|
451
|
+
if (params.max_cache_duration !== void 0) {
|
|
452
|
+
w.writeVarInt(PARAM_MAX_CACHE_DURATION);
|
|
453
|
+
w.writeVarInt(params.max_cache_duration);
|
|
454
|
+
}
|
|
171
455
|
if (params.unknown) {
|
|
172
456
|
for (const u of params.unknown) {
|
|
173
457
|
const id = BigInt(u.id);
|
|
@@ -194,6 +478,8 @@ function decodeParams(r) {
|
|
|
194
478
|
const value = r.readVarInt();
|
|
195
479
|
if (paramType === PARAM_DELIVERY_TIMEOUT) {
|
|
196
480
|
result.delivery_timeout = value;
|
|
481
|
+
} else if (paramType === PARAM_MAX_CACHE_DURATION) {
|
|
482
|
+
result.max_cache_duration = value;
|
|
197
483
|
} else {
|
|
198
484
|
const tmpW = new BufferWriter(16);
|
|
199
485
|
tmpW.writeVarInt(value);
|
|
@@ -215,11 +501,15 @@ function decodeParams(r) {
|
|
|
215
501
|
result.authorization_token = {
|
|
216
502
|
alias_type,
|
|
217
503
|
token_type,
|
|
218
|
-
token_value:
|
|
504
|
+
token_value: textDecoder.decode(tokenBytes)
|
|
219
505
|
};
|
|
220
506
|
} else {
|
|
221
507
|
const bytes = r.readBytes(length);
|
|
222
|
-
unknown.push({
|
|
508
|
+
unknown.push({
|
|
509
|
+
id: `0x${paramType.toString(16)}`,
|
|
510
|
+
length,
|
|
511
|
+
raw_hex: bytesToHex(bytes)
|
|
512
|
+
});
|
|
223
513
|
}
|
|
224
514
|
}
|
|
225
515
|
}
|
|
@@ -241,7 +531,7 @@ function encodeSubscribePayload(msg, w) {
|
|
|
241
531
|
w.writeTuple(msg.track_namespace);
|
|
242
532
|
w.writeString(msg.track_name);
|
|
243
533
|
w.writeUint8(msg.subscriber_priority);
|
|
244
|
-
w.
|
|
534
|
+
w.writeUint8(msg.group_order);
|
|
245
535
|
w.writeVarInt(msg.forward);
|
|
246
536
|
w.writeVarInt(msg.filter_type);
|
|
247
537
|
const ft = Number(msg.filter_type);
|
|
@@ -257,7 +547,7 @@ function encodeSubscribePayload(msg, w) {
|
|
|
257
547
|
function encodeSubscribeOkPayload(msg, w) {
|
|
258
548
|
w.writeVarInt(msg.request_id);
|
|
259
549
|
w.writeVarInt(msg.expires);
|
|
260
|
-
w.
|
|
550
|
+
w.writeUint8(msg.group_order);
|
|
261
551
|
w.writeVarInt(msg.content_exists);
|
|
262
552
|
if (msg.content_exists === 1n && msg.largest_location) {
|
|
263
553
|
w.writeVarInt(msg.largest_location.group);
|
|
@@ -329,7 +619,7 @@ function encodeUnsubscribeAnnouncesPayload(msg, w) {
|
|
|
329
619
|
function encodeFetchPayload(msg, w) {
|
|
330
620
|
w.writeVarInt(msg.request_id);
|
|
331
621
|
w.writeUint8(msg.subscriber_priority);
|
|
332
|
-
w.
|
|
622
|
+
w.writeUint8(msg.group_order);
|
|
333
623
|
w.writeVarInt(msg.fetch_type);
|
|
334
624
|
const ft = Number(msg.fetch_type);
|
|
335
625
|
if (ft === 1 && msg.standalone) {
|
|
@@ -347,7 +637,7 @@ function encodeFetchPayload(msg, w) {
|
|
|
347
637
|
}
|
|
348
638
|
function encodeFetchOkPayload(msg, w) {
|
|
349
639
|
w.writeVarInt(msg.request_id);
|
|
350
|
-
w.
|
|
640
|
+
w.writeUint8(msg.group_order);
|
|
351
641
|
w.writeVarInt(msg.end_of_track);
|
|
352
642
|
w.writeVarInt(msg.end_location.group);
|
|
353
643
|
w.writeVarInt(msg.end_location.object);
|
|
@@ -404,7 +694,7 @@ function decodeSubscribePayload(r) {
|
|
|
404
694
|
const track_namespace = r.readTuple();
|
|
405
695
|
const track_name = r.readString();
|
|
406
696
|
const subscriber_priority = r.readUint8();
|
|
407
|
-
const group_order = r.
|
|
697
|
+
const group_order = r.readUint8();
|
|
408
698
|
const forward = r.readVarInt();
|
|
409
699
|
const filter_type = r.readVarInt();
|
|
410
700
|
const ft = Number(filter_type);
|
|
@@ -442,7 +732,7 @@ function decodeSubscribePayload(r) {
|
|
|
442
732
|
function decodeSubscribeOkPayload(r) {
|
|
443
733
|
const request_id = r.readVarInt();
|
|
444
734
|
const expires = r.readVarInt();
|
|
445
|
-
const group_order = r.
|
|
735
|
+
const group_order = r.readUint8();
|
|
446
736
|
const content_exists = r.readVarInt();
|
|
447
737
|
let largest_location;
|
|
448
738
|
if (content_exists === 1n) {
|
|
@@ -467,7 +757,13 @@ function decodeSubscribeErrorPayload(r) {
|
|
|
467
757
|
const error_code = r.readVarInt();
|
|
468
758
|
const reason_phrase = r.readString();
|
|
469
759
|
const track_alias = r.readVarInt();
|
|
470
|
-
return {
|
|
760
|
+
return {
|
|
761
|
+
type: "subscribe_error",
|
|
762
|
+
request_id,
|
|
763
|
+
error_code,
|
|
764
|
+
reason_phrase,
|
|
765
|
+
track_alias
|
|
766
|
+
};
|
|
471
767
|
}
|
|
472
768
|
function decodeSubscribeUpdatePayload(r) {
|
|
473
769
|
const request_id = r.readVarInt();
|
|
@@ -493,7 +789,13 @@ function decodeSubscribeDonePayload(r) {
|
|
|
493
789
|
const status_code = r.readVarInt();
|
|
494
790
|
const stream_count = r.readVarInt();
|
|
495
791
|
const reason_phrase = r.readString();
|
|
496
|
-
return {
|
|
792
|
+
return {
|
|
793
|
+
type: "subscribe_done",
|
|
794
|
+
request_id,
|
|
795
|
+
status_code,
|
|
796
|
+
stream_count,
|
|
797
|
+
reason_phrase
|
|
798
|
+
};
|
|
497
799
|
}
|
|
498
800
|
function decodeUnsubscribePayload(r) {
|
|
499
801
|
const request_id = r.readVarInt();
|
|
@@ -529,7 +831,12 @@ function decodeSubscribeAnnouncesPayload(r) {
|
|
|
529
831
|
const request_id = r.readVarInt();
|
|
530
832
|
const track_namespace_prefix = r.readTuple();
|
|
531
833
|
const parameters = decodeParams(r);
|
|
532
|
-
return {
|
|
834
|
+
return {
|
|
835
|
+
type: "subscribe_announces",
|
|
836
|
+
request_id,
|
|
837
|
+
track_namespace_prefix,
|
|
838
|
+
parameters
|
|
839
|
+
};
|
|
533
840
|
}
|
|
534
841
|
function decodeSubscribeAnnouncesOkPayload(r) {
|
|
535
842
|
const request_id = r.readVarInt();
|
|
@@ -539,7 +846,12 @@ function decodeSubscribeAnnouncesErrorPayload(r) {
|
|
|
539
846
|
const request_id = r.readVarInt();
|
|
540
847
|
const error_code = r.readVarInt();
|
|
541
848
|
const reason_phrase = r.readString();
|
|
542
|
-
return {
|
|
849
|
+
return {
|
|
850
|
+
type: "subscribe_announces_error",
|
|
851
|
+
request_id,
|
|
852
|
+
error_code,
|
|
853
|
+
reason_phrase
|
|
854
|
+
};
|
|
543
855
|
}
|
|
544
856
|
function decodeUnsubscribeAnnouncesPayload(r) {
|
|
545
857
|
const track_namespace_prefix = r.readTuple();
|
|
@@ -548,7 +860,7 @@ function decodeUnsubscribeAnnouncesPayload(r) {
|
|
|
548
860
|
function decodeFetchPayload(r) {
|
|
549
861
|
const request_id = r.readVarInt();
|
|
550
862
|
const subscriber_priority = r.readUint8();
|
|
551
|
-
const group_order = r.
|
|
863
|
+
const group_order = r.readUint8();
|
|
552
864
|
const fetch_type = r.readVarInt();
|
|
553
865
|
const ft = Number(fetch_type);
|
|
554
866
|
if (ft < 1 || ft > 3) {
|
|
@@ -563,7 +875,14 @@ function decodeFetchPayload(r) {
|
|
|
563
875
|
const start_object = r.readVarInt();
|
|
564
876
|
const end_group = r.readVarInt();
|
|
565
877
|
const end_object = r.readVarInt();
|
|
566
|
-
standalone = {
|
|
878
|
+
standalone = {
|
|
879
|
+
track_namespace,
|
|
880
|
+
track_name,
|
|
881
|
+
start_group,
|
|
882
|
+
start_object,
|
|
883
|
+
end_group,
|
|
884
|
+
end_object
|
|
885
|
+
};
|
|
567
886
|
} else {
|
|
568
887
|
const joining_subscribe_id = r.readVarInt();
|
|
569
888
|
const joining_start = r.readVarInt();
|
|
@@ -583,7 +902,7 @@ function decodeFetchPayload(r) {
|
|
|
583
902
|
}
|
|
584
903
|
function decodeFetchOkPayload(r) {
|
|
585
904
|
const request_id = r.readVarInt();
|
|
586
|
-
const group_order = r.
|
|
905
|
+
const group_order = r.readUint8();
|
|
587
906
|
const end_of_track = r.readVarInt();
|
|
588
907
|
const group = r.readVarInt();
|
|
589
908
|
const object = r.readVarInt();
|
|
@@ -612,7 +931,13 @@ function decodeTrackStatusRequestPayload(r) {
|
|
|
612
931
|
const track_namespace = r.readTuple();
|
|
613
932
|
const track_name = r.readString();
|
|
614
933
|
const parameters = decodeParams(r);
|
|
615
|
-
return {
|
|
934
|
+
return {
|
|
935
|
+
type: "track_status_request",
|
|
936
|
+
request_id,
|
|
937
|
+
track_namespace,
|
|
938
|
+
track_name,
|
|
939
|
+
parameters
|
|
940
|
+
};
|
|
616
941
|
}
|
|
617
942
|
function decodeTrackStatusPayload(r) {
|
|
618
943
|
const request_id = r.readVarInt();
|
|
@@ -673,10 +998,14 @@ function encodeMessage(message) {
|
|
|
673
998
|
if (typeId === void 0) throw new Error(`Unknown message type: ${message.type}`);
|
|
674
999
|
const payloadWriter = new BufferWriter();
|
|
675
1000
|
encodePayload(message, payloadWriter);
|
|
676
|
-
const payload = payloadWriter.
|
|
677
|
-
|
|
1001
|
+
const payload = payloadWriter.finishView();
|
|
1002
|
+
if (payload.byteLength > 65535) {
|
|
1003
|
+
throw new Error(`Payload too large for 16-bit length: ${payload.byteLength}`);
|
|
1004
|
+
}
|
|
1005
|
+
const writer = new BufferWriter(payload.byteLength + 16);
|
|
678
1006
|
writer.writeVarInt(typeId);
|
|
679
|
-
writer.
|
|
1007
|
+
writer.writeUint8(payload.byteLength >> 8 & 255);
|
|
1008
|
+
writer.writeUint8(payload.byteLength & 255);
|
|
680
1009
|
writer.writeBytes(payload);
|
|
681
1010
|
return writer.finish();
|
|
682
1011
|
}
|
|
@@ -744,7 +1073,9 @@ function decodeMessage(bytes) {
|
|
|
744
1073
|
try {
|
|
745
1074
|
const reader = new BufferReader(bytes);
|
|
746
1075
|
const typeId = reader.readVarInt();
|
|
747
|
-
const
|
|
1076
|
+
const lenHi = reader.readUint8();
|
|
1077
|
+
const lenLo = reader.readUint8();
|
|
1078
|
+
const payloadLength = lenHi << 8 | lenLo;
|
|
748
1079
|
const payloadBytes = reader.readBytes(payloadLength);
|
|
749
1080
|
const payloadReader = new BufferReader(payloadBytes);
|
|
750
1081
|
const decoder = payloadDecoders.get(typeId);
|
|
@@ -765,236 +1096,39 @@ function decodeMessage(bytes) {
|
|
|
765
1096
|
throw e;
|
|
766
1097
|
}
|
|
767
1098
|
}
|
|
768
|
-
var FETCH_STREAM_TYPE = 0x05n;
|
|
769
|
-
function encodeSubgroupStream(stream) {
|
|
770
|
-
const w = new BufferWriter();
|
|
771
|
-
const typeId = stream.streamTypeId;
|
|
772
|
-
w.writeVarInt(BigInt(typeId));
|
|
773
|
-
w.writeVarInt(stream.trackAlias);
|
|
774
|
-
w.writeVarInt(stream.groupId);
|
|
775
|
-
if (typeId === 12) w.writeVarInt(stream.subgroupId);
|
|
776
|
-
w.writeUint8(stream.publisherPriority);
|
|
777
|
-
for (const obj of stream.objects) {
|
|
778
|
-
w.writeVarInt(obj.objectId);
|
|
779
|
-
w.writeVarInt(obj.payloadLength);
|
|
780
|
-
if (obj.payloadLength === 0 && obj.status !== void 0) {
|
|
781
|
-
w.writeVarInt(obj.status);
|
|
782
|
-
} else {
|
|
783
|
-
w.writeBytes(obj.payload);
|
|
784
|
-
}
|
|
785
|
-
}
|
|
786
|
-
return w.finish();
|
|
787
|
-
}
|
|
788
|
-
function encodeDatagram(dg) {
|
|
789
|
-
const w = new BufferWriter();
|
|
790
|
-
w.writeVarInt(BigInt(dg.streamTypeId));
|
|
791
|
-
w.writeVarInt(dg.trackAlias);
|
|
792
|
-
w.writeVarInt(dg.groupId);
|
|
793
|
-
w.writeVarInt(dg.objectId);
|
|
794
|
-
w.writeUint8(dg.publisherPriority);
|
|
795
|
-
if (dg.streamTypeId === 2) {
|
|
796
|
-
w.writeVarInt(dg.objectStatus ?? 0n);
|
|
797
|
-
} else {
|
|
798
|
-
w.writeBytes(dg.payload);
|
|
799
|
-
}
|
|
800
|
-
return w.finish();
|
|
801
|
-
}
|
|
802
|
-
function encodeFetchStream(stream) {
|
|
803
|
-
const w = new BufferWriter();
|
|
804
|
-
w.writeVarInt(FETCH_STREAM_TYPE);
|
|
805
|
-
w.writeVarInt(stream.requestId);
|
|
806
|
-
for (const obj of stream.objects) {
|
|
807
|
-
w.writeVarInt(obj.groupId);
|
|
808
|
-
w.writeVarInt(obj.subgroupId);
|
|
809
|
-
w.writeVarInt(obj.objectId);
|
|
810
|
-
w.writeUint8(obj.publisherPriority);
|
|
811
|
-
w.writeVarInt(obj.extensionHeadersLength);
|
|
812
|
-
w.writeVarInt(obj.payloadLength);
|
|
813
|
-
w.writeBytes(obj.payload);
|
|
814
|
-
}
|
|
815
|
-
return w.finish();
|
|
816
|
-
}
|
|
817
|
-
function decodeSubgroupStream(bytes) {
|
|
818
|
-
try {
|
|
819
|
-
const r = new BufferReader(bytes);
|
|
820
|
-
const streamTypeId = Number(r.readVarInt());
|
|
821
|
-
if (streamTypeId !== 8 && streamTypeId !== 12) {
|
|
822
|
-
return {
|
|
823
|
-
ok: false,
|
|
824
|
-
error: new DecodeError(
|
|
825
|
-
"CONSTRAINT_VIOLATION",
|
|
826
|
-
`Expected subgroup type 0x08 or 0x0C, got 0x${streamTypeId.toString(16)}`,
|
|
827
|
-
0
|
|
828
|
-
)
|
|
829
|
-
};
|
|
830
|
-
}
|
|
831
|
-
const trackAlias = r.readVarInt();
|
|
832
|
-
const groupId = r.readVarInt();
|
|
833
|
-
let subgroupId = 0n;
|
|
834
|
-
if (streamTypeId === 12) subgroupId = r.readVarInt();
|
|
835
|
-
const publisherPriority = r.readUint8();
|
|
836
|
-
const objects = [];
|
|
837
|
-
while (r.remaining > 0) {
|
|
838
|
-
const objectId = r.readVarInt();
|
|
839
|
-
const payloadLength = Number(r.readVarInt());
|
|
840
|
-
let payload;
|
|
841
|
-
let status;
|
|
842
|
-
if (payloadLength === 0) {
|
|
843
|
-
status = r.readVarInt();
|
|
844
|
-
payload = new Uint8Array(0);
|
|
845
|
-
} else {
|
|
846
|
-
payload = r.readBytes(payloadLength);
|
|
847
|
-
}
|
|
848
|
-
const obj = { type: "object", objectId, payloadLength, payload };
|
|
849
|
-
if (status !== void 0) obj.status = status;
|
|
850
|
-
objects.push(obj);
|
|
851
|
-
}
|
|
852
|
-
return {
|
|
853
|
-
ok: true,
|
|
854
|
-
value: {
|
|
855
|
-
type: "subgroup",
|
|
856
|
-
streamTypeId,
|
|
857
|
-
trackAlias,
|
|
858
|
-
groupId,
|
|
859
|
-
subgroupId,
|
|
860
|
-
publisherPriority,
|
|
861
|
-
objects
|
|
862
|
-
},
|
|
863
|
-
bytesRead: r.offset
|
|
864
|
-
};
|
|
865
|
-
} catch (e) {
|
|
866
|
-
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
867
|
-
throw e;
|
|
868
|
-
}
|
|
869
|
-
}
|
|
870
|
-
function decodeDatagram(bytes) {
|
|
871
|
-
try {
|
|
872
|
-
const r = new BufferReader(bytes);
|
|
873
|
-
const streamTypeId = Number(r.readVarInt());
|
|
874
|
-
if (streamTypeId !== 0 && streamTypeId !== 2) {
|
|
875
|
-
return {
|
|
876
|
-
ok: false,
|
|
877
|
-
error: new DecodeError(
|
|
878
|
-
"CONSTRAINT_VIOLATION",
|
|
879
|
-
`Expected datagram type 0x00 or 0x02, got 0x${streamTypeId.toString(16)}`,
|
|
880
|
-
0
|
|
881
|
-
)
|
|
882
|
-
};
|
|
883
|
-
}
|
|
884
|
-
const trackAlias = r.readVarInt();
|
|
885
|
-
const groupId = r.readVarInt();
|
|
886
|
-
const objectId = r.readVarInt();
|
|
887
|
-
const publisherPriority = r.readUint8();
|
|
888
|
-
let objectStatus;
|
|
889
|
-
let payload;
|
|
890
|
-
if (streamTypeId === 2) {
|
|
891
|
-
objectStatus = r.readVarInt();
|
|
892
|
-
payload = new Uint8Array(0);
|
|
893
|
-
} else {
|
|
894
|
-
payload = r.readBytes(r.remaining);
|
|
895
|
-
}
|
|
896
|
-
const result = {
|
|
897
|
-
type: "datagram",
|
|
898
|
-
streamTypeId,
|
|
899
|
-
trackAlias,
|
|
900
|
-
groupId,
|
|
901
|
-
objectId,
|
|
902
|
-
publisherPriority,
|
|
903
|
-
payloadLength: payload.byteLength,
|
|
904
|
-
payload
|
|
905
|
-
};
|
|
906
|
-
if (objectStatus !== void 0)
|
|
907
|
-
result.objectStatus = objectStatus;
|
|
908
|
-
return { ok: true, value: result, bytesRead: r.offset };
|
|
909
|
-
} catch (e) {
|
|
910
|
-
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
911
|
-
throw e;
|
|
912
|
-
}
|
|
913
|
-
}
|
|
914
|
-
function decodeFetchStream(bytes) {
|
|
915
|
-
try {
|
|
916
|
-
const r = new BufferReader(bytes);
|
|
917
|
-
const streamType = r.readVarInt();
|
|
918
|
-
if (streamType !== FETCH_STREAM_TYPE) {
|
|
919
|
-
return {
|
|
920
|
-
ok: false,
|
|
921
|
-
error: new DecodeError(
|
|
922
|
-
"CONSTRAINT_VIOLATION",
|
|
923
|
-
`Expected fetch type 0x05, got 0x${streamType.toString(16)}`,
|
|
924
|
-
0
|
|
925
|
-
)
|
|
926
|
-
};
|
|
927
|
-
}
|
|
928
|
-
const requestId = r.readVarInt();
|
|
929
|
-
const objects = [];
|
|
930
|
-
while (r.remaining > 0) {
|
|
931
|
-
const groupId = r.readVarInt();
|
|
932
|
-
const subgroupId = r.readVarInt();
|
|
933
|
-
const objectId = r.readVarInt();
|
|
934
|
-
const publisherPriority = r.readUint8();
|
|
935
|
-
const extensionHeadersLength = r.readVarInt();
|
|
936
|
-
if (extensionHeadersLength > 0n) r.readBytes(Number(extensionHeadersLength));
|
|
937
|
-
const payloadLength = Number(r.readVarInt());
|
|
938
|
-
const payload = payloadLength > 0 ? r.readBytes(payloadLength) : new Uint8Array(0);
|
|
939
|
-
objects.push({
|
|
940
|
-
type: "object",
|
|
941
|
-
groupId,
|
|
942
|
-
subgroupId,
|
|
943
|
-
objectId,
|
|
944
|
-
publisherPriority,
|
|
945
|
-
extensionHeadersLength,
|
|
946
|
-
payloadLength,
|
|
947
|
-
payload
|
|
948
|
-
});
|
|
949
|
-
}
|
|
950
|
-
return { ok: true, value: { type: "fetch", requestId, objects }, bytesRead: r.offset };
|
|
951
|
-
} catch (e) {
|
|
952
|
-
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
953
|
-
throw e;
|
|
954
|
-
}
|
|
955
|
-
}
|
|
956
|
-
function decodeDataStream(streamType, bytes) {
|
|
957
|
-
switch (streamType) {
|
|
958
|
-
case "subgroup":
|
|
959
|
-
return decodeSubgroupStream(bytes);
|
|
960
|
-
case "datagram":
|
|
961
|
-
return decodeDatagram(bytes);
|
|
962
|
-
case "fetch":
|
|
963
|
-
return decodeFetchStream(bytes);
|
|
964
|
-
default: {
|
|
965
|
-
const _ = streamType;
|
|
966
|
-
throw new Error(`Unknown: ${_}`);
|
|
967
|
-
}
|
|
968
|
-
}
|
|
969
|
-
}
|
|
970
1099
|
function createStreamDecoder() {
|
|
971
1100
|
let buffer = new Uint8Array(0);
|
|
1101
|
+
let offset = 0;
|
|
972
1102
|
return new TransformStream({
|
|
973
1103
|
transform(chunk, controller) {
|
|
1104
|
+
if (offset > 0) {
|
|
1105
|
+
buffer = buffer.subarray(offset);
|
|
1106
|
+
offset = 0;
|
|
1107
|
+
}
|
|
974
1108
|
const newBuffer = new Uint8Array(buffer.length + chunk.length);
|
|
975
1109
|
newBuffer.set(buffer, 0);
|
|
976
1110
|
newBuffer.set(chunk, buffer.length);
|
|
977
1111
|
buffer = newBuffer;
|
|
978
|
-
while (buffer.length
|
|
979
|
-
const result = decodeMessage(buffer);
|
|
1112
|
+
while (offset < buffer.length) {
|
|
1113
|
+
const result = decodeMessage(buffer.subarray(offset));
|
|
980
1114
|
if (!result.ok) {
|
|
981
1115
|
if (result.error.code === "UNEXPECTED_END") break;
|
|
982
1116
|
controller.error(result.error);
|
|
983
1117
|
return;
|
|
984
1118
|
}
|
|
985
1119
|
controller.enqueue(result.value);
|
|
986
|
-
|
|
1120
|
+
offset += result.bytesRead;
|
|
987
1121
|
}
|
|
988
1122
|
},
|
|
989
1123
|
flush(controller) {
|
|
990
|
-
if (buffer.length
|
|
1124
|
+
if (offset < buffer.length)
|
|
991
1125
|
controller.error(new DecodeError("UNEXPECTED_END", "Stream ended with incomplete data", 0));
|
|
992
1126
|
}
|
|
993
1127
|
});
|
|
994
1128
|
}
|
|
995
1129
|
function createDraft11Codec() {
|
|
996
1130
|
return {
|
|
997
|
-
draft: "
|
|
1131
|
+
draft: "11",
|
|
998
1132
|
encodeMessage,
|
|
999
1133
|
decodeMessage,
|
|
1000
1134
|
encodeSubgroupStream,
|
|
@@ -1009,6 +1143,13 @@ function createDraft11Codec() {
|
|
|
1009
1143
|
}
|
|
1010
1144
|
|
|
1011
1145
|
export {
|
|
1146
|
+
encodeSubgroupStream,
|
|
1147
|
+
encodeDatagram,
|
|
1148
|
+
encodeFetchStream,
|
|
1149
|
+
decodeSubgroupStream,
|
|
1150
|
+
decodeDatagram,
|
|
1151
|
+
decodeFetchStream,
|
|
1152
|
+
decodeDataStream,
|
|
1012
1153
|
MSG_SUBSCRIBE_UPDATE,
|
|
1013
1154
|
MSG_SUBSCRIBE,
|
|
1014
1155
|
MSG_SUBSCRIBE_OK,
|
|
@@ -1043,13 +1184,6 @@ export {
|
|
|
1043
1184
|
MESSAGE_ID_MAP,
|
|
1044
1185
|
encodeMessage,
|
|
1045
1186
|
decodeMessage,
|
|
1046
|
-
encodeSubgroupStream,
|
|
1047
|
-
encodeDatagram,
|
|
1048
|
-
encodeFetchStream,
|
|
1049
|
-
decodeSubgroupStream,
|
|
1050
|
-
decodeDatagram,
|
|
1051
|
-
decodeFetchStream,
|
|
1052
|
-
decodeDataStream,
|
|
1053
1187
|
createStreamDecoder,
|
|
1054
1188
|
createDraft11Codec
|
|
1055
1189
|
};
|