@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,7 +1,7 @@
|
|
|
1
|
-
import { BufferReader } from
|
|
2
|
-
import { BufferWriter } from
|
|
3
|
-
import type { DecodeResult } from
|
|
4
|
-
import { DecodeError } from
|
|
1
|
+
import { BufferReader } from '../../core/buffer-reader.js'
|
|
2
|
+
import { BufferWriter } from '../../core/buffer-writer.js'
|
|
3
|
+
import type { DecodeResult } from '../../core/types.js'
|
|
4
|
+
import { DecodeError } from '../../core/types.js'
|
|
5
5
|
import type {
|
|
6
6
|
DatagramObject,
|
|
7
7
|
Draft11DataStream,
|
|
@@ -9,127 +9,152 @@ import type {
|
|
|
9
9
|
FetchStream,
|
|
10
10
|
ObjectPayload,
|
|
11
11
|
SubgroupStream,
|
|
12
|
-
} from
|
|
12
|
+
} from './types.js'
|
|
13
13
|
|
|
14
14
|
// ─── Data Stream Encoding/Decoding ─────────────────────────────────────────────
|
|
15
15
|
|
|
16
|
-
const FETCH_STREAM_TYPE = 0x05n
|
|
16
|
+
const FETCH_STREAM_TYPE = 0x05n
|
|
17
17
|
|
|
18
18
|
export function encodeSubgroupStream(stream: SubgroupStream): Uint8Array {
|
|
19
|
-
const w = new BufferWriter()
|
|
20
|
-
const typeId = stream.streamTypeId
|
|
21
|
-
w.writeVarInt(BigInt(typeId))
|
|
22
|
-
w.writeVarInt(stream.trackAlias)
|
|
23
|
-
w.writeVarInt(stream.groupId)
|
|
24
|
-
const extensionsPresent = (typeId & 0x01) !== 0
|
|
25
|
-
const hasSubgroupField = (typeId & 0x04) !== 0
|
|
26
|
-
if (hasSubgroupField) w.writeVarInt(stream.subgroupId)
|
|
27
|
-
w.writeUint8(stream.publisherPriority)
|
|
19
|
+
const w = new BufferWriter()
|
|
20
|
+
const typeId = stream.streamTypeId
|
|
21
|
+
w.writeVarInt(BigInt(typeId))
|
|
22
|
+
w.writeVarInt(stream.trackAlias)
|
|
23
|
+
w.writeVarInt(stream.groupId)
|
|
24
|
+
const extensionsPresent = (typeId & 0x01) !== 0
|
|
25
|
+
const hasSubgroupField = (typeId & 0x04) !== 0
|
|
26
|
+
if (hasSubgroupField) w.writeVarInt(stream.subgroupId)
|
|
27
|
+
w.writeUint8(stream.publisherPriority)
|
|
28
28
|
for (const obj of stream.objects) {
|
|
29
|
-
w.writeVarInt(obj.objectId)
|
|
29
|
+
w.writeVarInt(obj.objectId)
|
|
30
30
|
if (extensionsPresent) {
|
|
31
|
-
w.writeVarInt(BigInt(obj.extensionData.length))
|
|
32
|
-
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData)
|
|
31
|
+
w.writeVarInt(BigInt(obj.extensionData.length))
|
|
32
|
+
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData)
|
|
33
33
|
}
|
|
34
|
-
w.writeVarInt(obj.payloadLength)
|
|
34
|
+
w.writeVarInt(obj.payloadLength)
|
|
35
35
|
if (obj.payloadLength === 0 && obj.status !== undefined) {
|
|
36
|
-
w.writeVarInt(obj.status)
|
|
36
|
+
w.writeVarInt(obj.status)
|
|
37
37
|
} else {
|
|
38
|
-
w.writeBytes(obj.payload)
|
|
38
|
+
w.writeBytes(obj.payload)
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
-
return w.finish()
|
|
41
|
+
return w.finish()
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
export function encodeDatagram(dg: DatagramObject): Uint8Array {
|
|
45
|
-
const w = new BufferWriter()
|
|
46
|
-
w.writeVarInt(BigInt(dg.streamTypeId))
|
|
47
|
-
w.writeVarInt(dg.trackAlias)
|
|
48
|
-
w.writeVarInt(dg.groupId)
|
|
49
|
-
w.writeVarInt(dg.objectId)
|
|
50
|
-
w.writeUint8(dg.publisherPriority)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
const w = new BufferWriter()
|
|
46
|
+
w.writeVarInt(BigInt(dg.streamTypeId))
|
|
47
|
+
w.writeVarInt(dg.trackAlias)
|
|
48
|
+
w.writeVarInt(dg.groupId)
|
|
49
|
+
w.writeVarInt(dg.objectId)
|
|
50
|
+
w.writeUint8(dg.publisherPriority)
|
|
51
|
+
const extensionsPresent = (dg.streamTypeId & 0x01) !== 0
|
|
52
|
+
if (extensionsPresent) {
|
|
53
|
+
const extData = dg.extensionData ?? new Uint8Array(0)
|
|
54
|
+
w.writeVarInt(extData.byteLength)
|
|
55
|
+
if (extData.byteLength > 0) w.writeBytes(extData)
|
|
56
|
+
}
|
|
57
|
+
const isStatus = dg.streamTypeId === 0x02 || dg.streamTypeId === 0x03
|
|
58
|
+
if (isStatus) {
|
|
59
|
+
w.writeVarInt(dg.objectStatus ?? 0n)
|
|
54
60
|
} else {
|
|
55
|
-
w.writeBytes(dg.payload)
|
|
61
|
+
w.writeBytes(dg.payload)
|
|
56
62
|
}
|
|
57
|
-
return w.finish()
|
|
63
|
+
return w.finish()
|
|
58
64
|
}
|
|
59
65
|
|
|
60
66
|
export function encodeFetchStream(stream: FetchStream): Uint8Array {
|
|
61
|
-
const w = new BufferWriter()
|
|
62
|
-
w.writeVarInt(FETCH_STREAM_TYPE)
|
|
63
|
-
w.writeVarInt(stream.requestId)
|
|
67
|
+
const w = new BufferWriter()
|
|
68
|
+
w.writeVarInt(FETCH_STREAM_TYPE)
|
|
69
|
+
w.writeVarInt(stream.requestId)
|
|
64
70
|
for (const obj of stream.objects) {
|
|
65
|
-
w.writeVarInt(obj.groupId)
|
|
66
|
-
w.writeVarInt(obj.subgroupId)
|
|
67
|
-
w.writeVarInt(obj.objectId)
|
|
68
|
-
w.writeUint8(obj.publisherPriority)
|
|
69
|
-
w.writeVarInt(BigInt(obj.extensionData.length))
|
|
70
|
-
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData)
|
|
71
|
-
w.writeVarInt(obj.payloadLength)
|
|
72
|
-
|
|
71
|
+
w.writeVarInt(obj.groupId)
|
|
72
|
+
w.writeVarInt(obj.subgroupId)
|
|
73
|
+
w.writeVarInt(obj.objectId)
|
|
74
|
+
w.writeUint8(obj.publisherPriority)
|
|
75
|
+
w.writeVarInt(BigInt(obj.extensionData.length))
|
|
76
|
+
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData)
|
|
77
|
+
w.writeVarInt(obj.payloadLength)
|
|
78
|
+
if (obj.payloadLength === 0) {
|
|
79
|
+
const status = (obj as unknown as Record<string, unknown>).objectStatus as bigint | undefined
|
|
80
|
+
w.writeVarInt(status ?? 0n)
|
|
81
|
+
} else {
|
|
82
|
+
w.writeBytes(obj.payload)
|
|
83
|
+
}
|
|
73
84
|
}
|
|
74
|
-
return w.finish()
|
|
85
|
+
return w.finish()
|
|
75
86
|
}
|
|
76
87
|
|
|
77
88
|
export function decodeSubgroupStream(bytes: Uint8Array): DecodeResult<SubgroupStream> {
|
|
78
89
|
try {
|
|
79
|
-
const r = new BufferReader(bytes)
|
|
80
|
-
const streamTypeId = Number(r.readVarInt())
|
|
90
|
+
const r = new BufferReader(bytes)
|
|
91
|
+
const streamTypeId = Number(r.readVarInt())
|
|
81
92
|
if (streamTypeId < 0x08 || streamTypeId > 0x0d) {
|
|
82
93
|
return {
|
|
83
94
|
ok: false,
|
|
84
95
|
error: new DecodeError(
|
|
85
|
-
|
|
96
|
+
'CONSTRAINT_VIOLATION',
|
|
86
97
|
`Expected subgroup type 0x08-0x0D, got 0x${streamTypeId.toString(16)}`,
|
|
87
98
|
0,
|
|
88
99
|
),
|
|
89
|
-
}
|
|
100
|
+
}
|
|
90
101
|
}
|
|
91
|
-
const extensionsPresent = (streamTypeId & 0x01) !== 0
|
|
92
|
-
const hasSubgroupField = (streamTypeId & 0x04) !== 0
|
|
93
|
-
const subgroupIsFirstObjId = (streamTypeId & 0x02) !== 0 && !hasSubgroupField
|
|
94
|
-
const trackAlias = r.readVarInt()
|
|
95
|
-
const groupId = r.readVarInt()
|
|
96
|
-
let subgroupId = 0n
|
|
97
|
-
if (hasSubgroupField) subgroupId = r.readVarInt()
|
|
98
|
-
const publisherPriority = r.readUint8()
|
|
99
|
-
const objects: ObjectPayload[] = []
|
|
100
|
-
let firstObject = true
|
|
102
|
+
const extensionsPresent = (streamTypeId & 0x01) !== 0
|
|
103
|
+
const hasSubgroupField = (streamTypeId & 0x04) !== 0
|
|
104
|
+
const subgroupIsFirstObjId = (streamTypeId & 0x02) !== 0 && !hasSubgroupField
|
|
105
|
+
const trackAlias = r.readVarInt()
|
|
106
|
+
const groupId = r.readVarInt()
|
|
107
|
+
let subgroupId = 0n
|
|
108
|
+
if (hasSubgroupField) subgroupId = r.readVarInt()
|
|
109
|
+
const publisherPriority = r.readUint8()
|
|
110
|
+
const objects: ObjectPayload[] = []
|
|
111
|
+
let firstObject = true
|
|
101
112
|
while (r.remaining > 0) {
|
|
102
|
-
const byteOffset = r.offset
|
|
103
|
-
const objectId = r.readVarInt()
|
|
113
|
+
const byteOffset = r.offset
|
|
114
|
+
const objectId = r.readVarInt()
|
|
104
115
|
if (firstObject && subgroupIsFirstObjId) {
|
|
105
|
-
subgroupId = objectId
|
|
106
|
-
firstObject = false
|
|
116
|
+
subgroupId = objectId
|
|
117
|
+
firstObject = false
|
|
107
118
|
}
|
|
108
|
-
let extensionData = new Uint8Array(0)
|
|
119
|
+
let extensionData = new Uint8Array(0)
|
|
120
|
+
let extensionHeadersLength: bigint | undefined
|
|
109
121
|
if (extensionsPresent) {
|
|
110
|
-
|
|
111
|
-
extensionData =
|
|
122
|
+
extensionHeadersLength = r.readVarInt()
|
|
123
|
+
extensionData =
|
|
124
|
+
extensionHeadersLength > 0n
|
|
125
|
+
? r.readBytesView(Number(extensionHeadersLength))
|
|
126
|
+
: new Uint8Array(0)
|
|
112
127
|
}
|
|
113
|
-
const payloadLength = Number(r.readVarInt())
|
|
114
|
-
let payload: Uint8Array
|
|
115
|
-
let status: bigint | undefined
|
|
116
|
-
let payloadByteOffset: number
|
|
128
|
+
const payloadLength = Number(r.readVarInt())
|
|
129
|
+
let payload: Uint8Array
|
|
130
|
+
let status: bigint | undefined
|
|
131
|
+
let payloadByteOffset: number
|
|
117
132
|
if (payloadLength === 0) {
|
|
118
|
-
status = r.readVarInt()
|
|
119
|
-
payloadByteOffset = r.offset
|
|
120
|
-
payload = new Uint8Array(0)
|
|
133
|
+
status = r.readVarInt()
|
|
134
|
+
payloadByteOffset = r.offset
|
|
135
|
+
payload = new Uint8Array(0)
|
|
121
136
|
} else {
|
|
122
|
-
payloadByteOffset = r.offset
|
|
123
|
-
payload = r.
|
|
137
|
+
payloadByteOffset = r.offset
|
|
138
|
+
payload = r.readBytesView(payloadLength)
|
|
139
|
+
}
|
|
140
|
+
const obj: ObjectPayload = {
|
|
141
|
+
type: 'object',
|
|
142
|
+
byteOffset,
|
|
143
|
+
payloadByteOffset,
|
|
144
|
+
objectId,
|
|
145
|
+
extensionData,
|
|
146
|
+
payloadLength,
|
|
147
|
+
payload,
|
|
124
148
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
149
|
+
if (extensionHeadersLength !== undefined)
|
|
150
|
+
(obj as unknown as Record<string, unknown>).extensionHeadersLength = extensionHeadersLength
|
|
151
|
+
if (status !== undefined) (obj as unknown as Record<string, unknown>).status = status
|
|
152
|
+
objects.push(obj)
|
|
128
153
|
}
|
|
129
154
|
return {
|
|
130
155
|
ok: true,
|
|
131
156
|
value: {
|
|
132
|
-
type:
|
|
157
|
+
type: 'subgroup',
|
|
133
158
|
streamTypeId,
|
|
134
159
|
trackAlias,
|
|
135
160
|
groupId,
|
|
@@ -138,41 +163,52 @@ export function decodeSubgroupStream(bytes: Uint8Array): DecodeResult<SubgroupSt
|
|
|
138
163
|
objects,
|
|
139
164
|
},
|
|
140
165
|
bytesRead: r.offset,
|
|
141
|
-
}
|
|
166
|
+
}
|
|
142
167
|
} catch (e) {
|
|
143
|
-
if (e instanceof DecodeError) return { ok: false, error: e }
|
|
144
|
-
throw e
|
|
168
|
+
if (e instanceof DecodeError) return { ok: false, error: e }
|
|
169
|
+
throw e
|
|
145
170
|
}
|
|
146
171
|
}
|
|
147
172
|
|
|
148
173
|
export function decodeDatagram(bytes: Uint8Array): DecodeResult<DatagramObject> {
|
|
149
174
|
try {
|
|
150
|
-
const r = new BufferReader(bytes)
|
|
151
|
-
const streamTypeId = Number(r.readVarInt())
|
|
152
|
-
if (streamTypeId
|
|
175
|
+
const r = new BufferReader(bytes)
|
|
176
|
+
const streamTypeId = Number(r.readVarInt())
|
|
177
|
+
if (streamTypeId < 0x00 || streamTypeId > 0x03) {
|
|
153
178
|
return {
|
|
154
179
|
ok: false,
|
|
155
180
|
error: new DecodeError(
|
|
156
|
-
|
|
157
|
-
`Expected datagram type 0x00
|
|
181
|
+
'CONSTRAINT_VIOLATION',
|
|
182
|
+
`Expected datagram type 0x00-0x03, got 0x${streamTypeId.toString(16)}`,
|
|
158
183
|
0,
|
|
159
184
|
),
|
|
160
|
-
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
const extensionsPresent = (streamTypeId & 0x01) !== 0
|
|
188
|
+
const isStatus = streamTypeId === 0x02 || streamTypeId === 0x03
|
|
189
|
+
const trackAlias = r.readVarInt()
|
|
190
|
+
const groupId = r.readVarInt()
|
|
191
|
+
const objectId = r.readVarInt()
|
|
192
|
+
const publisherPriority = r.readUint8()
|
|
193
|
+
let extensionHeadersLength: bigint | undefined
|
|
194
|
+
let extensionData: Uint8Array | undefined
|
|
195
|
+
if (extensionsPresent) {
|
|
196
|
+
extensionHeadersLength = r.readVarInt()
|
|
197
|
+
extensionData =
|
|
198
|
+
extensionHeadersLength > 0n
|
|
199
|
+
? r.readBytesView(Number(extensionHeadersLength))
|
|
200
|
+
: new Uint8Array(0)
|
|
161
201
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
let payload: Uint8Array;
|
|
168
|
-
if (streamTypeId === 0x02) {
|
|
169
|
-
objectStatus = r.readVarInt();
|
|
170
|
-
payload = new Uint8Array(0);
|
|
202
|
+
let objectStatus: bigint | undefined
|
|
203
|
+
let payload: Uint8Array
|
|
204
|
+
if (isStatus) {
|
|
205
|
+
objectStatus = r.readVarInt()
|
|
206
|
+
payload = new Uint8Array(0)
|
|
171
207
|
} else {
|
|
172
|
-
payload = r.
|
|
208
|
+
payload = r.readBytesView(r.remaining)
|
|
173
209
|
}
|
|
174
210
|
const result: DatagramObject = {
|
|
175
|
-
type:
|
|
211
|
+
type: 'datagram',
|
|
176
212
|
streamTypeId,
|
|
177
213
|
trackAlias,
|
|
178
214
|
groupId,
|
|
@@ -180,54 +216,61 @@ export function decodeDatagram(bytes: Uint8Array): DecodeResult<DatagramObject>
|
|
|
180
216
|
publisherPriority,
|
|
181
217
|
payloadLength: payload.byteLength,
|
|
182
218
|
payload,
|
|
183
|
-
}
|
|
219
|
+
}
|
|
220
|
+
if (extensionHeadersLength !== undefined)
|
|
221
|
+
(result as unknown as Record<string, unknown>).extensionHeadersLength = extensionHeadersLength
|
|
222
|
+
if (extensionData !== undefined)
|
|
223
|
+
(result as unknown as Record<string, unknown>).extensionData = extensionData
|
|
184
224
|
if (objectStatus !== undefined)
|
|
185
|
-
(result as unknown as Record<string, unknown>).objectStatus = objectStatus
|
|
186
|
-
return { ok: true, value: result, bytesRead: r.offset }
|
|
225
|
+
(result as unknown as Record<string, unknown>).objectStatus = objectStatus
|
|
226
|
+
return { ok: true, value: result, bytesRead: r.offset }
|
|
187
227
|
} catch (e) {
|
|
188
|
-
if (e instanceof DecodeError) return { ok: false, error: e }
|
|
189
|
-
throw e
|
|
228
|
+
if (e instanceof DecodeError) return { ok: false, error: e }
|
|
229
|
+
throw e
|
|
190
230
|
}
|
|
191
231
|
}
|
|
192
232
|
|
|
193
233
|
export function decodeFetchStream(bytes: Uint8Array): DecodeResult<FetchStream> {
|
|
194
234
|
try {
|
|
195
|
-
const r = new BufferReader(bytes)
|
|
196
|
-
const streamType = r.readVarInt()
|
|
235
|
+
const r = new BufferReader(bytes)
|
|
236
|
+
const streamType = r.readVarInt()
|
|
197
237
|
if (streamType !== FETCH_STREAM_TYPE) {
|
|
198
238
|
return {
|
|
199
239
|
ok: false,
|
|
200
240
|
error: new DecodeError(
|
|
201
|
-
|
|
241
|
+
'CONSTRAINT_VIOLATION',
|
|
202
242
|
`Expected fetch type 0x05, got 0x${streamType.toString(16)}`,
|
|
203
243
|
0,
|
|
204
244
|
),
|
|
205
|
-
}
|
|
245
|
+
}
|
|
206
246
|
}
|
|
207
|
-
const requestId = r.readVarInt()
|
|
208
|
-
const objects: FetchObjectPayload[] = []
|
|
247
|
+
const requestId = r.readVarInt()
|
|
248
|
+
const objects: FetchObjectPayload[] = []
|
|
209
249
|
while (r.remaining > 0) {
|
|
210
|
-
const byteOffset = r.offset
|
|
211
|
-
const groupId = r.readVarInt()
|
|
212
|
-
const subgroupId = r.readVarInt()
|
|
213
|
-
const objectId = r.readVarInt()
|
|
214
|
-
const publisherPriority = r.readUint8()
|
|
215
|
-
const extensionHeadersLength = r.readVarInt()
|
|
216
|
-
const extensionData =
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
250
|
+
const byteOffset = r.offset
|
|
251
|
+
const groupId = r.readVarInt()
|
|
252
|
+
const subgroupId = r.readVarInt()
|
|
253
|
+
const objectId = r.readVarInt()
|
|
254
|
+
const publisherPriority = r.readUint8()
|
|
255
|
+
const extensionHeadersLength = r.readVarInt()
|
|
256
|
+
const extensionData =
|
|
257
|
+
extensionHeadersLength > 0n
|
|
258
|
+
? r.readBytesView(Number(extensionHeadersLength))
|
|
259
|
+
: new Uint8Array(0)
|
|
260
|
+
const payloadLength = Number(r.readVarInt())
|
|
261
|
+
let payload: Uint8Array
|
|
262
|
+
let objectStatus: bigint | undefined
|
|
263
|
+
let payloadByteOffset: number
|
|
221
264
|
if (payloadLength === 0) {
|
|
222
|
-
objectStatus = r.readVarInt()
|
|
223
|
-
payloadByteOffset = r.offset
|
|
224
|
-
payload = new Uint8Array(0)
|
|
265
|
+
objectStatus = r.readVarInt()
|
|
266
|
+
payloadByteOffset = r.offset
|
|
267
|
+
payload = new Uint8Array(0)
|
|
225
268
|
} else {
|
|
226
|
-
payloadByteOffset = r.offset
|
|
227
|
-
payload = r.
|
|
269
|
+
payloadByteOffset = r.offset
|
|
270
|
+
payload = r.readBytesView(payloadLength)
|
|
228
271
|
}
|
|
229
272
|
const obj: FetchObjectPayload = {
|
|
230
|
-
type:
|
|
273
|
+
type: 'object',
|
|
231
274
|
byteOffset,
|
|
232
275
|
payloadByteOffset,
|
|
233
276
|
groupId,
|
|
@@ -238,32 +281,36 @@ export function decodeFetchStream(bytes: Uint8Array): DecodeResult<FetchStream>
|
|
|
238
281
|
extensionData,
|
|
239
282
|
payloadLength,
|
|
240
283
|
payload,
|
|
241
|
-
}
|
|
284
|
+
}
|
|
242
285
|
if (objectStatus !== undefined)
|
|
243
|
-
(obj as unknown as Record<string, unknown>).objectStatus = objectStatus
|
|
244
|
-
objects.push(obj)
|
|
286
|
+
(obj as unknown as Record<string, unknown>).objectStatus = objectStatus
|
|
287
|
+
objects.push(obj)
|
|
288
|
+
}
|
|
289
|
+
return {
|
|
290
|
+
ok: true,
|
|
291
|
+
value: { type: 'fetch', requestId, objects },
|
|
292
|
+
bytesRead: r.offset,
|
|
245
293
|
}
|
|
246
|
-
return { ok: true, value: { type: "fetch", requestId, objects }, bytesRead: r.offset };
|
|
247
294
|
} catch (e) {
|
|
248
|
-
if (e instanceof DecodeError) return { ok: false, error: e }
|
|
249
|
-
throw e
|
|
295
|
+
if (e instanceof DecodeError) return { ok: false, error: e }
|
|
296
|
+
throw e
|
|
250
297
|
}
|
|
251
298
|
}
|
|
252
299
|
|
|
253
300
|
export function decodeDataStream(
|
|
254
|
-
streamType:
|
|
301
|
+
streamType: 'subgroup' | 'datagram' | 'fetch',
|
|
255
302
|
bytes: Uint8Array,
|
|
256
303
|
): DecodeResult<Draft11DataStream> {
|
|
257
304
|
switch (streamType) {
|
|
258
|
-
case
|
|
259
|
-
return decodeSubgroupStream(bytes)
|
|
260
|
-
case
|
|
261
|
-
return decodeDatagram(bytes)
|
|
262
|
-
case
|
|
263
|
-
return decodeFetchStream(bytes)
|
|
305
|
+
case 'subgroup':
|
|
306
|
+
return decodeSubgroupStream(bytes)
|
|
307
|
+
case 'datagram':
|
|
308
|
+
return decodeDatagram(bytes)
|
|
309
|
+
case 'fetch':
|
|
310
|
+
return decodeFetchStream(bytes)
|
|
264
311
|
default: {
|
|
265
|
-
const _: never = streamType
|
|
266
|
-
throw new Error(`Unknown: ${_}`)
|
|
312
|
+
const _: never = streamType
|
|
313
|
+
throw new Error(`Unknown: ${_}`)
|
|
267
314
|
}
|
|
268
315
|
}
|
|
269
316
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const DRAFT_VERSION = 0xff00000bn
|
|
2
|
+
|
|
3
|
+
export type { Draft11Codec } from './codec.js'
|
|
2
4
|
export {
|
|
3
5
|
createDraft11Codec,
|
|
4
6
|
createStreamDecoder,
|
|
@@ -11,7 +13,7 @@ export {
|
|
|
11
13
|
encodeFetchStream,
|
|
12
14
|
encodeMessage,
|
|
13
15
|
encodeSubgroupStream,
|
|
14
|
-
} from
|
|
16
|
+
} from './codec.js'
|
|
15
17
|
export {
|
|
16
18
|
MESSAGE_ID_MAP,
|
|
17
19
|
MESSAGE_TYPE_MAP,
|
|
@@ -45,7 +47,7 @@ export {
|
|
|
45
47
|
PARAM_DELIVERY_TIMEOUT,
|
|
46
48
|
SETUP_PARAM_MAX_REQUEST_ID,
|
|
47
49
|
SETUP_PARAM_PATH,
|
|
48
|
-
} from
|
|
50
|
+
} from './messages.js'
|
|
49
51
|
export {
|
|
50
52
|
BIDIRECTIONAL_MESSAGES,
|
|
51
53
|
CLIENT_ONLY_MESSAGES,
|
|
@@ -53,7 +55,7 @@ export {
|
|
|
53
55
|
getLegalIncoming,
|
|
54
56
|
getLegalOutgoing,
|
|
55
57
|
SERVER_ONLY_MESSAGES,
|
|
56
|
-
} from
|
|
58
|
+
} from './rules.js'
|
|
57
59
|
export type {
|
|
58
60
|
AnnouncePhase,
|
|
59
61
|
AnnounceState,
|
|
@@ -63,16 +65,15 @@ export type {
|
|
|
63
65
|
ProtocolViolationCode,
|
|
64
66
|
SessionPhase,
|
|
65
67
|
SessionState,
|
|
66
|
-
SessionStateOptions,
|
|
67
68
|
SideEffect,
|
|
68
69
|
SubscriptionPhase,
|
|
69
70
|
SubscriptionState,
|
|
70
71
|
TransitionResult,
|
|
71
72
|
ValidationResult,
|
|
72
|
-
} from
|
|
73
|
+
} from './session.js'
|
|
74
|
+
export { createDraft11SessionState } from './session.js'
|
|
73
75
|
// Session state machine
|
|
74
|
-
export {
|
|
75
|
-
export { Draft11SessionFSM } from "./session-fsm.js";
|
|
76
|
+
export { Draft11SessionFSM } from './session-fsm.js'
|
|
76
77
|
export type {
|
|
77
78
|
AuthorizationToken,
|
|
78
79
|
DatagramObject,
|
|
@@ -120,4 +121,4 @@ export type {
|
|
|
120
121
|
SubgroupStream,
|
|
121
122
|
SubgroupStreamHeader,
|
|
122
123
|
UnknownParam,
|
|
123
|
-
} from
|
|
124
|
+
} from './types.js'
|
|
@@ -1,71 +1,72 @@
|
|
|
1
1
|
// Draft-11 message type wire IDs
|
|
2
2
|
|
|
3
|
-
export const MSG_SUBSCRIBE_UPDATE = 0x02n
|
|
4
|
-
export const MSG_SUBSCRIBE = 0x03n
|
|
5
|
-
export const MSG_SUBSCRIBE_OK = 0x04n
|
|
6
|
-
export const MSG_SUBSCRIBE_ERROR = 0x05n
|
|
7
|
-
export const MSG_ANNOUNCE = 0x06n
|
|
8
|
-
export const MSG_ANNOUNCE_OK = 0x07n
|
|
9
|
-
export const MSG_ANNOUNCE_ERROR = 0x08n
|
|
10
|
-
export const MSG_UNANNOUNCE = 0x09n
|
|
11
|
-
export const MSG_UNSUBSCRIBE = 0x0an
|
|
12
|
-
export const MSG_SUBSCRIBE_DONE = 0x0bn
|
|
13
|
-
export const MSG_ANNOUNCE_CANCEL = 0x0cn
|
|
14
|
-
export const MSG_TRACK_STATUS_REQUEST = 0x0dn
|
|
15
|
-
export const MSG_TRACK_STATUS = 0x0en
|
|
16
|
-
export const MSG_GOAWAY = 0x10n
|
|
17
|
-
export const MSG_SUBSCRIBE_ANNOUNCES = 0x11n
|
|
18
|
-
export const MSG_SUBSCRIBE_ANNOUNCES_OK = 0x12n
|
|
19
|
-
export const MSG_SUBSCRIBE_ANNOUNCES_ERROR = 0x13n
|
|
20
|
-
export const MSG_UNSUBSCRIBE_ANNOUNCES = 0x14n
|
|
21
|
-
export const MSG_MAX_REQUEST_ID = 0x15n
|
|
22
|
-
export const MSG_FETCH = 0x16n
|
|
23
|
-
export const MSG_FETCH_CANCEL = 0x17n
|
|
24
|
-
export const MSG_FETCH_OK = 0x18n
|
|
25
|
-
export const MSG_FETCH_ERROR = 0x19n
|
|
26
|
-
export const MSG_REQUESTS_BLOCKED = 0x1an
|
|
27
|
-
export const MSG_CLIENT_SETUP = 0x20n
|
|
28
|
-
export const MSG_SERVER_SETUP = 0x21n
|
|
3
|
+
export const MSG_SUBSCRIBE_UPDATE = 0x02n
|
|
4
|
+
export const MSG_SUBSCRIBE = 0x03n
|
|
5
|
+
export const MSG_SUBSCRIBE_OK = 0x04n
|
|
6
|
+
export const MSG_SUBSCRIBE_ERROR = 0x05n
|
|
7
|
+
export const MSG_ANNOUNCE = 0x06n
|
|
8
|
+
export const MSG_ANNOUNCE_OK = 0x07n
|
|
9
|
+
export const MSG_ANNOUNCE_ERROR = 0x08n
|
|
10
|
+
export const MSG_UNANNOUNCE = 0x09n
|
|
11
|
+
export const MSG_UNSUBSCRIBE = 0x0an
|
|
12
|
+
export const MSG_SUBSCRIBE_DONE = 0x0bn
|
|
13
|
+
export const MSG_ANNOUNCE_CANCEL = 0x0cn
|
|
14
|
+
export const MSG_TRACK_STATUS_REQUEST = 0x0dn
|
|
15
|
+
export const MSG_TRACK_STATUS = 0x0en
|
|
16
|
+
export const MSG_GOAWAY = 0x10n
|
|
17
|
+
export const MSG_SUBSCRIBE_ANNOUNCES = 0x11n
|
|
18
|
+
export const MSG_SUBSCRIBE_ANNOUNCES_OK = 0x12n
|
|
19
|
+
export const MSG_SUBSCRIBE_ANNOUNCES_ERROR = 0x13n
|
|
20
|
+
export const MSG_UNSUBSCRIBE_ANNOUNCES = 0x14n
|
|
21
|
+
export const MSG_MAX_REQUEST_ID = 0x15n
|
|
22
|
+
export const MSG_FETCH = 0x16n
|
|
23
|
+
export const MSG_FETCH_CANCEL = 0x17n
|
|
24
|
+
export const MSG_FETCH_OK = 0x18n
|
|
25
|
+
export const MSG_FETCH_ERROR = 0x19n
|
|
26
|
+
export const MSG_REQUESTS_BLOCKED = 0x1an
|
|
27
|
+
export const MSG_CLIENT_SETUP = 0x20n
|
|
28
|
+
export const MSG_SERVER_SETUP = 0x21n
|
|
29
29
|
|
|
30
30
|
// Setup parameter type IDs (even/odd encoding)
|
|
31
|
-
export const SETUP_PARAM_PATH = 0x01n
|
|
32
|
-
export const SETUP_PARAM_MAX_REQUEST_ID = 0x02n
|
|
31
|
+
export const SETUP_PARAM_PATH = 0x01n // odd: length-prefixed
|
|
32
|
+
export const SETUP_PARAM_MAX_REQUEST_ID = 0x02n // even: varint
|
|
33
33
|
|
|
34
|
-
// Version-specific parameter type IDs (
|
|
35
|
-
export const PARAM_AUTHORIZATION_TOKEN = 0x01n
|
|
36
|
-
export const PARAM_DELIVERY_TIMEOUT = 0x02n
|
|
34
|
+
// Version-specific parameter type IDs (even/odd encoding)
|
|
35
|
+
export const PARAM_AUTHORIZATION_TOKEN = 0x01n // odd: length-prefixed
|
|
36
|
+
export const PARAM_DELIVERY_TIMEOUT = 0x02n // even: varint
|
|
37
|
+
export const PARAM_MAX_CACHE_DURATION = 0x04n // even: varint
|
|
37
38
|
|
|
38
39
|
// Map from wire ID to message type name
|
|
39
40
|
export const MESSAGE_TYPE_MAP: ReadonlyMap<bigint, string> = new Map([
|
|
40
|
-
[MSG_CLIENT_SETUP,
|
|
41
|
-
[MSG_SERVER_SETUP,
|
|
42
|
-
[MSG_SUBSCRIBE,
|
|
43
|
-
[MSG_SUBSCRIBE_OK,
|
|
44
|
-
[MSG_SUBSCRIBE_ERROR,
|
|
45
|
-
[MSG_SUBSCRIBE_UPDATE,
|
|
46
|
-
[MSG_SUBSCRIBE_DONE,
|
|
47
|
-
[MSG_UNSUBSCRIBE,
|
|
48
|
-
[MSG_ANNOUNCE,
|
|
49
|
-
[MSG_ANNOUNCE_OK,
|
|
50
|
-
[MSG_ANNOUNCE_ERROR,
|
|
51
|
-
[MSG_UNANNOUNCE,
|
|
52
|
-
[MSG_ANNOUNCE_CANCEL,
|
|
53
|
-
[MSG_SUBSCRIBE_ANNOUNCES,
|
|
54
|
-
[MSG_SUBSCRIBE_ANNOUNCES_OK,
|
|
55
|
-
[MSG_SUBSCRIBE_ANNOUNCES_ERROR,
|
|
56
|
-
[MSG_UNSUBSCRIBE_ANNOUNCES,
|
|
57
|
-
[MSG_FETCH,
|
|
58
|
-
[MSG_FETCH_OK,
|
|
59
|
-
[MSG_FETCH_ERROR,
|
|
60
|
-
[MSG_FETCH_CANCEL,
|
|
61
|
-
[MSG_TRACK_STATUS_REQUEST,
|
|
62
|
-
[MSG_TRACK_STATUS,
|
|
63
|
-
[MSG_GOAWAY,
|
|
64
|
-
[MSG_MAX_REQUEST_ID,
|
|
65
|
-
[MSG_REQUESTS_BLOCKED,
|
|
66
|
-
])
|
|
41
|
+
[MSG_CLIENT_SETUP, 'client_setup'],
|
|
42
|
+
[MSG_SERVER_SETUP, 'server_setup'],
|
|
43
|
+
[MSG_SUBSCRIBE, 'subscribe'],
|
|
44
|
+
[MSG_SUBSCRIBE_OK, 'subscribe_ok'],
|
|
45
|
+
[MSG_SUBSCRIBE_ERROR, 'subscribe_error'],
|
|
46
|
+
[MSG_SUBSCRIBE_UPDATE, 'subscribe_update'],
|
|
47
|
+
[MSG_SUBSCRIBE_DONE, 'subscribe_done'],
|
|
48
|
+
[MSG_UNSUBSCRIBE, 'unsubscribe'],
|
|
49
|
+
[MSG_ANNOUNCE, 'announce'],
|
|
50
|
+
[MSG_ANNOUNCE_OK, 'announce_ok'],
|
|
51
|
+
[MSG_ANNOUNCE_ERROR, 'announce_error'],
|
|
52
|
+
[MSG_UNANNOUNCE, 'unannounce'],
|
|
53
|
+
[MSG_ANNOUNCE_CANCEL, 'announce_cancel'],
|
|
54
|
+
[MSG_SUBSCRIBE_ANNOUNCES, 'subscribe_announces'],
|
|
55
|
+
[MSG_SUBSCRIBE_ANNOUNCES_OK, 'subscribe_announces_ok'],
|
|
56
|
+
[MSG_SUBSCRIBE_ANNOUNCES_ERROR, 'subscribe_announces_error'],
|
|
57
|
+
[MSG_UNSUBSCRIBE_ANNOUNCES, 'unsubscribe_announces'],
|
|
58
|
+
[MSG_FETCH, 'fetch'],
|
|
59
|
+
[MSG_FETCH_OK, 'fetch_ok'],
|
|
60
|
+
[MSG_FETCH_ERROR, 'fetch_error'],
|
|
61
|
+
[MSG_FETCH_CANCEL, 'fetch_cancel'],
|
|
62
|
+
[MSG_TRACK_STATUS_REQUEST, 'track_status_request'],
|
|
63
|
+
[MSG_TRACK_STATUS, 'track_status'],
|
|
64
|
+
[MSG_GOAWAY, 'goaway'],
|
|
65
|
+
[MSG_MAX_REQUEST_ID, 'max_request_id'],
|
|
66
|
+
[MSG_REQUESTS_BLOCKED, 'requests_blocked'],
|
|
67
|
+
])
|
|
67
68
|
|
|
68
69
|
// Reverse map
|
|
69
70
|
export const MESSAGE_ID_MAP: ReadonlyMap<string, bigint> = new Map(
|
|
70
71
|
[...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id]),
|
|
71
|
-
)
|
|
72
|
+
)
|