@moqtap/codec 0.2.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +100 -99
- package/dist/{chunk-RZHAPEXO.js → chunk-2A57DRXV.js} +36 -10
- package/dist/{chunk-73MWUKSJ.js → chunk-2UTVXWFF.js} +190 -102
- package/dist/{chunk-JTVCOMBI.cjs → chunk-3XKO6PCR.cjs} +290 -183
- package/dist/{chunk-ACQ4CUJP.cjs → chunk-4BDEU3D4.cjs} +237 -158
- package/dist/{chunk-4N4INRE7.cjs → chunk-4HBKHNU2.cjs} +144 -110
- package/dist/{chunk-2ZT6CVSE.js → chunk-4IVZZOY3.js} +269 -162
- package/dist/{chunk-GLBQDG4L.cjs → chunk-5O764MBD.cjs} +508 -117
- package/dist/chunk-7KBAWOBA.js +1212 -0
- package/dist/{chunk-JSQM2MG3.js → chunk-7QOPNSDF.js} +44 -12
- package/dist/{chunk-SYHW3FLI.cjs → chunk-7RE6KSIY.cjs} +28 -8
- package/dist/{chunk-YG5KJESI.js → chunk-AY6IAHUM.js} +28 -8
- package/dist/{chunk-EFM5T7OM.js → chunk-BLQDWOSG.js} +36 -10
- package/dist/{chunk-UYXTY6ZQ.cjs → chunk-E65QKRSN.cjs} +20 -12
- package/dist/{chunk-BISI45MN.cjs → chunk-EAHE3IOG.cjs} +44 -12
- package/dist/{chunk-PZBPH2D7.js → chunk-GCBFHZW6.js} +216 -137
- package/dist/{chunk-GXEW4COZ.cjs → chunk-H5NSL4MO.cjs} +36 -10
- package/dist/chunk-HZHSO7EW.cjs +1212 -0
- package/dist/{chunk-KZCYQ7ED.cjs → chunk-IILNSDEQ.cjs} +69 -41
- package/dist/{chunk-4XYGE53S.cjs → chunk-J3XCPBW3.cjs} +36 -10
- package/dist/{chunk-6AEHWULA.cjs → chunk-JKOEJZ5B.cjs} +28 -8
- package/dist/{chunk-RUPCJTC3.cjs → chunk-JL3NEW3O.cjs} +23 -1
- package/dist/{chunk-G7GI7LJA.js → chunk-LORZMJJB.js} +36 -10
- package/dist/{chunk-DUBCL3WF.cjs → chunk-LV5C6MEC.cjs} +36 -10
- package/dist/{chunk-ENURAVHI.cjs → chunk-MYXAD5JC.cjs} +44 -12
- package/dist/{chunk-FXZ2MYKJ.js → chunk-MZ7HUCGJ.js} +20 -12
- package/dist/{chunk-S74DWJE2.cjs → chunk-OKG2HT25.cjs} +277 -88
- package/dist/{chunk-BGWGVINJ.cjs → chunk-PKEOQSSZ.cjs} +144 -110
- package/dist/{chunk-2GODRVT5.js → chunk-Q46ZURKX.js} +325 -48
- package/dist/{chunk-UR6JKS56.js → chunk-Q7IGWV3P.js} +41 -9
- package/dist/{chunk-XSNX2IUJ.js → chunk-RW4UG7CN.js} +121 -87
- package/dist/{chunk-DWK5ZQZ4.js → chunk-RZTLQAKF.js} +28 -8
- package/dist/{chunk-UNS34PTA.cjs → chunk-S6IPIN66.cjs} +44 -12
- package/dist/{chunk-YIG2C3LF.cjs → chunk-SDWRXXOO.cjs} +214 -126
- package/dist/{chunk-CEH7ESNC.js → chunk-SHMA4PBY.js} +121 -87
- package/dist/{chunk-MC7W6PMI.js → chunk-U3ZVLT5L.js} +483 -135
- package/dist/{chunk-VJUUZ4W2.cjs → chunk-UJU63EFY.cjs} +374 -97
- package/dist/{chunk-7L43FE6P.js → chunk-VOU7PNHI.js} +23 -1
- package/dist/{chunk-E6E3NQYU.js → chunk-WRHGCVYN.js} +44 -12
- package/dist/{chunk-FPISPJ5N.cjs → chunk-XNWYLVGU.cjs} +529 -181
- package/dist/{chunk-U3IPZYPX.js → chunk-XS77RBY7.js} +228 -39
- package/dist/{chunk-JGG7CMSZ.cjs → chunk-XZE5R57R.cjs} +144 -110
- package/dist/{chunk-77MNXX3M.js → chunk-Y6KCSM3V.js} +121 -87
- package/dist/{chunk-TLYNOOQP.cjs → chunk-YTPZZI2M.cjs} +41 -9
- package/dist/{chunk-7DUBLRXC.js → chunk-YWRCSQBA.js} +44 -12
- package/dist/{chunk-MRJWLGYH.js → chunk-Z3VKP3PJ.js} +69 -41
- package/dist/{chunk-E6P74GDT.js → chunk-Z6U26IRI.js} +464 -73
- package/dist/{codec-FvGCxIhr.d.ts → codec-25u4_1HS.d.ts} +4 -4
- package/dist/{codec-DRcsBCsb.d.ts → codec-3Ppy_5Gd.d.ts} +4 -4
- package/dist/{codec-BdVMRMOI.d.ts → codec-BB0U8MF2.d.cts} +4 -4
- package/dist/{codec-B2cH-f5V.d.cts → codec-BHHfBTnV.d.ts} +4 -4
- package/dist/{codec-B5K73Bdj.d.ts → codec-BN6jk0Td.d.cts} +4 -4
- package/dist/{codec-R8GrCPt2.d.ts → codec-BU0gaSZm.d.ts} +4 -4
- package/dist/{codec-Bq-tLtfP.d.ts → codec-C-Yk2RNa.d.ts} +4 -4
- package/dist/codec-CFWQY9Lj.d.cts +18 -0
- package/dist/{codec-CPlK3Pi5.d.ts → codec-COy4uuPO.d.cts} +4 -4
- package/dist/codec-CewFCsEy.d.ts +18 -0
- package/dist/{codec-KXHvXZVb.d.cts → codec-Ck7ZwFF1.d.cts} +4 -4
- package/dist/{codec-DZhZSIii.d.cts → codec-D2QVSH9D.d.ts} +4 -4
- package/dist/{codec-BwFgpeQu.d.ts → codec-DDUBJGn0.d.cts} +4 -4
- package/dist/{codec-BFeliJFc.d.ts → codec-DNfml-se.d.ts} +4 -4
- package/dist/{codec-C4n1PS09.d.cts → codec-DoOGjjDq.d.cts} +4 -4
- package/dist/{codec-Bap882Fh.d.cts → codec-J7ekOSMc.d.ts} +4 -4
- package/dist/{codec-SKBeHQk7.d.ts → codec-R9TJCq-E.d.cts} +4 -4
- package/dist/{codec-DNUIgLqc.d.cts → codec-ZwV-Njt6.d.ts} +4 -4
- package/dist/{codec-HgBgHkFI.d.cts → codec-j819z_hL.d.cts} +4 -4
- package/dist/{codec-DY4QH364.d.cts → codec-w8z2j_uo.d.cts} +4 -4
- package/dist/{codec-CPvPq0sb.d.cts → codec-wtt6WF1K.d.ts} +4 -4
- package/dist/{codec-BUMjz0J4.d.cts → codec-z6_2PSzi.d.cts} +4 -4
- package/dist/{draft7-session.cjs → draft07-session.cjs} +2 -2
- package/dist/draft07-session.d.cts +8 -0
- package/dist/draft07-session.d.ts +8 -0
- package/dist/{draft7-session.js → draft07-session.js} +1 -1
- package/dist/draft07.cjs +129 -0
- package/dist/draft07.d.cts +67 -0
- package/dist/draft07.d.ts +67 -0
- package/dist/draft07.js +129 -0
- package/dist/draft08-session.cjs +6 -0
- package/dist/draft08-session.d.cts +8 -0
- package/dist/draft08-session.d.ts +8 -0
- package/dist/{draft8-session.js → draft08-session.js} +1 -1
- package/dist/draft08.cjs +119 -0
- package/dist/{draft8.d.cts → draft08.d.cts} +15 -13
- package/dist/{draft8.d.ts → draft08.d.ts} +15 -13
- package/dist/{draft8.js → draft08.js} +7 -4
- package/dist/draft09-session.cjs +6 -0
- package/dist/draft09-session.d.cts +8 -0
- package/dist/draft09-session.d.ts +8 -0
- package/dist/{draft9-session.js → draft09-session.js} +1 -1
- package/dist/draft09.cjs +119 -0
- package/dist/{draft9.d.cts → draft09.d.cts} +15 -13
- package/dist/{draft9.d.ts → draft09.d.ts} +15 -13
- package/dist/{draft9.js → draft09.js} +7 -4
- package/dist/draft10-session.cjs +2 -2
- package/dist/draft10-session.d.cts +6 -6
- package/dist/draft10-session.d.ts +6 -6
- package/dist/draft10-session.js +1 -1
- package/dist/draft10.cjs +8 -5
- package/dist/draft10.d.cts +14 -12
- package/dist/draft10.d.ts +14 -12
- package/dist/draft10.js +16 -13
- package/dist/draft11-session.cjs +2 -2
- package/dist/draft11-session.d.cts +6 -6
- package/dist/draft11-session.d.ts +6 -6
- package/dist/draft11-session.js +1 -1
- package/dist/draft11.cjs +8 -5
- package/dist/draft11.d.cts +14 -12
- package/dist/draft11.d.ts +14 -12
- package/dist/draft11.js +16 -13
- package/dist/draft12-session.cjs +2 -2
- package/dist/draft12-session.d.cts +6 -6
- package/dist/draft12-session.d.ts +6 -6
- package/dist/draft12-session.js +1 -1
- package/dist/draft12.cjs +8 -5
- package/dist/draft12.d.cts +16 -14
- package/dist/draft12.d.ts +16 -14
- package/dist/draft12.js +16 -13
- package/dist/draft13-session.cjs +2 -2
- package/dist/draft13-session.d.cts +6 -6
- package/dist/draft13-session.d.ts +6 -6
- package/dist/draft13-session.js +1 -1
- package/dist/draft13.cjs +8 -5
- package/dist/draft13.d.cts +16 -14
- package/dist/draft13.d.ts +16 -14
- package/dist/draft13.js +16 -13
- package/dist/draft14-session.cjs +2 -2
- package/dist/draft14-session.d.cts +6 -6
- package/dist/draft14-session.d.ts +6 -6
- package/dist/draft14-session.js +1 -1
- package/dist/draft14.cjs +14 -5
- package/dist/draft14.d.cts +14 -12
- package/dist/draft14.d.ts +14 -12
- package/dist/draft14.js +13 -4
- package/dist/draft15-session.cjs +2 -2
- package/dist/draft15-session.d.cts +6 -6
- package/dist/draft15-session.d.ts +6 -6
- package/dist/draft15-session.js +1 -1
- package/dist/draft15.cjs +8 -5
- package/dist/draft15.d.cts +14 -12
- package/dist/draft15.d.ts +14 -12
- package/dist/draft15.js +16 -13
- package/dist/draft16-session.cjs +2 -2
- package/dist/draft16-session.d.cts +6 -6
- package/dist/draft16-session.d.ts +6 -6
- package/dist/draft16-session.js +1 -1
- package/dist/draft16.cjs +8 -5
- package/dist/draft16.d.cts +14 -12
- package/dist/draft16.d.ts +14 -12
- package/dist/draft16.js +16 -13
- package/dist/draft17-session.cjs +2 -2
- package/dist/draft17-session.d.cts +7 -7
- package/dist/draft17-session.d.ts +7 -7
- package/dist/draft17-session.js +1 -1
- package/dist/draft17.cjs +8 -5
- package/dist/draft17.d.cts +11 -9
- package/dist/draft17.d.ts +11 -9
- package/dist/draft17.js +16 -13
- package/dist/index.cjs +52 -74
- package/dist/index.d.cts +41 -60
- package/dist/index.d.ts +41 -60
- package/dist/index.js +40 -62
- package/dist/{session-types-CJIFbTPd.d.ts → session-types-C7UONex5.d.cts} +28 -27
- package/dist/{session-types-Cbq8IGCP.d.cts → session-types-X-IYEGoG.d.ts} +28 -27
- package/dist/session.cjs +46 -13
- package/dist/session.d.cts +29 -11
- package/dist/session.d.ts +29 -11
- package/dist/session.js +46 -13
- package/dist/{types-DxSFvL2b.d.cts → types--Q7_DcvP.d.cts} +43 -39
- package/dist/{types-DxSFvL2b.d.ts → types--Q7_DcvP.d.ts} +43 -39
- package/dist/{types-B0FT5Qs2.d.cts → types-0IWbU9Z_.d.cts} +36 -36
- package/dist/{types-B0FT5Qs2.d.ts → types-0IWbU9Z_.d.ts} +36 -36
- package/dist/{types-gQsr0AAA.d.cts → types-B3g5G9KP.d.cts} +36 -36
- package/dist/{types-gQsr0AAA.d.ts → types-B3g5G9KP.d.ts} +36 -36
- package/dist/{types-Pme7sua0.d.cts → types-BFpFNM_m.d.cts} +57 -32
- package/dist/{types-Pme7sua0.d.ts → types-BFpFNM_m.d.ts} +57 -32
- package/dist/{types-8gUGeMgs.d.cts → types-Br7fm2mf.d.cts} +48 -26
- package/dist/{types-8gUGeMgs.d.ts → types-Br7fm2mf.d.ts} +48 -26
- package/dist/{types-BeAVNU-F.d.cts → types-C2qKTRR_.d.cts} +50 -45
- package/dist/{types-BeAVNU-F.d.ts → types-C2qKTRR_.d.ts} +50 -45
- package/dist/{types-DKpsfD3i.d.cts → types-DEaypVsD.d.cts} +115 -55
- package/dist/{types-DKpsfD3i.d.ts → types-DEaypVsD.d.ts} +115 -55
- package/dist/types-Dl4IaAHR.d.cts +282 -0
- package/dist/types-Dl4IaAHR.d.ts +282 -0
- package/dist/{types-CDa7F5ct.d.cts → types-DrQpTW1G.d.cts} +58 -50
- package/dist/{types-CDa7F5ct.d.ts → types-DrQpTW1G.d.ts} +58 -50
- package/dist/types-DuIO7cWK.d.cts +25 -0
- package/dist/types-DuIO7cWK.d.ts +25 -0
- package/dist/{types-B9A2g05r.d.cts → types-DuxfOYiO.d.cts} +47 -31
- package/dist/{types-B9A2g05r.d.ts → types-DuxfOYiO.d.ts} +47 -31
- package/dist/{types-D1dI_oTX.d.cts → types-jV1yDDBA.d.cts} +36 -36
- package/dist/{types-D1dI_oTX.d.ts → types-jV1yDDBA.d.ts} +36 -36
- package/package.json +192 -192
- package/src/core/buffer-reader.ts +130 -130
- package/src/core/buffer-writer.ts +100 -100
- package/src/core/errors.ts +1 -1
- package/src/core/hex.ts +21 -21
- package/src/core/session-types.ts +61 -59
- package/src/core/types.ts +18 -361
- package/src/drafts/draft07/codec.ts +1058 -938
- package/src/drafts/draft07/data-streams.ts +240 -240
- package/src/drafts/draft07/index.ts +124 -89
- package/src/drafts/draft07/messages.ts +76 -42
- package/src/drafts/draft07/rules.ts +107 -101
- package/src/drafts/draft07/session-fsm.ts +315 -287
- package/src/drafts/draft07/session.ts +8 -6
- package/src/drafts/draft07/types.ts +406 -72
- package/src/drafts/draft07/varint.ts +51 -51
- package/src/drafts/draft08/codec.ts +985 -953
- package/src/drafts/draft08/data-streams.ts +363 -359
- package/src/drafts/draft08/index.ts +10 -9
- package/src/drafts/draft08/messages.ts +59 -59
- package/src/drafts/draft08/rules.ts +73 -73
- package/src/drafts/draft08/session-fsm.ts +335 -303
- package/src/drafts/draft08/session.ts +6 -7
- package/src/drafts/draft08/types.ts +380 -384
- package/src/drafts/draft09/codec.ts +977 -945
- package/src/drafts/draft09/data-streams.ts +336 -332
- package/src/drafts/draft09/index.ts +10 -9
- package/src/drafts/draft09/messages.ts +59 -59
- package/src/drafts/draft09/rules.ts +73 -73
- package/src/drafts/draft09/session-fsm.ts +335 -303
- package/src/drafts/draft09/session.ts +6 -7
- package/src/drafts/draft09/types.ts +380 -384
- package/src/drafts/draft10/codec.ts +977 -945
- package/src/drafts/draft10/data-streams.ts +336 -332
- package/src/drafts/draft10/index.ts +10 -9
- package/src/drafts/draft10/messages.ts +59 -59
- package/src/drafts/draft10/rules.ts +73 -73
- package/src/drafts/draft10/session-fsm.ts +335 -303
- package/src/drafts/draft10/session.ts +6 -7
- package/src/drafts/draft10/types.ts +380 -384
- package/src/drafts/draft11/codec.ts +1054 -988
- package/src/drafts/draft11/data-streams.ts +316 -269
- package/src/drafts/draft11/index.ts +10 -9
- package/src/drafts/draft11/messages.ts +60 -59
- package/src/drafts/draft11/rules.ts +73 -73
- package/src/drafts/draft11/session-fsm.ts +359 -333
- package/src/drafts/draft11/session.ts +6 -7
- package/src/drafts/draft11/types.ts +385 -381
- package/src/drafts/draft12/codec.ts +1178 -1122
- package/src/drafts/draft12/data-streams.ts +324 -275
- package/src/drafts/draft12/index.ts +10 -9
- package/src/drafts/draft12/messages.ts +67 -66
- package/src/drafts/draft12/rules.ts +79 -79
- package/src/drafts/draft12/session-fsm.ts +384 -358
- package/src/drafts/draft12/session.ts +6 -7
- package/src/drafts/draft12/types.ts +424 -419
- package/src/drafts/draft13/codec.ts +1296 -1206
- package/src/drafts/draft13/data-streams.ts +326 -275
- package/src/drafts/draft13/index.ts +10 -9
- package/src/drafts/draft13/messages.ts +73 -68
- package/src/drafts/draft13/rules.ts +81 -81
- package/src/drafts/draft13/session-fsm.ts +392 -366
- package/src/drafts/draft13/session.ts +6 -7
- package/src/drafts/draft13/types.ts +447 -438
- package/src/drafts/draft14/codec.ts +1347 -1043
- package/src/drafts/draft14/data-streams.ts +831 -813
- package/src/drafts/draft14/index.ts +17 -9
- package/src/drafts/draft14/messages.ts +65 -65
- package/src/drafts/draft14/rules.ts +81 -81
- package/src/drafts/draft14/session-fsm.ts +415 -405
- package/src/drafts/draft14/session.ts +6 -7
- package/src/drafts/draft14/types.ts +451 -381
- package/src/drafts/draft15/codec.ts +1138 -978
- package/src/drafts/draft15/data-streams.ts +842 -794
- package/src/drafts/draft15/index.ts +10 -9
- package/src/drafts/draft15/messages.ts +54 -53
- package/src/drafts/draft15/rules.ts +67 -67
- package/src/drafts/draft15/session-fsm.ts +319 -299
- package/src/drafts/draft15/session.ts +6 -7
- package/src/drafts/draft15/types.ts +357 -339
- package/src/drafts/draft16/codec.ts +1242 -966
- package/src/drafts/draft16/data-streams.ts +835 -789
- package/src/drafts/draft16/index.ts +10 -9
- package/src/drafts/draft16/messages.ts +56 -55
- package/src/drafts/draft16/rules.ts +69 -69
- package/src/drafts/draft16/session-fsm.ts +319 -299
- package/src/drafts/draft16/session.ts +6 -7
- package/src/drafts/draft16/types.ts +386 -357
- package/src/drafts/draft17/codec.ts +1209 -971
- package/src/drafts/draft17/data-streams.ts +969 -758
- package/src/drafts/draft17/index.ts +9 -7
- package/src/drafts/draft17/messages.ts +43 -42
- package/src/drafts/draft17/rules.ts +58 -58
- package/src/drafts/draft17/session-fsm.ts +248 -216
- package/src/drafts/draft17/session.ts +5 -5
- package/src/drafts/draft17/types.ts +337 -313
- package/src/index.ts +85 -274
- package/src/session.ts +63 -25
- package/dist/chunk-FZDIEHQL.cjs +0 -1042
- package/dist/chunk-HDWJ2GDE.js +0 -24
- package/dist/chunk-KNDYS3DK.cjs +0 -24
- package/dist/chunk-N2KBF5Q2.js +0 -1042
- package/dist/draft7-session.d.cts +0 -7
- package/dist/draft7-session.d.ts +0 -7
- package/dist/draft7.cjs +0 -72
- package/dist/draft7.d.cts +0 -148
- package/dist/draft7.d.ts +0 -148
- package/dist/draft7.js +0 -72
- package/dist/draft8-session.cjs +0 -6
- package/dist/draft8-session.d.cts +0 -8
- package/dist/draft8-session.d.ts +0 -8
- package/dist/draft8.cjs +0 -116
- package/dist/draft9-session.cjs +0 -6
- package/dist/draft9-session.d.cts +0 -8
- package/dist/draft9-session.d.ts +0 -8
- package/dist/draft9.cjs +0 -116
- package/dist/types-QNXoxC9Y.d.cts +0 -236
- package/dist/types-QNXoxC9Y.d.ts +0 -236
- package/src/drafts/draft07/announce-fsm.ts +0 -2
- package/src/drafts/draft07/parameters.ts +0 -12
- package/src/drafts/draft07/subscription-fsm.ts +0 -3
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
bytesToHex,
|
|
3
|
-
hexToBytes
|
|
4
|
-
} from "./chunk-HDWJ2GDE.js";
|
|
5
1
|
import {
|
|
6
2
|
BufferReader,
|
|
7
3
|
BufferWriter,
|
|
8
|
-
DecodeError
|
|
9
|
-
|
|
4
|
+
DecodeError,
|
|
5
|
+
bytesToHex,
|
|
6
|
+
hexToBytes
|
|
7
|
+
} from "./chunk-VOU7PNHI.js";
|
|
10
8
|
|
|
11
9
|
// src/drafts/draft15/messages.ts
|
|
12
10
|
var MSG_SUBSCRIBE_UPDATE = 0x02n;
|
|
@@ -34,6 +32,7 @@ var MSG_CLIENT_SETUP = 0x20n;
|
|
|
34
32
|
var MSG_SERVER_SETUP = 0x21n;
|
|
35
33
|
var SETUP_PARAM_PATH = 0x01n;
|
|
36
34
|
var SETUP_PARAM_MAX_REQUEST_ID = 0x02n;
|
|
35
|
+
var SETUP_PARAM_AUTHORIZATION_TOKEN = 0x03n;
|
|
37
36
|
var SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = 0x04n;
|
|
38
37
|
var SETUP_PARAM_AUTHORITY = 0x05n;
|
|
39
38
|
var SETUP_PARAM_MOQT_IMPLEMENTATION = 0x07n;
|
|
@@ -107,12 +106,18 @@ function encodeDatagram(dg) {
|
|
|
107
106
|
w.writeVarInt(BigInt(dgType));
|
|
108
107
|
w.writeVarInt(dg.trackAlias);
|
|
109
108
|
w.writeVarInt(dg.groupId);
|
|
109
|
+
const extensionsPresent = (dgType & 1) !== 0;
|
|
110
110
|
const objectIdAbsent = (dgType & 4) !== 0;
|
|
111
111
|
const isStatus = (dgType & 32) !== 0;
|
|
112
112
|
if (!objectIdAbsent) {
|
|
113
113
|
w.writeVarInt(dg.objectId);
|
|
114
114
|
}
|
|
115
115
|
w.writeUint8(dg.publisherPriority);
|
|
116
|
+
if (extensionsPresent) {
|
|
117
|
+
const extData = dg.extensionData ?? new Uint8Array(0);
|
|
118
|
+
w.writeVarInt(BigInt(extData.length));
|
|
119
|
+
if (extData.length > 0) w.writeBytes(extData);
|
|
120
|
+
}
|
|
116
121
|
if (isStatus) {
|
|
117
122
|
w.writeVarInt(dg.objectStatus ?? 0n);
|
|
118
123
|
} else {
|
|
@@ -149,19 +154,19 @@ function decodeSubgroupStream(bytes) {
|
|
|
149
154
|
try {
|
|
150
155
|
const r = new BufferReader(bytes);
|
|
151
156
|
const streamType = Number(r.readVarInt());
|
|
152
|
-
if (!(streamType >= 16 && streamType <=
|
|
157
|
+
if (!(streamType >= 16 && streamType <= 23 || streamType >= 48 && streamType <= 55)) {
|
|
153
158
|
return {
|
|
154
159
|
ok: false,
|
|
155
160
|
error: new DecodeError(
|
|
156
161
|
"CONSTRAINT_VIOLATION",
|
|
157
|
-
`Expected subgroup stream type 0x10-
|
|
162
|
+
`Expected subgroup stream type 0x10-0x17/0x30-0x37, got 0x${streamType.toString(16)}`,
|
|
158
163
|
0
|
|
159
164
|
)
|
|
160
165
|
};
|
|
161
166
|
}
|
|
162
167
|
const extensionsPresent = (streamType & 1) !== 0;
|
|
168
|
+
const endOfGroup = (streamType & 2) !== 0;
|
|
163
169
|
const hasSubgroupField = (streamType & 4) !== 0;
|
|
164
|
-
const subgroupIsFirstObjId = (streamType & 2) !== 0 && !hasSubgroupField;
|
|
165
170
|
const hasPriority = streamType < 48;
|
|
166
171
|
const trackAlias = r.readVarInt();
|
|
167
172
|
const groupId = r.readVarInt();
|
|
@@ -182,9 +187,6 @@ function decodeSubgroupStream(bytes) {
|
|
|
182
187
|
let objectId;
|
|
183
188
|
if (firstObject) {
|
|
184
189
|
objectId = delta;
|
|
185
|
-
if (subgroupIsFirstObjId && firstObject) {
|
|
186
|
-
subgroupId = objectId;
|
|
187
|
-
}
|
|
188
190
|
firstObject = false;
|
|
189
191
|
} else {
|
|
190
192
|
objectId = prevObjectId + 1n + delta;
|
|
@@ -206,22 +208,32 @@ function decodeSubgroupStream(bytes) {
|
|
|
206
208
|
payloadByteOffset = r.offset;
|
|
207
209
|
payload = r.readBytesView(payloadLength);
|
|
208
210
|
}
|
|
209
|
-
const obj = {
|
|
211
|
+
const obj = {
|
|
212
|
+
type: "object",
|
|
213
|
+
byteOffset,
|
|
214
|
+
payloadByteOffset,
|
|
215
|
+
objectId,
|
|
216
|
+
payloadLength,
|
|
217
|
+
extensionData,
|
|
218
|
+
payload
|
|
219
|
+
};
|
|
210
220
|
if (status !== void 0) obj.status = status;
|
|
211
221
|
objects.push(obj);
|
|
212
222
|
prevObjectId = objectId;
|
|
213
223
|
}
|
|
224
|
+
const result = {
|
|
225
|
+
type: "subgroup",
|
|
226
|
+
headerType: streamType,
|
|
227
|
+
trackAlias,
|
|
228
|
+
groupId,
|
|
229
|
+
subgroupId,
|
|
230
|
+
publisherPriority,
|
|
231
|
+
objects
|
|
232
|
+
};
|
|
233
|
+
if (endOfGroup) result.endOfGroup = true;
|
|
214
234
|
return {
|
|
215
235
|
ok: true,
|
|
216
|
-
value:
|
|
217
|
-
type: "subgroup",
|
|
218
|
-
headerType: streamType,
|
|
219
|
-
trackAlias,
|
|
220
|
-
groupId,
|
|
221
|
-
subgroupId,
|
|
222
|
-
publisherPriority,
|
|
223
|
-
objects
|
|
224
|
-
},
|
|
236
|
+
value: result,
|
|
225
237
|
bytesRead: r.offset
|
|
226
238
|
};
|
|
227
239
|
} catch (e) {
|
|
@@ -233,6 +245,7 @@ function decodeDatagram(bytes) {
|
|
|
233
245
|
try {
|
|
234
246
|
const r = new BufferReader(bytes);
|
|
235
247
|
const dgType = Number(r.readVarInt());
|
|
248
|
+
const extensionsPresent = (dgType & 1) !== 0;
|
|
236
249
|
const objectIdAbsent = (dgType & 4) !== 0;
|
|
237
250
|
const endOfGroup = (dgType & 2) !== 0;
|
|
238
251
|
const isStatus = (dgType & 32) !== 0;
|
|
@@ -243,6 +256,11 @@ function decodeDatagram(bytes) {
|
|
|
243
256
|
objectId = r.readVarInt();
|
|
244
257
|
}
|
|
245
258
|
const publisherPriority = r.readUint8();
|
|
259
|
+
let extensionData;
|
|
260
|
+
if (extensionsPresent) {
|
|
261
|
+
const extLen = Number(r.readVarInt());
|
|
262
|
+
extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
|
|
263
|
+
}
|
|
246
264
|
let objectStatus;
|
|
247
265
|
let payload;
|
|
248
266
|
if (isStatus) {
|
|
@@ -265,6 +283,8 @@ function decodeDatagram(bytes) {
|
|
|
265
283
|
if (endOfGroup) result.endOfGroup = true;
|
|
266
284
|
if (objectStatus !== void 0)
|
|
267
285
|
result.objectStatus = objectStatus;
|
|
286
|
+
if (extensionData !== void 0)
|
|
287
|
+
result.extensionData = extensionData;
|
|
268
288
|
return { ok: true, value: result, bytesRead: r.offset };
|
|
269
289
|
} catch (e) {
|
|
270
290
|
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
@@ -452,7 +472,7 @@ function createSubgroupStreamDecoder() {
|
|
|
452
472
|
try {
|
|
453
473
|
const r = new BufferReader(buffer.subarray(offset));
|
|
454
474
|
const streamType = Number(r.readVarInt());
|
|
455
|
-
if (!(streamType >= 16 && streamType <=
|
|
475
|
+
if (!(streamType >= 16 && streamType <= 23 || streamType >= 48 && streamType <= 55)) {
|
|
456
476
|
controller.error(
|
|
457
477
|
new DecodeError(
|
|
458
478
|
"CONSTRAINT_VIOLATION",
|
|
@@ -464,7 +484,7 @@ function createSubgroupStreamDecoder() {
|
|
|
464
484
|
}
|
|
465
485
|
_extensionsPresent = (streamType & 1) !== 0;
|
|
466
486
|
const hasSubgroupField = (streamType & 4) !== 0;
|
|
467
|
-
_subgroupIsFirstObjId =
|
|
487
|
+
_subgroupIsFirstObjId = false;
|
|
468
488
|
const hasPriority = streamType < 48;
|
|
469
489
|
const trackAlias = r.readVarInt();
|
|
470
490
|
const groupId = r.readVarInt();
|
|
@@ -513,7 +533,15 @@ function createSubgroupStreamDecoder() {
|
|
|
513
533
|
const payloadLength = Number(r.readVarInt());
|
|
514
534
|
const payloadByteOffset = r.offset;
|
|
515
535
|
const payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
|
|
516
|
-
controller.enqueue({
|
|
536
|
+
controller.enqueue({
|
|
537
|
+
type: "object",
|
|
538
|
+
byteOffset,
|
|
539
|
+
payloadByteOffset,
|
|
540
|
+
objectId,
|
|
541
|
+
payloadLength,
|
|
542
|
+
extensionData,
|
|
543
|
+
payload
|
|
544
|
+
});
|
|
517
545
|
offset += r.offset;
|
|
518
546
|
prevObjectId = objectId;
|
|
519
547
|
} catch (e) {
|
|
@@ -594,7 +622,15 @@ function createFetchStreamDecoder() {
|
|
|
594
622
|
const payloadLength = Number(r.readVarInt());
|
|
595
623
|
const payloadByteOffset = r.offset;
|
|
596
624
|
const payload = payloadLength > 0 ? r.readBytesView(payloadLength) : new Uint8Array(0);
|
|
597
|
-
controller.enqueue({
|
|
625
|
+
controller.enqueue({
|
|
626
|
+
type: "object",
|
|
627
|
+
objectId,
|
|
628
|
+
payloadLength,
|
|
629
|
+
extensionData,
|
|
630
|
+
payload,
|
|
631
|
+
byteOffset: 0,
|
|
632
|
+
payloadByteOffset
|
|
633
|
+
});
|
|
598
634
|
offset += r.offset;
|
|
599
635
|
} catch (e) {
|
|
600
636
|
if (e instanceof DecodeError && e.code === "UNEXPECTED_END") {
|
|
@@ -631,7 +667,7 @@ function createDataStreamDecoder() {
|
|
|
631
667
|
if (inner === null) {
|
|
632
668
|
if (offset >= buffer.length) return;
|
|
633
669
|
const firstByte = buffer[offset];
|
|
634
|
-
if (firstByte >= 16 && firstByte <=
|
|
670
|
+
if (firstByte >= 16 && firstByte <= 23 || firstByte >= 48 && firstByte <= 55) {
|
|
635
671
|
const decoder = createSubgroupStreamDecoder();
|
|
636
672
|
inner = decoder;
|
|
637
673
|
} else if (firstByte === 5) {
|
|
@@ -654,7 +690,7 @@ function createDataStreamDecoder() {
|
|
|
654
690
|
const view = buffer.subarray(offset);
|
|
655
691
|
const firstByte = view[0];
|
|
656
692
|
let result;
|
|
657
|
-
if (firstByte >= 16 && firstByte <=
|
|
693
|
+
if (firstByte >= 16 && firstByte <= 23 || firstByte >= 48 && firstByte <= 55) {
|
|
658
694
|
result = decodeSubgroupStream(view);
|
|
659
695
|
} else if (firstByte === 5) {
|
|
660
696
|
result = decodeFetchStream(view);
|
|
@@ -704,6 +740,7 @@ function encodeSetupParams(params, writer) {
|
|
|
704
740
|
let count = 0;
|
|
705
741
|
if (params.path !== void 0) count++;
|
|
706
742
|
if (params.max_request_id !== void 0) count++;
|
|
743
|
+
if (params.authorization_token !== void 0) count++;
|
|
707
744
|
if (params.max_auth_token_cache_size !== void 0) count++;
|
|
708
745
|
if (params.authority !== void 0) count++;
|
|
709
746
|
if (params.moqt_implementation !== void 0) count++;
|
|
@@ -719,6 +756,14 @@ function encodeSetupParams(params, writer) {
|
|
|
719
756
|
writer.writeVarInt(SETUP_PARAM_MAX_REQUEST_ID);
|
|
720
757
|
writer.writeVarInt(params.max_request_id);
|
|
721
758
|
}
|
|
759
|
+
if (params.authorization_token !== void 0) {
|
|
760
|
+
writer.writeVarInt(SETUP_PARAM_AUTHORIZATION_TOKEN);
|
|
761
|
+
const tmpW = new BufferWriter(64);
|
|
762
|
+
encodeAuthorizationToken(params.authorization_token, tmpW);
|
|
763
|
+
const raw = tmpW.finish();
|
|
764
|
+
writer.writeVarInt(raw.byteLength);
|
|
765
|
+
writer.writeBytes(raw);
|
|
766
|
+
}
|
|
722
767
|
if (params.max_auth_token_cache_size !== void 0) {
|
|
723
768
|
writer.writeVarInt(SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE);
|
|
724
769
|
writer.writeVarInt(params.max_auth_token_cache_size);
|
|
@@ -779,6 +824,8 @@ function decodeSetupParams(reader) {
|
|
|
779
824
|
const bytes = reader.readBytes(length);
|
|
780
825
|
if (paramType === SETUP_PARAM_PATH) {
|
|
781
826
|
result.path = textDecoder.decode(bytes);
|
|
827
|
+
} else if (paramType === SETUP_PARAM_AUTHORIZATION_TOKEN) {
|
|
828
|
+
result.authorization_token = decodeAuthorizationToken(new BufferReader(bytes));
|
|
782
829
|
} else if (paramType === SETUP_PARAM_AUTHORITY) {
|
|
783
830
|
result.authority = textDecoder.decode(bytes);
|
|
784
831
|
} else if (paramType === SETUP_PARAM_MOQT_IMPLEMENTATION) {
|
|
@@ -797,19 +844,75 @@ function decodeSetupParams(reader) {
|
|
|
797
844
|
}
|
|
798
845
|
return result;
|
|
799
846
|
}
|
|
847
|
+
function encodeAuthorizationToken(token, w) {
|
|
848
|
+
w.writeVarInt(token.alias_type);
|
|
849
|
+
const aliasType = Number(token.alias_type);
|
|
850
|
+
if (aliasType === 0 || aliasType === 1) {
|
|
851
|
+
w.writeVarInt(token.token_alias);
|
|
852
|
+
}
|
|
853
|
+
if (aliasType === 1 || aliasType === 3) {
|
|
854
|
+
w.writeVarInt(token.token_type);
|
|
855
|
+
const tokenBytes = hexToBytes(token.token_value_hex);
|
|
856
|
+
w.writeBytes(tokenBytes);
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
function decodeAuthorizationToken(r) {
|
|
860
|
+
const alias_type = r.readVarInt();
|
|
861
|
+
const aliasType = Number(alias_type);
|
|
862
|
+
const result = { alias_type };
|
|
863
|
+
if (aliasType === 0 || aliasType === 1) {
|
|
864
|
+
result.token_alias = r.readVarInt();
|
|
865
|
+
}
|
|
866
|
+
if (aliasType === 1 || aliasType === 3) {
|
|
867
|
+
result.token_type = r.readVarInt();
|
|
868
|
+
const tokenBytes = r.readBytesView(r.remaining);
|
|
869
|
+
result.token_value_hex = bytesToHex(tokenBytes);
|
|
870
|
+
}
|
|
871
|
+
return result;
|
|
872
|
+
}
|
|
873
|
+
var PARAM_DELIVERY_TIMEOUT = 0x02n;
|
|
874
|
+
var PARAM_AUTHORIZATION_TOKEN = 0x03n;
|
|
875
|
+
var PARAM_MAX_CACHE_DURATION = 0x04n;
|
|
800
876
|
var PARAM_EXPIRES = 0x08n;
|
|
801
877
|
var PARAM_LARGEST_OBJECT = 0x09n;
|
|
878
|
+
var PARAM_PUBLISHER_PRIORITY = 0x0en;
|
|
879
|
+
var PARAM_FORWARD = 0x10n;
|
|
802
880
|
var PARAM_SUBSCRIBER_PRIORITY = 0x20n;
|
|
803
881
|
var PARAM_SUBSCRIPTION_FILTER = 0x21n;
|
|
804
882
|
var PARAM_GROUP_ORDER = 0x22n;
|
|
883
|
+
var PARAM_DYNAMIC_GROUPS = 0x30n;
|
|
884
|
+
var PARAM_NEW_GROUP_REQUEST = 0x32n;
|
|
805
885
|
function encodeParams(params, writer) {
|
|
806
886
|
let count = params.unknown ? params.unknown.length : 0;
|
|
887
|
+
if (params.delivery_timeout !== void 0) count++;
|
|
888
|
+
if (params.authorization_token !== void 0) count++;
|
|
889
|
+
if (params.max_cache_duration !== void 0) count++;
|
|
807
890
|
if (params.expires !== void 0) count++;
|
|
808
891
|
if (params.largest_object !== void 0) count++;
|
|
892
|
+
if (params.publisher_priority !== void 0) count++;
|
|
893
|
+
if (params.forward !== void 0) count++;
|
|
809
894
|
if (params.subscriber_priority !== void 0) count++;
|
|
810
895
|
if (params.subscription_filter !== void 0) count++;
|
|
811
896
|
if (params.group_order !== void 0) count++;
|
|
897
|
+
if (params.dynamic_groups !== void 0) count++;
|
|
898
|
+
if (params.new_group_request !== void 0) count++;
|
|
812
899
|
writer.writeVarInt(count);
|
|
900
|
+
if (params.delivery_timeout !== void 0) {
|
|
901
|
+
writer.writeVarInt(PARAM_DELIVERY_TIMEOUT);
|
|
902
|
+
writer.writeVarInt(params.delivery_timeout);
|
|
903
|
+
}
|
|
904
|
+
if (params.authorization_token !== void 0) {
|
|
905
|
+
writer.writeVarInt(PARAM_AUTHORIZATION_TOKEN);
|
|
906
|
+
const tmpW = new BufferWriter(64);
|
|
907
|
+
encodeAuthorizationToken(params.authorization_token, tmpW);
|
|
908
|
+
const raw = tmpW.finish();
|
|
909
|
+
writer.writeVarInt(raw.byteLength);
|
|
910
|
+
writer.writeBytes(raw);
|
|
911
|
+
}
|
|
912
|
+
if (params.max_cache_duration !== void 0) {
|
|
913
|
+
writer.writeVarInt(PARAM_MAX_CACHE_DURATION);
|
|
914
|
+
writer.writeVarInt(params.max_cache_duration);
|
|
915
|
+
}
|
|
813
916
|
if (params.expires !== void 0) {
|
|
814
917
|
writer.writeVarInt(PARAM_EXPIRES);
|
|
815
918
|
writer.writeVarInt(params.expires);
|
|
@@ -823,6 +926,14 @@ function encodeParams(params, writer) {
|
|
|
823
926
|
writer.writeVarInt(raw.byteLength);
|
|
824
927
|
writer.writeBytes(raw);
|
|
825
928
|
}
|
|
929
|
+
if (params.publisher_priority !== void 0) {
|
|
930
|
+
writer.writeVarInt(PARAM_PUBLISHER_PRIORITY);
|
|
931
|
+
writer.writeVarInt(params.publisher_priority);
|
|
932
|
+
}
|
|
933
|
+
if (params.forward !== void 0) {
|
|
934
|
+
writer.writeVarInt(PARAM_FORWARD);
|
|
935
|
+
writer.writeVarInt(params.forward);
|
|
936
|
+
}
|
|
826
937
|
if (params.subscriber_priority !== void 0) {
|
|
827
938
|
writer.writeVarInt(PARAM_SUBSCRIBER_PRIORITY);
|
|
828
939
|
writer.writeVarInt(params.subscriber_priority);
|
|
@@ -847,6 +958,14 @@ function encodeParams(params, writer) {
|
|
|
847
958
|
writer.writeVarInt(PARAM_GROUP_ORDER);
|
|
848
959
|
writer.writeVarInt(params.group_order);
|
|
849
960
|
}
|
|
961
|
+
if (params.dynamic_groups !== void 0) {
|
|
962
|
+
writer.writeVarInt(PARAM_DYNAMIC_GROUPS);
|
|
963
|
+
writer.writeVarInt(params.dynamic_groups);
|
|
964
|
+
}
|
|
965
|
+
if (params.new_group_request !== void 0) {
|
|
966
|
+
writer.writeVarInt(PARAM_NEW_GROUP_REQUEST);
|
|
967
|
+
writer.writeVarInt(params.new_group_request);
|
|
968
|
+
}
|
|
850
969
|
if (params.unknown) {
|
|
851
970
|
for (const u of params.unknown) {
|
|
852
971
|
const id = BigInt(u.id);
|
|
@@ -870,12 +989,28 @@ function decodeParams(reader) {
|
|
|
870
989
|
const unknown = [];
|
|
871
990
|
for (let i = 0; i < count; i++) {
|
|
872
991
|
const paramType = reader.readVarInt();
|
|
873
|
-
if (paramType ===
|
|
992
|
+
if (paramType === PARAM_DELIVERY_TIMEOUT) {
|
|
993
|
+
result.delivery_timeout = reader.readVarInt();
|
|
994
|
+
} else if (paramType === PARAM_AUTHORIZATION_TOKEN) {
|
|
995
|
+
const length = Number(reader.readVarInt());
|
|
996
|
+
const tokenBytes = reader.readBytes(length);
|
|
997
|
+
result.authorization_token = decodeAuthorizationToken(new BufferReader(tokenBytes));
|
|
998
|
+
} else if (paramType === PARAM_MAX_CACHE_DURATION) {
|
|
999
|
+
result.max_cache_duration = reader.readVarInt();
|
|
1000
|
+
} else if (paramType === PARAM_EXPIRES) {
|
|
874
1001
|
result.expires = reader.readVarInt();
|
|
1002
|
+
} else if (paramType === PARAM_PUBLISHER_PRIORITY) {
|
|
1003
|
+
result.publisher_priority = reader.readVarInt();
|
|
1004
|
+
} else if (paramType === PARAM_FORWARD) {
|
|
1005
|
+
result.forward = reader.readVarInt();
|
|
875
1006
|
} else if (paramType === PARAM_SUBSCRIBER_PRIORITY) {
|
|
876
1007
|
result.subscriber_priority = reader.readVarInt();
|
|
877
1008
|
} else if (paramType === PARAM_GROUP_ORDER) {
|
|
878
1009
|
result.group_order = reader.readVarInt();
|
|
1010
|
+
} else if (paramType === PARAM_DYNAMIC_GROUPS) {
|
|
1011
|
+
result.dynamic_groups = reader.readVarInt();
|
|
1012
|
+
} else if (paramType === PARAM_NEW_GROUP_REQUEST) {
|
|
1013
|
+
result.new_group_request = reader.readVarInt();
|
|
879
1014
|
} else if (paramType === PARAM_LARGEST_OBJECT) {
|
|
880
1015
|
const length = Number(reader.readVarInt());
|
|
881
1016
|
const startOff = reader.offset;
|
|
@@ -1051,7 +1186,13 @@ function decodeSubscribePayload(r) {
|
|
|
1051
1186
|
const track_namespace = r.readTuple();
|
|
1052
1187
|
const track_name = r.readString();
|
|
1053
1188
|
const parameters = decodeParams(r);
|
|
1054
|
-
return {
|
|
1189
|
+
return {
|
|
1190
|
+
type: "subscribe",
|
|
1191
|
+
request_id,
|
|
1192
|
+
track_namespace,
|
|
1193
|
+
track_name,
|
|
1194
|
+
parameters
|
|
1195
|
+
};
|
|
1055
1196
|
}
|
|
1056
1197
|
function decodeSubscribeOkPayload(r) {
|
|
1057
1198
|
const request_id = r.readVarInt();
|
|
@@ -1063,7 +1204,12 @@ function decodeSubscribeUpdatePayload(r) {
|
|
|
1063
1204
|
const request_id = r.readVarInt();
|
|
1064
1205
|
const subscription_request_id = r.readVarInt();
|
|
1065
1206
|
const parameters = decodeParams(r);
|
|
1066
|
-
return {
|
|
1207
|
+
return {
|
|
1208
|
+
type: "subscribe_update",
|
|
1209
|
+
request_id,
|
|
1210
|
+
subscription_request_id,
|
|
1211
|
+
parameters
|
|
1212
|
+
};
|
|
1067
1213
|
}
|
|
1068
1214
|
function decodeUnsubscribePayload(r) {
|
|
1069
1215
|
const request_id = r.readVarInt();
|
|
@@ -1075,7 +1221,14 @@ function decodePublishPayload(r) {
|
|
|
1075
1221
|
const track_name = r.readString();
|
|
1076
1222
|
const track_alias = r.readVarInt();
|
|
1077
1223
|
const parameters = decodeParams(r);
|
|
1078
|
-
return {
|
|
1224
|
+
return {
|
|
1225
|
+
type: "publish",
|
|
1226
|
+
request_id,
|
|
1227
|
+
track_namespace,
|
|
1228
|
+
track_name,
|
|
1229
|
+
track_alias,
|
|
1230
|
+
parameters
|
|
1231
|
+
};
|
|
1079
1232
|
}
|
|
1080
1233
|
function decodePublishOkPayload(r) {
|
|
1081
1234
|
const request_id = r.readVarInt();
|
|
@@ -1087,7 +1240,13 @@ function decodePublishDonePayload(r) {
|
|
|
1087
1240
|
const status_code = r.readVarInt();
|
|
1088
1241
|
const stream_count = r.readVarInt();
|
|
1089
1242
|
const reason_phrase = r.readString();
|
|
1090
|
-
return {
|
|
1243
|
+
return {
|
|
1244
|
+
type: "publish_done",
|
|
1245
|
+
request_id,
|
|
1246
|
+
status_code,
|
|
1247
|
+
stream_count,
|
|
1248
|
+
reason_phrase
|
|
1249
|
+
};
|
|
1091
1250
|
}
|
|
1092
1251
|
function decodePublishNamespacePayload(r) {
|
|
1093
1252
|
const request_id = r.readVarInt();
|
|
@@ -1103,13 +1262,23 @@ function decodePublishNamespaceCancelPayload(r) {
|
|
|
1103
1262
|
const track_namespace = r.readTuple();
|
|
1104
1263
|
const error_code = r.readVarInt();
|
|
1105
1264
|
const reason_phrase = r.readString();
|
|
1106
|
-
return {
|
|
1265
|
+
return {
|
|
1266
|
+
type: "publish_namespace_cancel",
|
|
1267
|
+
track_namespace,
|
|
1268
|
+
error_code,
|
|
1269
|
+
reason_phrase
|
|
1270
|
+
};
|
|
1107
1271
|
}
|
|
1108
1272
|
function decodeSubscribeNamespacePayload(r) {
|
|
1109
1273
|
const request_id = r.readVarInt();
|
|
1110
1274
|
const namespace_prefix = r.readTuple();
|
|
1111
1275
|
const parameters = decodeParams(r);
|
|
1112
|
-
return {
|
|
1276
|
+
return {
|
|
1277
|
+
type: "subscribe_namespace",
|
|
1278
|
+
request_id,
|
|
1279
|
+
namespace_prefix,
|
|
1280
|
+
parameters
|
|
1281
|
+
};
|
|
1113
1282
|
}
|
|
1114
1283
|
function decodeUnsubscribeNamespacePayload(r) {
|
|
1115
1284
|
const request_id = r.readVarInt();
|
|
@@ -1131,7 +1300,14 @@ function decodeFetchPayload(r) {
|
|
|
1131
1300
|
const start_object = r.readVarInt();
|
|
1132
1301
|
const end_group = r.readVarInt();
|
|
1133
1302
|
const end_object = r.readVarInt();
|
|
1134
|
-
standalone = {
|
|
1303
|
+
standalone = {
|
|
1304
|
+
track_namespace,
|
|
1305
|
+
track_name,
|
|
1306
|
+
start_group,
|
|
1307
|
+
start_object,
|
|
1308
|
+
end_group,
|
|
1309
|
+
end_object
|
|
1310
|
+
};
|
|
1135
1311
|
} else {
|
|
1136
1312
|
const joining_request_id = r.readVarInt();
|
|
1137
1313
|
const joining_start = r.readVarInt();
|
|
@@ -1153,7 +1329,14 @@ function decodeFetchOkPayload(r) {
|
|
|
1153
1329
|
const end_group = r.readVarInt();
|
|
1154
1330
|
const end_object = r.readVarInt();
|
|
1155
1331
|
const parameters = decodeParams(r);
|
|
1156
|
-
return {
|
|
1332
|
+
return {
|
|
1333
|
+
type: "fetch_ok",
|
|
1334
|
+
request_id,
|
|
1335
|
+
end_of_track,
|
|
1336
|
+
end_group,
|
|
1337
|
+
end_object,
|
|
1338
|
+
parameters
|
|
1339
|
+
};
|
|
1157
1340
|
}
|
|
1158
1341
|
function decodeFetchCancelPayload(r) {
|
|
1159
1342
|
const request_id = r.readVarInt();
|
|
@@ -1164,7 +1347,13 @@ function decodeTrackStatusPayload(r) {
|
|
|
1164
1347
|
const track_namespace = r.readTuple();
|
|
1165
1348
|
const track_name = r.readString();
|
|
1166
1349
|
const parameters = decodeParams(r);
|
|
1167
|
-
return {
|
|
1350
|
+
return {
|
|
1351
|
+
type: "track_status",
|
|
1352
|
+
request_id,
|
|
1353
|
+
track_namespace,
|
|
1354
|
+
track_name,
|
|
1355
|
+
parameters
|
|
1356
|
+
};
|
|
1168
1357
|
}
|
|
1169
1358
|
function decodeRequestOkPayload(r) {
|
|
1170
1359
|
const request_id = r.readVarInt();
|
|
@@ -1352,7 +1541,7 @@ function createStreamDecoder() {
|
|
|
1352
1541
|
}
|
|
1353
1542
|
function createDraft15Codec() {
|
|
1354
1543
|
return {
|
|
1355
|
-
draft: "
|
|
1544
|
+
draft: "15",
|
|
1356
1545
|
encodeMessage,
|
|
1357
1546
|
decodeMessage,
|
|
1358
1547
|
encodeSubgroupStream,
|