@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,6 +1,8 @@
|
|
|
1
1
|
// Draft-17 codec entry point
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export const DRAFT_VERSION = 0xff000011n
|
|
4
|
+
|
|
5
|
+
export type { Draft17Codec } from './codec.js'
|
|
4
6
|
export {
|
|
5
7
|
createDataStreamDecoder,
|
|
6
8
|
createDraft17Codec,
|
|
@@ -16,7 +18,7 @@ export {
|
|
|
16
18
|
encodeFetchStream,
|
|
17
19
|
encodeMessage,
|
|
18
20
|
encodeSubgroupStream,
|
|
19
|
-
} from
|
|
21
|
+
} from './codec.js'
|
|
20
22
|
|
|
21
23
|
export {
|
|
22
24
|
MESSAGE_ID_MAP,
|
|
@@ -43,7 +45,7 @@ export {
|
|
|
43
45
|
SETUP_OPT_MAX_AUTH_TOKEN_CACHE_SIZE,
|
|
44
46
|
SETUP_OPT_MOQT_IMPLEMENTATION,
|
|
45
47
|
SETUP_OPT_PATH,
|
|
46
|
-
} from
|
|
48
|
+
} from './messages.js'
|
|
47
49
|
|
|
48
50
|
export {
|
|
49
51
|
BIDIRECTIONAL_MESSAGES,
|
|
@@ -52,15 +54,15 @@ export {
|
|
|
52
54
|
getLegalIncoming,
|
|
53
55
|
getLegalOutgoing,
|
|
54
56
|
SERVER_ONLY_MESSAGES,
|
|
55
|
-
} from
|
|
57
|
+
} from './rules.js'
|
|
56
58
|
export type {
|
|
57
59
|
ProtocolViolation,
|
|
58
60
|
SessionPhase,
|
|
59
61
|
SideEffect,
|
|
60
62
|
TransitionResult,
|
|
61
63
|
ValidationResult,
|
|
62
|
-
} from
|
|
63
|
-
export { createDraft17SessionState, Draft17SessionFSM } from
|
|
64
|
+
} from './session.js'
|
|
65
|
+
export { createDraft17SessionState, Draft17SessionFSM } from './session.js'
|
|
64
66
|
|
|
65
67
|
export type {
|
|
66
68
|
DatagramObject,
|
|
@@ -102,4 +104,4 @@ export type {
|
|
|
102
104
|
SubgroupStreamHeader,
|
|
103
105
|
SubscriptionFilter,
|
|
104
106
|
UnknownParam,
|
|
105
|
-
} from
|
|
107
|
+
} from './types.js'
|
|
@@ -1,53 +1,54 @@
|
|
|
1
1
|
// Draft-17 message type wire IDs
|
|
2
2
|
|
|
3
|
-
export const MSG_REQUEST_UPDATE = 0x02n
|
|
4
|
-
export const MSG_SUBSCRIBE = 0x03n
|
|
5
|
-
export const MSG_SUBSCRIBE_OK = 0x04n
|
|
6
|
-
export const MSG_REQUEST_ERROR = 0x05n
|
|
7
|
-
export const MSG_PUBLISH_NAMESPACE = 0x06n
|
|
8
|
-
export const MSG_REQUEST_OK = 0x07n
|
|
9
|
-
export const MSG_NAMESPACE = 0x08n
|
|
10
|
-
export const MSG_PUBLISH_DONE = 0x0bn
|
|
11
|
-
export const MSG_TRACK_STATUS = 0x0dn
|
|
12
|
-
export const MSG_NAMESPACE_DONE = 0x0en
|
|
13
|
-
export const MSG_PUBLISH_BLOCKED = 0x0fn
|
|
14
|
-
export const MSG_GOAWAY = 0x10n
|
|
15
|
-
export const MSG_SUBSCRIBE_NAMESPACE = 0x11n
|
|
16
|
-
export const MSG_FETCH = 0x16n
|
|
17
|
-
export const MSG_FETCH_OK = 0x18n
|
|
18
|
-
export const MSG_PUBLISH = 0x1dn
|
|
19
|
-
export const MSG_PUBLISH_OK = 0x1en
|
|
20
|
-
export const MSG_SETUP = 0x2f00n
|
|
3
|
+
export const MSG_REQUEST_UPDATE = 0x02n
|
|
4
|
+
export const MSG_SUBSCRIBE = 0x03n
|
|
5
|
+
export const MSG_SUBSCRIBE_OK = 0x04n
|
|
6
|
+
export const MSG_REQUEST_ERROR = 0x05n
|
|
7
|
+
export const MSG_PUBLISH_NAMESPACE = 0x06n
|
|
8
|
+
export const MSG_REQUEST_OK = 0x07n
|
|
9
|
+
export const MSG_NAMESPACE = 0x08n
|
|
10
|
+
export const MSG_PUBLISH_DONE = 0x0bn
|
|
11
|
+
export const MSG_TRACK_STATUS = 0x0dn
|
|
12
|
+
export const MSG_NAMESPACE_DONE = 0x0en
|
|
13
|
+
export const MSG_PUBLISH_BLOCKED = 0x0fn
|
|
14
|
+
export const MSG_GOAWAY = 0x10n
|
|
15
|
+
export const MSG_SUBSCRIBE_NAMESPACE = 0x11n
|
|
16
|
+
export const MSG_FETCH = 0x16n
|
|
17
|
+
export const MSG_FETCH_OK = 0x18n
|
|
18
|
+
export const MSG_PUBLISH = 0x1dn
|
|
19
|
+
export const MSG_PUBLISH_OK = 0x1en
|
|
20
|
+
export const MSG_SETUP = 0x2f00n
|
|
21
21
|
|
|
22
22
|
// Setup option type IDs (KVP encoding, constant across versions)
|
|
23
|
-
export const SETUP_OPT_PATH = 0x01n
|
|
24
|
-
export const
|
|
25
|
-
export const
|
|
26
|
-
export const
|
|
23
|
+
export const SETUP_OPT_PATH = 0x01n
|
|
24
|
+
export const SETUP_OPT_AUTHORIZATION_TOKEN = 0x03n
|
|
25
|
+
export const SETUP_OPT_MAX_AUTH_TOKEN_CACHE_SIZE = 0x04n
|
|
26
|
+
export const SETUP_OPT_AUTHORITY = 0x05n
|
|
27
|
+
export const SETUP_OPT_MOQT_IMPLEMENTATION = 0x07n
|
|
27
28
|
|
|
28
29
|
// Map from wire ID to message type name
|
|
29
30
|
export const MESSAGE_TYPE_MAP: ReadonlyMap<bigint, string> = new Map([
|
|
30
|
-
[MSG_SETUP,
|
|
31
|
-
[MSG_SUBSCRIBE,
|
|
32
|
-
[MSG_SUBSCRIBE_OK,
|
|
33
|
-
[MSG_REQUEST_UPDATE,
|
|
34
|
-
[MSG_PUBLISH,
|
|
35
|
-
[MSG_PUBLISH_OK,
|
|
36
|
-
[MSG_PUBLISH_DONE,
|
|
37
|
-
[MSG_PUBLISH_NAMESPACE,
|
|
38
|
-
[MSG_NAMESPACE,
|
|
39
|
-
[MSG_NAMESPACE_DONE,
|
|
40
|
-
[MSG_SUBSCRIBE_NAMESPACE,
|
|
41
|
-
[MSG_PUBLISH_BLOCKED,
|
|
42
|
-
[MSG_FETCH,
|
|
43
|
-
[MSG_FETCH_OK,
|
|
44
|
-
[MSG_TRACK_STATUS,
|
|
45
|
-
[MSG_REQUEST_OK,
|
|
46
|
-
[MSG_REQUEST_ERROR,
|
|
47
|
-
[MSG_GOAWAY,
|
|
48
|
-
])
|
|
31
|
+
[MSG_SETUP, 'setup'],
|
|
32
|
+
[MSG_SUBSCRIBE, 'subscribe'],
|
|
33
|
+
[MSG_SUBSCRIBE_OK, 'subscribe_ok'],
|
|
34
|
+
[MSG_REQUEST_UPDATE, 'request_update'],
|
|
35
|
+
[MSG_PUBLISH, 'publish'],
|
|
36
|
+
[MSG_PUBLISH_OK, 'publish_ok'],
|
|
37
|
+
[MSG_PUBLISH_DONE, 'publish_done'],
|
|
38
|
+
[MSG_PUBLISH_NAMESPACE, 'publish_namespace'],
|
|
39
|
+
[MSG_NAMESPACE, 'namespace'],
|
|
40
|
+
[MSG_NAMESPACE_DONE, 'namespace_done'],
|
|
41
|
+
[MSG_SUBSCRIBE_NAMESPACE, 'subscribe_namespace'],
|
|
42
|
+
[MSG_PUBLISH_BLOCKED, 'publish_blocked'],
|
|
43
|
+
[MSG_FETCH, 'fetch'],
|
|
44
|
+
[MSG_FETCH_OK, 'fetch_ok'],
|
|
45
|
+
[MSG_TRACK_STATUS, 'track_status'],
|
|
46
|
+
[MSG_REQUEST_OK, 'request_ok'],
|
|
47
|
+
[MSG_REQUEST_ERROR, 'request_error'],
|
|
48
|
+
[MSG_GOAWAY, 'goaway'],
|
|
49
|
+
])
|
|
49
50
|
|
|
50
51
|
// Reverse map from message type name to wire ID
|
|
51
52
|
export const MESSAGE_ID_MAP: ReadonlyMap<string, bigint> = new Map(
|
|
52
53
|
[...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id]),
|
|
53
|
-
)
|
|
54
|
+
)
|
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
import type { Draft17MessageType } from
|
|
1
|
+
import type { Draft17MessageType } from './types.js'
|
|
2
2
|
|
|
3
3
|
// All draft-17 control messages
|
|
4
4
|
export const CONTROL_MESSAGES: ReadonlySet<Draft17MessageType> = new Set([
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
])
|
|
5
|
+
'setup',
|
|
6
|
+
'subscribe',
|
|
7
|
+
'subscribe_ok',
|
|
8
|
+
'request_update',
|
|
9
|
+
'publish',
|
|
10
|
+
'publish_ok',
|
|
11
|
+
'publish_done',
|
|
12
|
+
'publish_namespace',
|
|
13
|
+
'namespace',
|
|
14
|
+
'namespace_done',
|
|
15
|
+
'subscribe_namespace',
|
|
16
|
+
'publish_blocked',
|
|
17
|
+
'fetch',
|
|
18
|
+
'fetch_ok',
|
|
19
|
+
'track_status',
|
|
20
|
+
'request_ok',
|
|
21
|
+
'request_error',
|
|
22
|
+
'goaway',
|
|
23
|
+
])
|
|
24
24
|
|
|
25
25
|
// Draft-17 has a single SETUP message — both roles can send it
|
|
26
|
-
export const CLIENT_ONLY_MESSAGES: ReadonlySet<Draft17MessageType> = new Set<Draft17MessageType>()
|
|
26
|
+
export const CLIENT_ONLY_MESSAGES: ReadonlySet<Draft17MessageType> = new Set<Draft17MessageType>()
|
|
27
27
|
|
|
28
|
-
export const SERVER_ONLY_MESSAGES: ReadonlySet<Draft17MessageType> = new Set<Draft17MessageType>()
|
|
28
|
+
export const SERVER_ONLY_MESSAGES: ReadonlySet<Draft17MessageType> = new Set<Draft17MessageType>()
|
|
29
29
|
|
|
30
30
|
// Messages that are bidirectional (both client and server can send)
|
|
31
31
|
export const BIDIRECTIONAL_MESSAGES: ReadonlySet<Draft17MessageType> = new Set([
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
])
|
|
32
|
+
'setup',
|
|
33
|
+
'subscribe',
|
|
34
|
+
'subscribe_ok',
|
|
35
|
+
'request_update',
|
|
36
|
+
'publish',
|
|
37
|
+
'publish_ok',
|
|
38
|
+
'publish_done',
|
|
39
|
+
'publish_namespace',
|
|
40
|
+
'namespace',
|
|
41
|
+
'namespace_done',
|
|
42
|
+
'subscribe_namespace',
|
|
43
|
+
'publish_blocked',
|
|
44
|
+
'fetch',
|
|
45
|
+
'fetch_ok',
|
|
46
|
+
'track_status',
|
|
47
|
+
'request_ok',
|
|
48
|
+
'request_error',
|
|
49
|
+
'goaway',
|
|
50
|
+
])
|
|
51
51
|
|
|
52
52
|
// Messages legal in each session phase
|
|
53
53
|
export function getLegalOutgoing(
|
|
54
54
|
phase: string,
|
|
55
|
-
_role:
|
|
55
|
+
_role: 'client' | 'server',
|
|
56
56
|
): Set<Draft17MessageType> {
|
|
57
|
-
const legal = new Set<Draft17MessageType>()
|
|
57
|
+
const legal = new Set<Draft17MessageType>()
|
|
58
58
|
|
|
59
59
|
switch (phase) {
|
|
60
|
-
case
|
|
61
|
-
legal.add(
|
|
62
|
-
break
|
|
63
|
-
case
|
|
64
|
-
legal.add(
|
|
65
|
-
break
|
|
66
|
-
case
|
|
60
|
+
case 'idle':
|
|
61
|
+
legal.add('setup')
|
|
62
|
+
break
|
|
63
|
+
case 'setup':
|
|
64
|
+
legal.add('setup')
|
|
65
|
+
break
|
|
66
|
+
case 'ready': {
|
|
67
67
|
for (const msg of BIDIRECTIONAL_MESSAGES) {
|
|
68
|
-
legal.add(msg)
|
|
68
|
+
legal.add(msg)
|
|
69
69
|
}
|
|
70
|
-
break
|
|
70
|
+
break
|
|
71
71
|
}
|
|
72
|
-
case
|
|
73
|
-
break
|
|
72
|
+
case 'draining':
|
|
73
|
+
break
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
return legal
|
|
76
|
+
return legal
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
export function getLegalIncoming(
|
|
80
80
|
phase: string,
|
|
81
|
-
role:
|
|
81
|
+
role: 'client' | 'server',
|
|
82
82
|
): Set<Draft17MessageType> {
|
|
83
|
-
const remoteRole = role ===
|
|
84
|
-
return getLegalOutgoing(phase, remoteRole)
|
|
83
|
+
const remoteRole = role === 'client' ? 'server' : 'client'
|
|
84
|
+
return getLegalOutgoing(phase, remoteRole)
|
|
85
85
|
}
|