@moqtap/codec 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +100 -99
- package/dist/{chunk-RZHAPEXO.js → chunk-2A57DRXV.js} +36 -10
- package/dist/{chunk-73MWUKSJ.js → chunk-2UTVXWFF.js} +190 -102
- package/dist/{chunk-JTVCOMBI.cjs → chunk-3XKO6PCR.cjs} +290 -183
- package/dist/{chunk-ACQ4CUJP.cjs → chunk-4BDEU3D4.cjs} +237 -158
- package/dist/{chunk-4N4INRE7.cjs → chunk-4HBKHNU2.cjs} +144 -110
- package/dist/{chunk-2ZT6CVSE.js → chunk-4IVZZOY3.js} +269 -162
- package/dist/{chunk-GLBQDG4L.cjs → chunk-5O764MBD.cjs} +508 -117
- package/dist/chunk-7KBAWOBA.js +1212 -0
- package/dist/{chunk-JSQM2MG3.js → chunk-7QOPNSDF.js} +44 -12
- package/dist/{chunk-SYHW3FLI.cjs → chunk-7RE6KSIY.cjs} +28 -8
- package/dist/{chunk-YG5KJESI.js → chunk-AY6IAHUM.js} +28 -8
- package/dist/{chunk-EFM5T7OM.js → chunk-BLQDWOSG.js} +36 -10
- package/dist/{chunk-UYXTY6ZQ.cjs → chunk-E65QKRSN.cjs} +20 -12
- package/dist/{chunk-BISI45MN.cjs → chunk-EAHE3IOG.cjs} +44 -12
- package/dist/{chunk-PZBPH2D7.js → chunk-GCBFHZW6.js} +216 -137
- package/dist/{chunk-GXEW4COZ.cjs → chunk-H5NSL4MO.cjs} +36 -10
- package/dist/chunk-HZHSO7EW.cjs +1212 -0
- package/dist/{chunk-KZCYQ7ED.cjs → chunk-IILNSDEQ.cjs} +69 -41
- package/dist/{chunk-4XYGE53S.cjs → chunk-J3XCPBW3.cjs} +36 -10
- package/dist/{chunk-6AEHWULA.cjs → chunk-JKOEJZ5B.cjs} +28 -8
- package/dist/{chunk-RUPCJTC3.cjs → chunk-JL3NEW3O.cjs} +23 -1
- package/dist/{chunk-G7GI7LJA.js → chunk-LORZMJJB.js} +36 -10
- package/dist/{chunk-DUBCL3WF.cjs → chunk-LV5C6MEC.cjs} +36 -10
- package/dist/{chunk-ENURAVHI.cjs → chunk-MYXAD5JC.cjs} +44 -12
- package/dist/{chunk-FXZ2MYKJ.js → chunk-MZ7HUCGJ.js} +20 -12
- package/dist/{chunk-S74DWJE2.cjs → chunk-OKG2HT25.cjs} +277 -88
- package/dist/{chunk-BGWGVINJ.cjs → chunk-PKEOQSSZ.cjs} +144 -110
- package/dist/{chunk-2GODRVT5.js → chunk-Q46ZURKX.js} +325 -48
- package/dist/{chunk-UR6JKS56.js → chunk-Q7IGWV3P.js} +41 -9
- package/dist/{chunk-XSNX2IUJ.js → chunk-RW4UG7CN.js} +121 -87
- package/dist/{chunk-DWK5ZQZ4.js → chunk-RZTLQAKF.js} +28 -8
- package/dist/{chunk-UNS34PTA.cjs → chunk-S6IPIN66.cjs} +44 -12
- package/dist/{chunk-YIG2C3LF.cjs → chunk-SDWRXXOO.cjs} +214 -126
- package/dist/{chunk-CEH7ESNC.js → chunk-SHMA4PBY.js} +121 -87
- package/dist/{chunk-MC7W6PMI.js → chunk-U3ZVLT5L.js} +483 -135
- package/dist/{chunk-VJUUZ4W2.cjs → chunk-UJU63EFY.cjs} +374 -97
- package/dist/{chunk-7L43FE6P.js → chunk-VOU7PNHI.js} +23 -1
- package/dist/{chunk-E6E3NQYU.js → chunk-WRHGCVYN.js} +44 -12
- package/dist/{chunk-FPISPJ5N.cjs → chunk-XNWYLVGU.cjs} +529 -181
- package/dist/{chunk-U3IPZYPX.js → chunk-XS77RBY7.js} +228 -39
- package/dist/{chunk-JGG7CMSZ.cjs → chunk-XZE5R57R.cjs} +144 -110
- package/dist/{chunk-77MNXX3M.js → chunk-Y6KCSM3V.js} +121 -87
- package/dist/{chunk-TLYNOOQP.cjs → chunk-YTPZZI2M.cjs} +41 -9
- package/dist/{chunk-7DUBLRXC.js → chunk-YWRCSQBA.js} +44 -12
- package/dist/{chunk-MRJWLGYH.js → chunk-Z3VKP3PJ.js} +69 -41
- package/dist/{chunk-E6P74GDT.js → chunk-Z6U26IRI.js} +464 -73
- package/dist/{codec-FvGCxIhr.d.ts → codec-25u4_1HS.d.ts} +4 -4
- package/dist/{codec-DRcsBCsb.d.ts → codec-3Ppy_5Gd.d.ts} +4 -4
- package/dist/{codec-BdVMRMOI.d.ts → codec-BB0U8MF2.d.cts} +4 -4
- package/dist/{codec-B2cH-f5V.d.cts → codec-BHHfBTnV.d.ts} +4 -4
- package/dist/{codec-B5K73Bdj.d.ts → codec-BN6jk0Td.d.cts} +4 -4
- package/dist/{codec-R8GrCPt2.d.ts → codec-BU0gaSZm.d.ts} +4 -4
- package/dist/{codec-Bq-tLtfP.d.ts → codec-C-Yk2RNa.d.ts} +4 -4
- package/dist/codec-CFWQY9Lj.d.cts +18 -0
- package/dist/{codec-CPlK3Pi5.d.ts → codec-COy4uuPO.d.cts} +4 -4
- package/dist/codec-CewFCsEy.d.ts +18 -0
- package/dist/{codec-KXHvXZVb.d.cts → codec-Ck7ZwFF1.d.cts} +4 -4
- package/dist/{codec-DZhZSIii.d.cts → codec-D2QVSH9D.d.ts} +4 -4
- package/dist/{codec-BwFgpeQu.d.ts → codec-DDUBJGn0.d.cts} +4 -4
- package/dist/{codec-BFeliJFc.d.ts → codec-DNfml-se.d.ts} +4 -4
- package/dist/{codec-C4n1PS09.d.cts → codec-DoOGjjDq.d.cts} +4 -4
- package/dist/{codec-Bap882Fh.d.cts → codec-J7ekOSMc.d.ts} +4 -4
- package/dist/{codec-SKBeHQk7.d.ts → codec-R9TJCq-E.d.cts} +4 -4
- package/dist/{codec-DNUIgLqc.d.cts → codec-ZwV-Njt6.d.ts} +4 -4
- package/dist/{codec-HgBgHkFI.d.cts → codec-j819z_hL.d.cts} +4 -4
- package/dist/{codec-DY4QH364.d.cts → codec-w8z2j_uo.d.cts} +4 -4
- package/dist/{codec-CPvPq0sb.d.cts → codec-wtt6WF1K.d.ts} +4 -4
- package/dist/{codec-BUMjz0J4.d.cts → codec-z6_2PSzi.d.cts} +4 -4
- package/dist/draft10-session.cjs +2 -2
- package/dist/draft10-session.d.cts +6 -6
- package/dist/draft10-session.d.ts +6 -6
- package/dist/draft10-session.js +1 -1
- package/dist/draft10.cjs +8 -5
- package/dist/draft10.d.cts +14 -12
- package/dist/draft10.d.ts +14 -12
- package/dist/draft10.js +16 -13
- package/dist/draft11-session.cjs +2 -2
- package/dist/draft11-session.d.cts +6 -6
- package/dist/draft11-session.d.ts +6 -6
- package/dist/draft11-session.js +1 -1
- package/dist/draft11.cjs +8 -5
- package/dist/draft11.d.cts +14 -12
- package/dist/draft11.d.ts +14 -12
- package/dist/draft11.js +16 -13
- package/dist/draft12-session.cjs +2 -2
- package/dist/draft12-session.d.cts +6 -6
- package/dist/draft12-session.d.ts +6 -6
- package/dist/draft12-session.js +1 -1
- package/dist/draft12.cjs +8 -5
- package/dist/draft12.d.cts +16 -14
- package/dist/draft12.d.ts +16 -14
- package/dist/draft12.js +16 -13
- package/dist/draft13-session.cjs +2 -2
- package/dist/draft13-session.d.cts +6 -6
- package/dist/draft13-session.d.ts +6 -6
- package/dist/draft13-session.js +1 -1
- package/dist/draft13.cjs +8 -5
- package/dist/draft13.d.cts +16 -14
- package/dist/draft13.d.ts +16 -14
- package/dist/draft13.js +16 -13
- package/dist/draft14-session.cjs +2 -2
- package/dist/draft14-session.d.cts +6 -6
- package/dist/draft14-session.d.ts +6 -6
- package/dist/draft14-session.js +1 -1
- package/dist/draft14.cjs +14 -5
- package/dist/draft14.d.cts +14 -12
- package/dist/draft14.d.ts +14 -12
- package/dist/draft14.js +13 -4
- package/dist/draft15-session.cjs +2 -2
- package/dist/draft15-session.d.cts +6 -6
- package/dist/draft15-session.d.ts +6 -6
- package/dist/draft15-session.js +1 -1
- package/dist/draft15.cjs +8 -5
- package/dist/draft15.d.cts +14 -12
- package/dist/draft15.d.ts +14 -12
- package/dist/draft15.js +16 -13
- package/dist/draft16-session.cjs +2 -2
- package/dist/draft16-session.d.cts +6 -6
- package/dist/draft16-session.d.ts +6 -6
- package/dist/draft16-session.js +1 -1
- package/dist/draft16.cjs +8 -5
- package/dist/draft16.d.cts +14 -12
- package/dist/draft16.d.ts +14 -12
- package/dist/draft16.js +16 -13
- package/dist/draft17-session.cjs +2 -2
- package/dist/draft17-session.d.cts +7 -7
- package/dist/draft17-session.d.ts +7 -7
- package/dist/draft17-session.js +1 -1
- package/dist/draft17.cjs +8 -5
- package/dist/draft17.d.cts +11 -9
- package/dist/draft17.d.ts +11 -9
- package/dist/draft17.js +16 -13
- package/dist/draft7-session.cjs +2 -2
- package/dist/draft7-session.d.cts +6 -5
- package/dist/draft7-session.d.ts +6 -5
- package/dist/draft7-session.js +1 -1
- package/dist/draft7.cjs +71 -14
- package/dist/draft7.d.cts +53 -134
- package/dist/draft7.d.ts +53 -134
- package/dist/draft7.js +76 -19
- package/dist/draft8-session.cjs +2 -2
- package/dist/draft8-session.d.cts +6 -6
- package/dist/draft8-session.d.ts +6 -6
- package/dist/draft8-session.js +1 -1
- package/dist/draft8.cjs +8 -5
- package/dist/draft8.d.cts +14 -12
- package/dist/draft8.d.ts +14 -12
- package/dist/draft8.js +7 -4
- package/dist/draft9-session.cjs +2 -2
- package/dist/draft9-session.d.cts +6 -6
- package/dist/draft9-session.d.ts +6 -6
- package/dist/draft9-session.js +1 -1
- package/dist/draft9.cjs +8 -5
- package/dist/draft9.d.cts +14 -12
- package/dist/draft9.d.ts +14 -12
- package/dist/draft9.js +7 -4
- package/dist/index.cjs +52 -74
- package/dist/index.d.cts +41 -60
- package/dist/index.d.ts +41 -60
- package/dist/index.js +40 -62
- package/dist/{session-types-CJIFbTPd.d.ts → session-types-C7UONex5.d.cts} +28 -27
- package/dist/{session-types-Cbq8IGCP.d.cts → session-types-X-IYEGoG.d.ts} +28 -27
- package/dist/session.cjs +46 -13
- package/dist/session.d.cts +28 -9
- package/dist/session.d.ts +28 -9
- package/dist/session.js +46 -13
- package/dist/{types-DxSFvL2b.d.cts → types--Q7_DcvP.d.cts} +43 -39
- package/dist/{types-DxSFvL2b.d.ts → types--Q7_DcvP.d.ts} +43 -39
- package/dist/{types-B0FT5Qs2.d.ts → types-0IWbU9Z_.d.cts} +36 -36
- package/dist/{types-B0FT5Qs2.d.cts → types-0IWbU9Z_.d.ts} +36 -36
- package/dist/{types-gQsr0AAA.d.cts → types-B3g5G9KP.d.cts} +36 -36
- package/dist/{types-gQsr0AAA.d.ts → types-B3g5G9KP.d.ts} +36 -36
- package/dist/{types-Pme7sua0.d.cts → types-BFpFNM_m.d.cts} +57 -32
- package/dist/{types-Pme7sua0.d.ts → types-BFpFNM_m.d.ts} +57 -32
- package/dist/{types-8gUGeMgs.d.ts → types-Br7fm2mf.d.cts} +48 -26
- package/dist/{types-8gUGeMgs.d.cts → types-Br7fm2mf.d.ts} +48 -26
- package/dist/{types-BeAVNU-F.d.cts → types-C2qKTRR_.d.cts} +50 -45
- package/dist/{types-BeAVNU-F.d.ts → types-C2qKTRR_.d.ts} +50 -45
- package/dist/{types-DKpsfD3i.d.cts → types-DEaypVsD.d.cts} +115 -55
- package/dist/{types-DKpsfD3i.d.ts → types-DEaypVsD.d.ts} +115 -55
- package/dist/types-Dl4IaAHR.d.cts +282 -0
- package/dist/types-Dl4IaAHR.d.ts +282 -0
- package/dist/{types-CDa7F5ct.d.cts → types-DrQpTW1G.d.cts} +58 -50
- package/dist/{types-CDa7F5ct.d.ts → types-DrQpTW1G.d.ts} +58 -50
- package/dist/types-DuIO7cWK.d.cts +25 -0
- package/dist/types-DuIO7cWK.d.ts +25 -0
- package/dist/{types-B9A2g05r.d.cts → types-DuxfOYiO.d.cts} +47 -31
- package/dist/{types-B9A2g05r.d.ts → types-DuxfOYiO.d.ts} +47 -31
- package/dist/{types-D1dI_oTX.d.cts → types-jV1yDDBA.d.cts} +36 -36
- package/dist/{types-D1dI_oTX.d.ts → types-jV1yDDBA.d.ts} +36 -36
- package/package.json +192 -192
- package/src/core/buffer-reader.ts +130 -130
- package/src/core/buffer-writer.ts +100 -100
- package/src/core/errors.ts +1 -1
- package/src/core/hex.ts +21 -21
- package/src/core/session-types.ts +61 -59
- package/src/core/types.ts +18 -361
- package/src/drafts/draft07/codec.ts +1058 -938
- package/src/drafts/draft07/data-streams.ts +240 -240
- package/src/drafts/draft07/index.ts +124 -89
- package/src/drafts/draft07/messages.ts +76 -42
- package/src/drafts/draft07/rules.ts +107 -101
- package/src/drafts/draft07/session-fsm.ts +315 -287
- package/src/drafts/draft07/session.ts +8 -6
- package/src/drafts/draft07/types.ts +406 -72
- package/src/drafts/draft07/varint.ts +51 -51
- package/src/drafts/draft08/codec.ts +985 -953
- package/src/drafts/draft08/data-streams.ts +363 -359
- package/src/drafts/draft08/index.ts +10 -9
- package/src/drafts/draft08/messages.ts +59 -59
- package/src/drafts/draft08/rules.ts +73 -73
- package/src/drafts/draft08/session-fsm.ts +335 -303
- package/src/drafts/draft08/session.ts +6 -7
- package/src/drafts/draft08/types.ts +380 -384
- package/src/drafts/draft09/codec.ts +977 -945
- package/src/drafts/draft09/data-streams.ts +336 -332
- package/src/drafts/draft09/index.ts +10 -9
- package/src/drafts/draft09/messages.ts +59 -59
- package/src/drafts/draft09/rules.ts +73 -73
- package/src/drafts/draft09/session-fsm.ts +335 -303
- package/src/drafts/draft09/session.ts +6 -7
- package/src/drafts/draft09/types.ts +380 -384
- package/src/drafts/draft10/codec.ts +977 -945
- package/src/drafts/draft10/data-streams.ts +336 -332
- package/src/drafts/draft10/index.ts +10 -9
- package/src/drafts/draft10/messages.ts +59 -59
- package/src/drafts/draft10/rules.ts +73 -73
- package/src/drafts/draft10/session-fsm.ts +335 -303
- package/src/drafts/draft10/session.ts +6 -7
- package/src/drafts/draft10/types.ts +380 -384
- package/src/drafts/draft11/codec.ts +1054 -988
- package/src/drafts/draft11/data-streams.ts +316 -269
- package/src/drafts/draft11/index.ts +10 -9
- package/src/drafts/draft11/messages.ts +60 -59
- package/src/drafts/draft11/rules.ts +73 -73
- package/src/drafts/draft11/session-fsm.ts +359 -333
- package/src/drafts/draft11/session.ts +6 -7
- package/src/drafts/draft11/types.ts +385 -381
- package/src/drafts/draft12/codec.ts +1178 -1122
- package/src/drafts/draft12/data-streams.ts +324 -275
- package/src/drafts/draft12/index.ts +10 -9
- package/src/drafts/draft12/messages.ts +67 -66
- package/src/drafts/draft12/rules.ts +79 -79
- package/src/drafts/draft12/session-fsm.ts +384 -358
- package/src/drafts/draft12/session.ts +6 -7
- package/src/drafts/draft12/types.ts +424 -419
- package/src/drafts/draft13/codec.ts +1296 -1206
- package/src/drafts/draft13/data-streams.ts +326 -275
- package/src/drafts/draft13/index.ts +10 -9
- package/src/drafts/draft13/messages.ts +73 -68
- package/src/drafts/draft13/rules.ts +81 -81
- package/src/drafts/draft13/session-fsm.ts +392 -366
- package/src/drafts/draft13/session.ts +6 -7
- package/src/drafts/draft13/types.ts +447 -438
- package/src/drafts/draft14/codec.ts +1347 -1043
- package/src/drafts/draft14/data-streams.ts +831 -813
- package/src/drafts/draft14/index.ts +17 -9
- package/src/drafts/draft14/messages.ts +65 -65
- package/src/drafts/draft14/rules.ts +81 -81
- package/src/drafts/draft14/session-fsm.ts +415 -405
- package/src/drafts/draft14/session.ts +6 -7
- package/src/drafts/draft14/types.ts +451 -381
- package/src/drafts/draft15/codec.ts +1138 -978
- package/src/drafts/draft15/data-streams.ts +842 -794
- package/src/drafts/draft15/index.ts +10 -9
- package/src/drafts/draft15/messages.ts +54 -53
- package/src/drafts/draft15/rules.ts +67 -67
- package/src/drafts/draft15/session-fsm.ts +319 -299
- package/src/drafts/draft15/session.ts +6 -7
- package/src/drafts/draft15/types.ts +357 -339
- package/src/drafts/draft16/codec.ts +1242 -966
- package/src/drafts/draft16/data-streams.ts +835 -789
- package/src/drafts/draft16/index.ts +10 -9
- package/src/drafts/draft16/messages.ts +56 -55
- package/src/drafts/draft16/rules.ts +69 -69
- package/src/drafts/draft16/session-fsm.ts +319 -299
- package/src/drafts/draft16/session.ts +6 -7
- package/src/drafts/draft16/types.ts +386 -357
- package/src/drafts/draft17/codec.ts +1209 -971
- package/src/drafts/draft17/data-streams.ts +969 -758
- package/src/drafts/draft17/index.ts +9 -7
- package/src/drafts/draft17/messages.ts +43 -42
- package/src/drafts/draft17/rules.ts +58 -58
- package/src/drafts/draft17/session-fsm.ts +248 -216
- package/src/drafts/draft17/session.ts +5 -5
- package/src/drafts/draft17/types.ts +337 -313
- package/src/index.ts +85 -274
- package/src/session.ts +62 -23
- package/dist/chunk-FZDIEHQL.cjs +0 -1042
- package/dist/chunk-HDWJ2GDE.js +0 -24
- package/dist/chunk-KNDYS3DK.cjs +0 -24
- package/dist/chunk-N2KBF5Q2.js +0 -1042
- package/dist/types-QNXoxC9Y.d.cts +0 -236
- package/dist/types-QNXoxC9Y.d.ts +0 -236
- package/src/drafts/draft07/announce-fsm.ts +0 -2
- package/src/drafts/draft07/parameters.ts +0 -12
- package/src/drafts/draft07/subscription-fsm.ts +0 -3
|
@@ -1,88 +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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var MSG_SUBSCRIBE_UPDATE = 0x02n;
|
|
13
|
-
var MSG_SUBSCRIBE = 0x03n;
|
|
14
|
-
var MSG_SUBSCRIBE_OK = 0x04n;
|
|
15
|
-
var MSG_SUBSCRIBE_ERROR = 0x05n;
|
|
16
|
-
var MSG_ANNOUNCE = 0x06n;
|
|
17
|
-
var MSG_ANNOUNCE_OK = 0x07n;
|
|
18
|
-
var MSG_ANNOUNCE_ERROR = 0x08n;
|
|
19
|
-
var MSG_UNANNOUNCE = 0x09n;
|
|
20
|
-
var MSG_UNSUBSCRIBE = 0x0an;
|
|
21
|
-
var MSG_SUBSCRIBE_DONE = 0x0bn;
|
|
22
|
-
var MSG_ANNOUNCE_CANCEL = 0x0cn;
|
|
23
|
-
var MSG_TRACK_STATUS = 0x0dn;
|
|
24
|
-
var MSG_TRACK_STATUS_OK = 0x0en;
|
|
25
|
-
var MSG_TRACK_STATUS_ERROR = 0x0fn;
|
|
26
|
-
var MSG_GOAWAY = 0x10n;
|
|
27
|
-
var MSG_SUBSCRIBE_NAMESPACE = 0x11n;
|
|
28
|
-
var MSG_SUBSCRIBE_NAMESPACE_OK = 0x12n;
|
|
29
|
-
var MSG_SUBSCRIBE_NAMESPACE_ERROR = 0x13n;
|
|
30
|
-
var MSG_UNSUBSCRIBE_NAMESPACE = 0x14n;
|
|
31
|
-
var MSG_MAX_REQUEST_ID = 0x15n;
|
|
32
|
-
var MSG_FETCH = 0x16n;
|
|
33
|
-
var MSG_FETCH_CANCEL = 0x17n;
|
|
34
|
-
var MSG_FETCH_OK = 0x18n;
|
|
35
|
-
var MSG_FETCH_ERROR = 0x19n;
|
|
36
|
-
var MSG_REQUESTS_BLOCKED = 0x1an;
|
|
37
|
-
var MSG_PUBLISH = 0x1dn;
|
|
38
|
-
var MSG_PUBLISH_OK = 0x1en;
|
|
39
|
-
var MSG_PUBLISH_ERROR = 0x1fn;
|
|
40
|
-
var MSG_CLIENT_SETUP = 0x20n;
|
|
41
|
-
var MSG_SERVER_SETUP = 0x21n;
|
|
42
|
-
var SETUP_PARAM_PATH = 0x01n;
|
|
43
|
-
var SETUP_PARAM_MAX_REQUEST_ID = 0x02n;
|
|
44
|
-
var PARAM_AUTHORIZATION_TOKEN = 0x01n;
|
|
45
|
-
var PARAM_DELIVERY_TIMEOUT = 0x03n;
|
|
46
|
-
var VARINT_FRAMED_MESSAGES = /* @__PURE__ */ new Set([
|
|
47
|
-
MSG_PUBLISH,
|
|
48
|
-
MSG_PUBLISH_OK,
|
|
49
|
-
MSG_PUBLISH_ERROR
|
|
50
|
-
]);
|
|
51
|
-
var MESSAGE_TYPE_MAP = /* @__PURE__ */ new Map([
|
|
52
|
-
[MSG_CLIENT_SETUP, "client_setup"],
|
|
53
|
-
[MSG_SERVER_SETUP, "server_setup"],
|
|
54
|
-
[MSG_SUBSCRIBE, "subscribe"],
|
|
55
|
-
[MSG_SUBSCRIBE_OK, "subscribe_ok"],
|
|
56
|
-
[MSG_SUBSCRIBE_ERROR, "subscribe_error"],
|
|
57
|
-
[MSG_SUBSCRIBE_UPDATE, "subscribe_update"],
|
|
58
|
-
[MSG_SUBSCRIBE_DONE, "subscribe_done"],
|
|
59
|
-
[MSG_UNSUBSCRIBE, "unsubscribe"],
|
|
60
|
-
[MSG_ANNOUNCE, "announce"],
|
|
61
|
-
[MSG_ANNOUNCE_OK, "announce_ok"],
|
|
62
|
-
[MSG_ANNOUNCE_ERROR, "announce_error"],
|
|
63
|
-
[MSG_UNANNOUNCE, "unannounce"],
|
|
64
|
-
[MSG_ANNOUNCE_CANCEL, "announce_cancel"],
|
|
65
|
-
[MSG_SUBSCRIBE_NAMESPACE, "subscribe_namespace"],
|
|
66
|
-
[MSG_SUBSCRIBE_NAMESPACE_OK, "subscribe_namespace_ok"],
|
|
67
|
-
[MSG_SUBSCRIBE_NAMESPACE_ERROR, "subscribe_namespace_error"],
|
|
68
|
-
[MSG_UNSUBSCRIBE_NAMESPACE, "unsubscribe_namespace"],
|
|
69
|
-
[MSG_FETCH, "fetch"],
|
|
70
|
-
[MSG_FETCH_OK, "fetch_ok"],
|
|
71
|
-
[MSG_FETCH_ERROR, "fetch_error"],
|
|
72
|
-
[MSG_FETCH_CANCEL, "fetch_cancel"],
|
|
73
|
-
[MSG_PUBLISH, "publish"],
|
|
74
|
-
[MSG_PUBLISH_OK, "publish_ok"],
|
|
75
|
-
[MSG_PUBLISH_ERROR, "publish_error"],
|
|
76
|
-
[MSG_TRACK_STATUS, "track_status"],
|
|
77
|
-
[MSG_TRACK_STATUS_OK, "track_status_ok"],
|
|
78
|
-
[MSG_TRACK_STATUS_ERROR, "track_status_error"],
|
|
79
|
-
[MSG_GOAWAY, "goaway"],
|
|
80
|
-
[MSG_MAX_REQUEST_ID, "max_request_id"],
|
|
81
|
-
[MSG_REQUESTS_BLOCKED, "requests_blocked"]
|
|
82
|
-
]);
|
|
83
|
-
var MESSAGE_ID_MAP = new Map(
|
|
84
|
-
[...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
|
|
85
|
-
);
|
|
4
|
+
DecodeError,
|
|
5
|
+
bytesToHex,
|
|
6
|
+
hexToBytes
|
|
7
|
+
} from "./chunk-VOU7PNHI.js";
|
|
86
8
|
|
|
87
9
|
// src/drafts/draft13/data-streams.ts
|
|
88
10
|
var FETCH_STREAM_TYPE = 0x05n;
|
|
@@ -118,7 +40,14 @@ function encodeDatagram(dg) {
|
|
|
118
40
|
w.writeVarInt(dg.groupId);
|
|
119
41
|
w.writeVarInt(dg.objectId);
|
|
120
42
|
w.writeUint8(dg.publisherPriority);
|
|
121
|
-
|
|
43
|
+
const extensionsPresent = (dg.streamTypeId & 1) !== 0;
|
|
44
|
+
if (extensionsPresent) {
|
|
45
|
+
const extData = dg.extensionData ?? new Uint8Array(0);
|
|
46
|
+
w.writeVarInt(extData.byteLength);
|
|
47
|
+
if (extData.byteLength > 0) w.writeBytes(extData);
|
|
48
|
+
}
|
|
49
|
+
const isStatus = dg.streamTypeId >= 4;
|
|
50
|
+
if (isStatus) {
|
|
122
51
|
w.writeVarInt(dg.objectStatus ?? 0n);
|
|
123
52
|
} else {
|
|
124
53
|
w.writeBytes(dg.payload);
|
|
@@ -137,7 +66,12 @@ function encodeFetchStream(stream) {
|
|
|
137
66
|
w.writeVarInt(BigInt(obj.extensionData.length));
|
|
138
67
|
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
|
|
139
68
|
w.writeVarInt(obj.payloadLength);
|
|
140
|
-
|
|
69
|
+
if (obj.payloadLength === 0) {
|
|
70
|
+
const status = obj.objectStatus;
|
|
71
|
+
w.writeVarInt(status ?? 0n);
|
|
72
|
+
} else {
|
|
73
|
+
w.writeBytes(obj.payload);
|
|
74
|
+
}
|
|
141
75
|
}
|
|
142
76
|
return w.finish();
|
|
143
77
|
}
|
|
@@ -175,9 +109,10 @@ function decodeSubgroupStream(bytes) {
|
|
|
175
109
|
}
|
|
176
110
|
firstObject = false;
|
|
177
111
|
let extensionData = new Uint8Array(0);
|
|
112
|
+
let extensionHeadersLength;
|
|
178
113
|
if (extensionsPresent) {
|
|
179
|
-
|
|
180
|
-
extensionData =
|
|
114
|
+
extensionHeadersLength = r.readVarInt();
|
|
115
|
+
extensionData = extensionHeadersLength > 0n ? r.readBytesView(Number(extensionHeadersLength)) : new Uint8Array(0);
|
|
181
116
|
}
|
|
182
117
|
const payloadLength = Number(r.readVarInt());
|
|
183
118
|
let payload;
|
|
@@ -191,7 +126,17 @@ function decodeSubgroupStream(bytes) {
|
|
|
191
126
|
payloadByteOffset = r.offset;
|
|
192
127
|
payload = r.readBytesView(payloadLength);
|
|
193
128
|
}
|
|
194
|
-
const obj = {
|
|
129
|
+
const obj = {
|
|
130
|
+
type: "object",
|
|
131
|
+
byteOffset,
|
|
132
|
+
payloadByteOffset,
|
|
133
|
+
objectId,
|
|
134
|
+
payloadLength,
|
|
135
|
+
extensionData,
|
|
136
|
+
payload
|
|
137
|
+
};
|
|
138
|
+
if (extensionHeadersLength !== void 0)
|
|
139
|
+
obj.extensionHeadersLength = extensionHeadersLength;
|
|
195
140
|
if (status !== void 0) obj.status = status;
|
|
196
141
|
objects.push(obj);
|
|
197
142
|
}
|
|
@@ -217,23 +162,32 @@ function decodeDatagram(bytes) {
|
|
|
217
162
|
try {
|
|
218
163
|
const r = new BufferReader(bytes);
|
|
219
164
|
const streamTypeId = Number(r.readVarInt());
|
|
220
|
-
if (streamTypeId
|
|
165
|
+
if (streamTypeId < 0 || streamTypeId > 5) {
|
|
221
166
|
return {
|
|
222
167
|
ok: false,
|
|
223
168
|
error: new DecodeError(
|
|
224
169
|
"CONSTRAINT_VIOLATION",
|
|
225
|
-
`Expected datagram type 0x00
|
|
170
|
+
`Expected datagram type 0x00-0x05, got 0x${streamTypeId.toString(16)}`,
|
|
226
171
|
0
|
|
227
172
|
)
|
|
228
173
|
};
|
|
229
174
|
}
|
|
175
|
+
const extensionsPresent = (streamTypeId & 1) !== 0;
|
|
176
|
+
const endOfGroup = (streamTypeId & 2) !== 0 && streamTypeId < 4;
|
|
177
|
+
const isStatus = streamTypeId >= 4;
|
|
230
178
|
const trackAlias = r.readVarInt();
|
|
231
179
|
const groupId = r.readVarInt();
|
|
232
180
|
const objectId = r.readVarInt();
|
|
233
181
|
const publisherPriority = r.readUint8();
|
|
182
|
+
let extensionHeadersLength;
|
|
183
|
+
let extensionData;
|
|
184
|
+
if (extensionsPresent) {
|
|
185
|
+
extensionHeadersLength = r.readVarInt();
|
|
186
|
+
extensionData = extensionHeadersLength > 0n ? r.readBytesView(Number(extensionHeadersLength)) : new Uint8Array(0);
|
|
187
|
+
}
|
|
234
188
|
let objectStatus;
|
|
235
189
|
let payload;
|
|
236
|
-
if (
|
|
190
|
+
if (isStatus) {
|
|
237
191
|
objectStatus = r.readVarInt();
|
|
238
192
|
payload = new Uint8Array(0);
|
|
239
193
|
} else {
|
|
@@ -249,6 +203,11 @@ function decodeDatagram(bytes) {
|
|
|
249
203
|
payloadLength: payload.byteLength,
|
|
250
204
|
payload
|
|
251
205
|
};
|
|
206
|
+
if (endOfGroup) result.endOfGroup = true;
|
|
207
|
+
if (extensionHeadersLength !== void 0)
|
|
208
|
+
result.extensionHeadersLength = extensionHeadersLength;
|
|
209
|
+
if (extensionData !== void 0)
|
|
210
|
+
result.extensionData = extensionData;
|
|
252
211
|
if (objectStatus !== void 0)
|
|
253
212
|
result.objectStatus = objectStatus;
|
|
254
213
|
return { ok: true, value: result, bytesRead: r.offset };
|
|
@@ -301,6 +260,7 @@ function decodeFetchStream(bytes) {
|
|
|
301
260
|
subgroupId,
|
|
302
261
|
objectId,
|
|
303
262
|
publisherPriority,
|
|
263
|
+
extensionHeadersLength,
|
|
304
264
|
extensionData,
|
|
305
265
|
payloadLength,
|
|
306
266
|
payload
|
|
@@ -309,7 +269,11 @@ function decodeFetchStream(bytes) {
|
|
|
309
269
|
obj.objectStatus = objectStatus;
|
|
310
270
|
objects.push(obj);
|
|
311
271
|
}
|
|
312
|
-
return {
|
|
272
|
+
return {
|
|
273
|
+
ok: true,
|
|
274
|
+
value: { type: "fetch", requestId, objects },
|
|
275
|
+
bytesRead: r.offset
|
|
276
|
+
};
|
|
313
277
|
} catch (e) {
|
|
314
278
|
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
315
279
|
throw e;
|
|
@@ -330,13 +294,126 @@ function decodeDataStream(streamType, bytes) {
|
|
|
330
294
|
}
|
|
331
295
|
}
|
|
332
296
|
|
|
297
|
+
// src/drafts/draft13/messages.ts
|
|
298
|
+
var MSG_SUBSCRIBE_UPDATE = 0x02n;
|
|
299
|
+
var MSG_SUBSCRIBE = 0x03n;
|
|
300
|
+
var MSG_SUBSCRIBE_OK = 0x04n;
|
|
301
|
+
var MSG_SUBSCRIBE_ERROR = 0x05n;
|
|
302
|
+
var MSG_ANNOUNCE = 0x06n;
|
|
303
|
+
var MSG_ANNOUNCE_OK = 0x07n;
|
|
304
|
+
var MSG_ANNOUNCE_ERROR = 0x08n;
|
|
305
|
+
var MSG_UNANNOUNCE = 0x09n;
|
|
306
|
+
var MSG_UNSUBSCRIBE = 0x0an;
|
|
307
|
+
var MSG_SUBSCRIBE_DONE = 0x0bn;
|
|
308
|
+
var MSG_ANNOUNCE_CANCEL = 0x0cn;
|
|
309
|
+
var MSG_TRACK_STATUS = 0x0dn;
|
|
310
|
+
var MSG_TRACK_STATUS_OK = 0x0en;
|
|
311
|
+
var MSG_TRACK_STATUS_ERROR = 0x0fn;
|
|
312
|
+
var MSG_GOAWAY = 0x10n;
|
|
313
|
+
var MSG_SUBSCRIBE_NAMESPACE = 0x11n;
|
|
314
|
+
var MSG_SUBSCRIBE_NAMESPACE_OK = 0x12n;
|
|
315
|
+
var MSG_SUBSCRIBE_NAMESPACE_ERROR = 0x13n;
|
|
316
|
+
var MSG_UNSUBSCRIBE_NAMESPACE = 0x14n;
|
|
317
|
+
var MSG_MAX_REQUEST_ID = 0x15n;
|
|
318
|
+
var MSG_FETCH = 0x16n;
|
|
319
|
+
var MSG_FETCH_CANCEL = 0x17n;
|
|
320
|
+
var MSG_FETCH_OK = 0x18n;
|
|
321
|
+
var MSG_FETCH_ERROR = 0x19n;
|
|
322
|
+
var MSG_REQUESTS_BLOCKED = 0x1an;
|
|
323
|
+
var MSG_PUBLISH = 0x1dn;
|
|
324
|
+
var MSG_PUBLISH_OK = 0x1en;
|
|
325
|
+
var MSG_PUBLISH_ERROR = 0x1fn;
|
|
326
|
+
var MSG_CLIENT_SETUP = 0x20n;
|
|
327
|
+
var MSG_SERVER_SETUP = 0x21n;
|
|
328
|
+
var SETUP_PARAM_PATH = 0x01n;
|
|
329
|
+
var SETUP_PARAM_MAX_REQUEST_ID = 0x02n;
|
|
330
|
+
var PARAM_DELIVERY_TIMEOUT = 0x02n;
|
|
331
|
+
var PARAM_AUTHORIZATION_TOKEN = 0x03n;
|
|
332
|
+
var PARAM_MAX_CACHE_DURATION = 0x04n;
|
|
333
|
+
var SETUP_PARAM_AUTHORIZATION_TOKEN = 0x03n;
|
|
334
|
+
var SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE = 0x04n;
|
|
335
|
+
var VARINT_FRAMED_MESSAGES = /* @__PURE__ */ new Set([
|
|
336
|
+
MSG_PUBLISH,
|
|
337
|
+
MSG_PUBLISH_OK,
|
|
338
|
+
MSG_PUBLISH_ERROR
|
|
339
|
+
]);
|
|
340
|
+
var MESSAGE_TYPE_MAP = /* @__PURE__ */ new Map([
|
|
341
|
+
[MSG_CLIENT_SETUP, "client_setup"],
|
|
342
|
+
[MSG_SERVER_SETUP, "server_setup"],
|
|
343
|
+
[MSG_SUBSCRIBE, "subscribe"],
|
|
344
|
+
[MSG_SUBSCRIBE_OK, "subscribe_ok"],
|
|
345
|
+
[MSG_SUBSCRIBE_ERROR, "subscribe_error"],
|
|
346
|
+
[MSG_SUBSCRIBE_UPDATE, "subscribe_update"],
|
|
347
|
+
[MSG_SUBSCRIBE_DONE, "subscribe_done"],
|
|
348
|
+
[MSG_UNSUBSCRIBE, "unsubscribe"],
|
|
349
|
+
[MSG_ANNOUNCE, "announce"],
|
|
350
|
+
[MSG_ANNOUNCE_OK, "announce_ok"],
|
|
351
|
+
[MSG_ANNOUNCE_ERROR, "announce_error"],
|
|
352
|
+
[MSG_UNANNOUNCE, "unannounce"],
|
|
353
|
+
[MSG_ANNOUNCE_CANCEL, "announce_cancel"],
|
|
354
|
+
[MSG_SUBSCRIBE_NAMESPACE, "subscribe_namespace"],
|
|
355
|
+
[MSG_SUBSCRIBE_NAMESPACE_OK, "subscribe_namespace_ok"],
|
|
356
|
+
[MSG_SUBSCRIBE_NAMESPACE_ERROR, "subscribe_namespace_error"],
|
|
357
|
+
[MSG_UNSUBSCRIBE_NAMESPACE, "unsubscribe_namespace"],
|
|
358
|
+
[MSG_FETCH, "fetch"],
|
|
359
|
+
[MSG_FETCH_OK, "fetch_ok"],
|
|
360
|
+
[MSG_FETCH_ERROR, "fetch_error"],
|
|
361
|
+
[MSG_FETCH_CANCEL, "fetch_cancel"],
|
|
362
|
+
[MSG_PUBLISH, "publish"],
|
|
363
|
+
[MSG_PUBLISH_OK, "publish_ok"],
|
|
364
|
+
[MSG_PUBLISH_ERROR, "publish_error"],
|
|
365
|
+
[MSG_TRACK_STATUS, "track_status"],
|
|
366
|
+
[MSG_TRACK_STATUS_OK, "track_status_ok"],
|
|
367
|
+
[MSG_TRACK_STATUS_ERROR, "track_status_error"],
|
|
368
|
+
[MSG_GOAWAY, "goaway"],
|
|
369
|
+
[MSG_MAX_REQUEST_ID, "max_request_id"],
|
|
370
|
+
[MSG_REQUESTS_BLOCKED, "requests_blocked"]
|
|
371
|
+
]);
|
|
372
|
+
var MESSAGE_ID_MAP = new Map(
|
|
373
|
+
[...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
|
|
374
|
+
);
|
|
375
|
+
|
|
333
376
|
// src/drafts/draft13/codec.ts
|
|
334
377
|
var textEncoder = /* @__PURE__ */ new TextEncoder();
|
|
335
378
|
var textDecoder = /* @__PURE__ */ new TextDecoder();
|
|
379
|
+
function encodeAuthorizationToken(at, w) {
|
|
380
|
+
const tmpW = new BufferWriter(64);
|
|
381
|
+
tmpW.writeVarInt(at.alias_type);
|
|
382
|
+
const aliasType = Number(at.alias_type);
|
|
383
|
+
if (aliasType === 0 || aliasType === 1 || aliasType === 2) {
|
|
384
|
+
tmpW.writeVarInt(at.token_alias ?? 0n);
|
|
385
|
+
}
|
|
386
|
+
if (aliasType === 1 || aliasType === 3) {
|
|
387
|
+
tmpW.writeVarInt(at.token_type ?? 0n);
|
|
388
|
+
const tokenBytes = textEncoder.encode(at.token_value ?? "");
|
|
389
|
+
tmpW.writeBytes(tokenBytes);
|
|
390
|
+
}
|
|
391
|
+
const raw = tmpW.finish();
|
|
392
|
+
w.writeVarInt(raw.byteLength);
|
|
393
|
+
w.writeBytes(raw);
|
|
394
|
+
}
|
|
395
|
+
function decodeAuthorizationToken(r, length) {
|
|
396
|
+
const startOff = r.offset;
|
|
397
|
+
const alias_type = r.readVarInt();
|
|
398
|
+
const aliasType = Number(alias_type);
|
|
399
|
+
const result = { alias_type };
|
|
400
|
+
if (aliasType === 0 || aliasType === 1 || aliasType === 2) {
|
|
401
|
+
result.token_alias = r.readVarInt();
|
|
402
|
+
}
|
|
403
|
+
if (aliasType === 1 || aliasType === 3) {
|
|
404
|
+
result.token_type = r.readVarInt();
|
|
405
|
+
const tokenBytesLen = length - (r.offset - startOff);
|
|
406
|
+
const tokenBytes = r.readBytes(tokenBytesLen);
|
|
407
|
+
result.token_value = textDecoder.decode(tokenBytes);
|
|
408
|
+
}
|
|
409
|
+
return result;
|
|
410
|
+
}
|
|
336
411
|
function encodeSetupParams(params, w) {
|
|
337
412
|
let count = 0;
|
|
338
413
|
if (params.path !== void 0) count++;
|
|
339
414
|
if (params.max_request_id !== void 0) count++;
|
|
415
|
+
if (params.authorization_token !== void 0) count++;
|
|
416
|
+
if (params.max_auth_token_cache_size !== void 0) count++;
|
|
340
417
|
if (params.unknown) count += params.unknown.length;
|
|
341
418
|
w.writeVarInt(count);
|
|
342
419
|
if (params.path !== void 0) {
|
|
@@ -349,6 +426,14 @@ function encodeSetupParams(params, w) {
|
|
|
349
426
|
w.writeVarInt(SETUP_PARAM_MAX_REQUEST_ID);
|
|
350
427
|
w.writeVarInt(params.max_request_id);
|
|
351
428
|
}
|
|
429
|
+
if (params.authorization_token !== void 0) {
|
|
430
|
+
w.writeVarInt(SETUP_PARAM_AUTHORIZATION_TOKEN);
|
|
431
|
+
encodeAuthorizationToken(params.authorization_token, w);
|
|
432
|
+
}
|
|
433
|
+
if (params.max_auth_token_cache_size !== void 0) {
|
|
434
|
+
w.writeVarInt(SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE);
|
|
435
|
+
w.writeVarInt(params.max_auth_token_cache_size);
|
|
436
|
+
}
|
|
352
437
|
if (params.unknown) {
|
|
353
438
|
for (const u of params.unknown) {
|
|
354
439
|
const id = BigInt(u.id);
|
|
@@ -375,6 +460,8 @@ function decodeSetupParams(r) {
|
|
|
375
460
|
const value = r.readVarInt();
|
|
376
461
|
if (paramType === SETUP_PARAM_MAX_REQUEST_ID) {
|
|
377
462
|
result.max_request_id = value;
|
|
463
|
+
} else if (paramType === SETUP_PARAM_MAX_AUTH_TOKEN_CACHE_SIZE) {
|
|
464
|
+
result.max_auth_token_cache_size = value;
|
|
378
465
|
} else {
|
|
379
466
|
const tmpW = new BufferWriter(16);
|
|
380
467
|
tmpW.writeVarInt(value);
|
|
@@ -387,11 +474,18 @@ function decodeSetupParams(r) {
|
|
|
387
474
|
}
|
|
388
475
|
} else {
|
|
389
476
|
const length = Number(r.readVarInt());
|
|
390
|
-
const bytes = r.readBytes(length);
|
|
391
477
|
if (paramType === SETUP_PARAM_PATH) {
|
|
478
|
+
const bytes = r.readBytes(length);
|
|
392
479
|
result.path = textDecoder.decode(bytes);
|
|
480
|
+
} else if (paramType === SETUP_PARAM_AUTHORIZATION_TOKEN) {
|
|
481
|
+
result.authorization_token = decodeAuthorizationToken(r, length);
|
|
393
482
|
} else {
|
|
394
|
-
|
|
483
|
+
const bytes = r.readBytes(length);
|
|
484
|
+
unknown.push({
|
|
485
|
+
id: `0x${paramType.toString(16)}`,
|
|
486
|
+
length,
|
|
487
|
+
raw_hex: bytesToHex(bytes)
|
|
488
|
+
});
|
|
395
489
|
}
|
|
396
490
|
}
|
|
397
491
|
}
|
|
@@ -400,28 +494,21 @@ function decodeSetupParams(r) {
|
|
|
400
494
|
}
|
|
401
495
|
function encodeParams(params, w) {
|
|
402
496
|
let count = params.unknown ? params.unknown.length : 0;
|
|
403
|
-
if (params.authorization_token !== void 0) count++;
|
|
404
497
|
if (params.delivery_timeout !== void 0) count++;
|
|
498
|
+
if (params.authorization_token !== void 0) count++;
|
|
499
|
+
if (params.max_cache_duration !== void 0) count++;
|
|
405
500
|
w.writeVarInt(count);
|
|
501
|
+
if (params.delivery_timeout !== void 0) {
|
|
502
|
+
w.writeVarInt(PARAM_DELIVERY_TIMEOUT);
|
|
503
|
+
w.writeVarInt(params.delivery_timeout);
|
|
504
|
+
}
|
|
406
505
|
if (params.authorization_token !== void 0) {
|
|
407
506
|
w.writeVarInt(PARAM_AUTHORIZATION_TOKEN);
|
|
408
|
-
|
|
409
|
-
const tmpW = new BufferWriter(64);
|
|
410
|
-
tmpW.writeVarInt(at.alias_type);
|
|
411
|
-
tmpW.writeVarInt(at.token_type);
|
|
412
|
-
const tokenBytes = textEncoder.encode(at.token_value);
|
|
413
|
-
tmpW.writeBytes(tokenBytes);
|
|
414
|
-
const raw = tmpW.finish();
|
|
415
|
-
w.writeVarInt(raw.byteLength);
|
|
416
|
-
w.writeBytes(raw);
|
|
507
|
+
encodeAuthorizationToken(params.authorization_token, w);
|
|
417
508
|
}
|
|
418
|
-
if (params.
|
|
419
|
-
w.writeVarInt(
|
|
420
|
-
|
|
421
|
-
tmpW.writeVarInt(params.delivery_timeout);
|
|
422
|
-
const raw = tmpW.finish();
|
|
423
|
-
w.writeVarInt(raw.byteLength);
|
|
424
|
-
w.writeBytes(raw);
|
|
509
|
+
if (params.max_cache_duration !== void 0) {
|
|
510
|
+
w.writeVarInt(PARAM_MAX_CACHE_DURATION);
|
|
511
|
+
w.writeVarInt(params.max_cache_duration);
|
|
425
512
|
}
|
|
426
513
|
if (params.unknown) {
|
|
427
514
|
for (const u of params.unknown) {
|
|
@@ -447,34 +534,31 @@ function decodeParams(r) {
|
|
|
447
534
|
const paramType = r.readVarInt();
|
|
448
535
|
if (paramType % 2n === 0n) {
|
|
449
536
|
const value = r.readVarInt();
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
537
|
+
if (paramType === PARAM_DELIVERY_TIMEOUT) {
|
|
538
|
+
result.delivery_timeout = value;
|
|
539
|
+
} else if (paramType === PARAM_MAX_CACHE_DURATION) {
|
|
540
|
+
result.max_cache_duration = value;
|
|
541
|
+
} else {
|
|
542
|
+
const tmpW = new BufferWriter(16);
|
|
543
|
+
tmpW.writeVarInt(value);
|
|
544
|
+
const raw = tmpW.finish();
|
|
545
|
+
unknown.push({
|
|
546
|
+
id: `0x${paramType.toString(16)}`,
|
|
547
|
+
length: raw.byteLength,
|
|
548
|
+
raw_hex: bytesToHex(raw)
|
|
549
|
+
});
|
|
550
|
+
}
|
|
458
551
|
} else {
|
|
459
552
|
const length = Number(r.readVarInt());
|
|
460
|
-
const startOff = r.offset;
|
|
461
553
|
if (paramType === PARAM_AUTHORIZATION_TOKEN) {
|
|
462
|
-
|
|
463
|
-
const token_type = r.readVarInt();
|
|
464
|
-
const tokenBytesLen = length - (r.offset - startOff);
|
|
465
|
-
const tokenBytes = r.readBytes(tokenBytesLen);
|
|
466
|
-
result.authorization_token = {
|
|
467
|
-
alias_type,
|
|
468
|
-
token_type,
|
|
469
|
-
token_value: textDecoder.decode(tokenBytes)
|
|
470
|
-
};
|
|
471
|
-
} else if (paramType === PARAM_DELIVERY_TIMEOUT) {
|
|
472
|
-
const blob = r.readBytes(length);
|
|
473
|
-
const tmpReader = new BufferReader(blob);
|
|
474
|
-
result.delivery_timeout = tmpReader.readVarInt();
|
|
554
|
+
result.authorization_token = decodeAuthorizationToken(r, length);
|
|
475
555
|
} else {
|
|
476
556
|
const bytes = r.readBytes(length);
|
|
477
|
-
unknown.push({
|
|
557
|
+
unknown.push({
|
|
558
|
+
id: `0x${paramType.toString(16)}`,
|
|
559
|
+
length,
|
|
560
|
+
raw_hex: bytesToHex(bytes)
|
|
561
|
+
});
|
|
478
562
|
}
|
|
479
563
|
}
|
|
480
564
|
}
|
|
@@ -495,7 +579,7 @@ function encodeSubscribePayload(msg, w) {
|
|
|
495
579
|
w.writeTuple(msg.track_namespace);
|
|
496
580
|
w.writeString(msg.track_name);
|
|
497
581
|
w.writeUint8(msg.subscriber_priority);
|
|
498
|
-
w.
|
|
582
|
+
w.writeUint8(msg.group_order);
|
|
499
583
|
w.writeVarInt(msg.forward);
|
|
500
584
|
w.writeVarInt(msg.filter_type);
|
|
501
585
|
const ft = Number(msg.filter_type);
|
|
@@ -512,7 +596,7 @@ function encodeSubscribeOkPayload(msg, w) {
|
|
|
512
596
|
w.writeVarInt(msg.request_id);
|
|
513
597
|
w.writeVarInt(msg.track_alias);
|
|
514
598
|
w.writeVarInt(msg.expires);
|
|
515
|
-
w.
|
|
599
|
+
w.writeUint8(msg.group_order);
|
|
516
600
|
w.writeVarInt(msg.content_exists);
|
|
517
601
|
if (msg.content_exists === 1n && msg.largest_location) {
|
|
518
602
|
w.writeVarInt(msg.largest_location.group);
|
|
@@ -585,7 +669,7 @@ function encodePublishPayload(msg, w) {
|
|
|
585
669
|
w.writeTuple(msg.track_namespace);
|
|
586
670
|
w.writeString(msg.track_name);
|
|
587
671
|
w.writeVarInt(msg.track_alias);
|
|
588
|
-
w.
|
|
672
|
+
w.writeUint8(msg.group_order);
|
|
589
673
|
w.writeVarInt(msg.content_exists);
|
|
590
674
|
if (msg.content_exists === 1n && msg.largest_location) {
|
|
591
675
|
w.writeVarInt(msg.largest_location.group);
|
|
@@ -598,7 +682,7 @@ function encodePublishOkPayload(msg, w) {
|
|
|
598
682
|
w.writeVarInt(msg.request_id);
|
|
599
683
|
w.writeVarInt(msg.forward);
|
|
600
684
|
w.writeUint8(msg.subscriber_priority);
|
|
601
|
-
w.
|
|
685
|
+
w.writeUint8(msg.group_order);
|
|
602
686
|
w.writeVarInt(msg.filter_type);
|
|
603
687
|
const ft = Number(msg.filter_type);
|
|
604
688
|
if (ft === 3 || ft === 4) {
|
|
@@ -618,7 +702,7 @@ function encodePublishErrorPayload(msg, w) {
|
|
|
618
702
|
function encodeFetchPayload(msg, w) {
|
|
619
703
|
w.writeVarInt(msg.request_id);
|
|
620
704
|
w.writeUint8(msg.subscriber_priority);
|
|
621
|
-
w.
|
|
705
|
+
w.writeUint8(msg.group_order);
|
|
622
706
|
w.writeVarInt(msg.fetch_type);
|
|
623
707
|
const ft = Number(msg.fetch_type);
|
|
624
708
|
if (ft === 1 && msg.standalone) {
|
|
@@ -636,7 +720,7 @@ function encodeFetchPayload(msg, w) {
|
|
|
636
720
|
}
|
|
637
721
|
function encodeFetchOkPayload(msg, w) {
|
|
638
722
|
w.writeVarInt(msg.request_id);
|
|
639
|
-
w.
|
|
723
|
+
w.writeUint8(msg.group_order);
|
|
640
724
|
w.writeVarInt(msg.end_of_track);
|
|
641
725
|
w.writeVarInt(msg.end_location.group);
|
|
642
726
|
w.writeVarInt(msg.end_location.object);
|
|
@@ -655,7 +739,7 @@ function encodeTrackStatusPayload(msg, w) {
|
|
|
655
739
|
w.writeTuple(msg.track_namespace);
|
|
656
740
|
w.writeString(msg.track_name);
|
|
657
741
|
w.writeUint8(msg.subscriber_priority);
|
|
658
|
-
w.
|
|
742
|
+
w.writeUint8(msg.group_order);
|
|
659
743
|
w.writeVarInt(msg.forward);
|
|
660
744
|
w.writeVarInt(msg.filter_type);
|
|
661
745
|
const ft = Number(msg.filter_type);
|
|
@@ -672,7 +756,7 @@ function encodeTrackStatusOkPayload(msg, w) {
|
|
|
672
756
|
w.writeVarInt(msg.request_id);
|
|
673
757
|
w.writeVarInt(msg.track_alias);
|
|
674
758
|
w.writeVarInt(msg.expires);
|
|
675
|
-
w.
|
|
759
|
+
w.writeUint8(msg.group_order);
|
|
676
760
|
w.writeVarInt(msg.content_exists);
|
|
677
761
|
if (msg.content_exists === 1n && msg.largest_location) {
|
|
678
762
|
w.writeVarInt(msg.largest_location.group);
|
|
@@ -714,7 +798,7 @@ function decodeSubscribePayload(r) {
|
|
|
714
798
|
const track_namespace = r.readTuple();
|
|
715
799
|
const track_name = r.readString();
|
|
716
800
|
const subscriber_priority = r.readUint8();
|
|
717
|
-
const group_order = r.
|
|
801
|
+
const group_order = r.readUint8();
|
|
718
802
|
const forward = r.readVarInt();
|
|
719
803
|
const filter_type = r.readVarInt();
|
|
720
804
|
const ft = Number(filter_type);
|
|
@@ -752,7 +836,7 @@ function decodeSubscribeOkPayload(r) {
|
|
|
752
836
|
const request_id = r.readVarInt();
|
|
753
837
|
const track_alias = r.readVarInt();
|
|
754
838
|
const expires = r.readVarInt();
|
|
755
|
-
const group_order = r.
|
|
839
|
+
const group_order = r.readUint8();
|
|
756
840
|
const content_exists = r.readVarInt();
|
|
757
841
|
let largest_location;
|
|
758
842
|
if (content_exists === 1n) {
|
|
@@ -803,7 +887,13 @@ function decodeSubscribeDonePayload(r) {
|
|
|
803
887
|
const status_code = r.readVarInt();
|
|
804
888
|
const stream_count = r.readVarInt();
|
|
805
889
|
const reason_phrase = r.readString();
|
|
806
|
-
return {
|
|
890
|
+
return {
|
|
891
|
+
type: "subscribe_done",
|
|
892
|
+
request_id,
|
|
893
|
+
status_code,
|
|
894
|
+
stream_count,
|
|
895
|
+
reason_phrase
|
|
896
|
+
};
|
|
807
897
|
}
|
|
808
898
|
function decodeUnsubscribePayload(r) {
|
|
809
899
|
const request_id = r.readVarInt();
|
|
@@ -839,7 +929,12 @@ function decodeSubscribeNamespacePayload(r) {
|
|
|
839
929
|
const request_id = r.readVarInt();
|
|
840
930
|
const track_namespace_prefix = r.readTuple();
|
|
841
931
|
const parameters = decodeParams(r);
|
|
842
|
-
return {
|
|
932
|
+
return {
|
|
933
|
+
type: "subscribe_namespace",
|
|
934
|
+
request_id,
|
|
935
|
+
track_namespace_prefix,
|
|
936
|
+
parameters
|
|
937
|
+
};
|
|
843
938
|
}
|
|
844
939
|
function decodeSubscribeNamespaceOkPayload(r) {
|
|
845
940
|
const request_id = r.readVarInt();
|
|
@@ -849,7 +944,12 @@ function decodeSubscribeNamespaceErrorPayload(r) {
|
|
|
849
944
|
const request_id = r.readVarInt();
|
|
850
945
|
const error_code = r.readVarInt();
|
|
851
946
|
const reason_phrase = r.readString();
|
|
852
|
-
return {
|
|
947
|
+
return {
|
|
948
|
+
type: "subscribe_namespace_error",
|
|
949
|
+
request_id,
|
|
950
|
+
error_code,
|
|
951
|
+
reason_phrase
|
|
952
|
+
};
|
|
853
953
|
}
|
|
854
954
|
function decodeUnsubscribeNamespacePayload(r) {
|
|
855
955
|
const track_namespace_prefix = r.readTuple();
|
|
@@ -860,7 +960,7 @@ function decodePublishPayload(r) {
|
|
|
860
960
|
const track_namespace = r.readTuple();
|
|
861
961
|
const track_name = r.readString();
|
|
862
962
|
const track_alias = r.readVarInt();
|
|
863
|
-
const group_order = r.
|
|
963
|
+
const group_order = r.readUint8();
|
|
864
964
|
const content_exists = r.readVarInt();
|
|
865
965
|
let largest_location;
|
|
866
966
|
if (content_exists === 1n) {
|
|
@@ -888,7 +988,7 @@ function decodePublishOkPayload(r) {
|
|
|
888
988
|
const request_id = r.readVarInt();
|
|
889
989
|
const forward = r.readVarInt();
|
|
890
990
|
const subscriber_priority = r.readUint8();
|
|
891
|
-
const group_order = r.
|
|
991
|
+
const group_order = r.readUint8();
|
|
892
992
|
const filter_type = r.readVarInt();
|
|
893
993
|
const ft = Number(filter_type);
|
|
894
994
|
let start_group;
|
|
@@ -925,7 +1025,7 @@ function decodePublishErrorPayload(r) {
|
|
|
925
1025
|
function decodeFetchPayload(r) {
|
|
926
1026
|
const request_id = r.readVarInt();
|
|
927
1027
|
const subscriber_priority = r.readUint8();
|
|
928
|
-
const group_order = r.
|
|
1028
|
+
const group_order = r.readUint8();
|
|
929
1029
|
const fetch_type = r.readVarInt();
|
|
930
1030
|
const ft = Number(fetch_type);
|
|
931
1031
|
if (ft < 1 || ft > 3) {
|
|
@@ -940,7 +1040,14 @@ function decodeFetchPayload(r) {
|
|
|
940
1040
|
const start_object = r.readVarInt();
|
|
941
1041
|
const end_group = r.readVarInt();
|
|
942
1042
|
const end_object = r.readVarInt();
|
|
943
|
-
standalone = {
|
|
1043
|
+
standalone = {
|
|
1044
|
+
track_namespace,
|
|
1045
|
+
track_name,
|
|
1046
|
+
start_group,
|
|
1047
|
+
start_object,
|
|
1048
|
+
end_group,
|
|
1049
|
+
end_object
|
|
1050
|
+
};
|
|
944
1051
|
} else {
|
|
945
1052
|
const joining_subscribe_id = r.readVarInt();
|
|
946
1053
|
const joining_start = r.readVarInt();
|
|
@@ -960,7 +1067,7 @@ function decodeFetchPayload(r) {
|
|
|
960
1067
|
}
|
|
961
1068
|
function decodeFetchOkPayload(r) {
|
|
962
1069
|
const request_id = r.readVarInt();
|
|
963
|
-
const group_order = r.
|
|
1070
|
+
const group_order = r.readUint8();
|
|
964
1071
|
const end_of_track = r.readVarInt();
|
|
965
1072
|
const group = r.readVarInt();
|
|
966
1073
|
const object = r.readVarInt();
|
|
@@ -989,7 +1096,7 @@ function decodeTrackStatusPayload(r) {
|
|
|
989
1096
|
const track_namespace = r.readTuple();
|
|
990
1097
|
const track_name = r.readString();
|
|
991
1098
|
const subscriber_priority = r.readUint8();
|
|
992
|
-
const group_order = r.
|
|
1099
|
+
const group_order = r.readUint8();
|
|
993
1100
|
const forward = r.readVarInt();
|
|
994
1101
|
const filter_type = r.readVarInt();
|
|
995
1102
|
const ft = Number(filter_type);
|
|
@@ -1027,7 +1134,7 @@ function decodeTrackStatusOkPayload(r) {
|
|
|
1027
1134
|
const request_id = r.readVarInt();
|
|
1028
1135
|
const track_alias = r.readVarInt();
|
|
1029
1136
|
const expires = r.readVarInt();
|
|
1030
|
-
const group_order = r.
|
|
1137
|
+
const group_order = r.readUint8();
|
|
1031
1138
|
const content_exists = r.readVarInt();
|
|
1032
1139
|
let largest_location;
|
|
1033
1140
|
if (content_exists === 1n) {
|
|
@@ -1241,7 +1348,7 @@ function createStreamDecoder() {
|
|
|
1241
1348
|
}
|
|
1242
1349
|
function createDraft13Codec() {
|
|
1243
1350
|
return {
|
|
1244
|
-
draft: "
|
|
1351
|
+
draft: "13",
|
|
1245
1352
|
encodeMessage,
|
|
1246
1353
|
decodeMessage,
|
|
1247
1354
|
encodeSubgroupStream,
|
|
@@ -1256,6 +1363,13 @@ function createDraft13Codec() {
|
|
|
1256
1363
|
}
|
|
1257
1364
|
|
|
1258
1365
|
export {
|
|
1366
|
+
encodeSubgroupStream,
|
|
1367
|
+
encodeDatagram,
|
|
1368
|
+
encodeFetchStream,
|
|
1369
|
+
decodeSubgroupStream,
|
|
1370
|
+
decodeDatagram,
|
|
1371
|
+
decodeFetchStream,
|
|
1372
|
+
decodeDataStream,
|
|
1259
1373
|
MSG_SUBSCRIBE_UPDATE,
|
|
1260
1374
|
MSG_SUBSCRIBE,
|
|
1261
1375
|
MSG_SUBSCRIBE_OK,
|
|
@@ -1288,18 +1402,11 @@ export {
|
|
|
1288
1402
|
MSG_SERVER_SETUP,
|
|
1289
1403
|
SETUP_PARAM_PATH,
|
|
1290
1404
|
SETUP_PARAM_MAX_REQUEST_ID,
|
|
1291
|
-
PARAM_AUTHORIZATION_TOKEN,
|
|
1292
1405
|
PARAM_DELIVERY_TIMEOUT,
|
|
1406
|
+
PARAM_AUTHORIZATION_TOKEN,
|
|
1293
1407
|
VARINT_FRAMED_MESSAGES,
|
|
1294
1408
|
MESSAGE_TYPE_MAP,
|
|
1295
1409
|
MESSAGE_ID_MAP,
|
|
1296
|
-
encodeSubgroupStream,
|
|
1297
|
-
encodeDatagram,
|
|
1298
|
-
encodeFetchStream,
|
|
1299
|
-
decodeSubgroupStream,
|
|
1300
|
-
decodeDatagram,
|
|
1301
|
-
decodeFetchStream,
|
|
1302
|
-
decodeDataStream,
|
|
1303
1410
|
encodeMessage,
|
|
1304
1411
|
decodeMessage,
|
|
1305
1412
|
createStreamDecoder,
|