@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,4 +1,6 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const DRAFT_VERSION = 0xff000008n
|
|
2
|
+
|
|
3
|
+
export type { Draft08Codec } from './codec.js'
|
|
2
4
|
export {
|
|
3
5
|
createDraft08Codec,
|
|
4
6
|
createStreamDecoder,
|
|
@@ -13,7 +15,7 @@ export {
|
|
|
13
15
|
encodeFetchStream,
|
|
14
16
|
encodeMessage,
|
|
15
17
|
encodeSubgroupStream,
|
|
16
|
-
} from
|
|
18
|
+
} from './codec.js'
|
|
17
19
|
export {
|
|
18
20
|
MESSAGE_ID_MAP,
|
|
19
21
|
MESSAGE_TYPE_MAP,
|
|
@@ -48,7 +50,7 @@ export {
|
|
|
48
50
|
PARAM_MAX_CACHE_DURATION,
|
|
49
51
|
SETUP_PARAM_MAX_SUBSCRIBE_ID,
|
|
50
52
|
SETUP_PARAM_PATH,
|
|
51
|
-
} from
|
|
53
|
+
} from './messages.js'
|
|
52
54
|
export {
|
|
53
55
|
BIDIRECTIONAL_MESSAGES,
|
|
54
56
|
CLIENT_ONLY_MESSAGES,
|
|
@@ -56,7 +58,7 @@ export {
|
|
|
56
58
|
getLegalIncoming,
|
|
57
59
|
getLegalOutgoing,
|
|
58
60
|
SERVER_ONLY_MESSAGES,
|
|
59
|
-
} from
|
|
61
|
+
} from './rules.js'
|
|
60
62
|
export type {
|
|
61
63
|
AnnouncePhase,
|
|
62
64
|
AnnounceState,
|
|
@@ -66,16 +68,15 @@ export type {
|
|
|
66
68
|
ProtocolViolationCode,
|
|
67
69
|
SessionPhase,
|
|
68
70
|
SessionState,
|
|
69
|
-
SessionStateOptions,
|
|
70
71
|
SideEffect,
|
|
71
72
|
SubscriptionPhase,
|
|
72
73
|
SubscriptionState,
|
|
73
74
|
TransitionResult,
|
|
74
75
|
ValidationResult,
|
|
75
|
-
} from
|
|
76
|
+
} from './session.js'
|
|
77
|
+
export { createDraft08SessionState } from './session.js'
|
|
76
78
|
// Session state machine
|
|
77
|
-
export {
|
|
78
|
-
export { Draft08SessionFSM } from "./session-fsm.js";
|
|
79
|
+
export { Draft08SessionFSM } from './session-fsm.js'
|
|
79
80
|
export type {
|
|
80
81
|
DatagramObject,
|
|
81
82
|
DatagramStatusObject,
|
|
@@ -122,4 +123,4 @@ export type {
|
|
|
122
123
|
SubgroupStream,
|
|
123
124
|
SubgroupStreamHeader,
|
|
124
125
|
UnknownParam,
|
|
125
|
-
} from
|
|
126
|
+
} from './types.js'
|
|
@@ -1,72 +1,72 @@
|
|
|
1
1
|
// Draft-08 message type wire IDs
|
|
2
2
|
|
|
3
|
-
export const MSG_SUBSCRIBE_UPDATE = 0x02n
|
|
4
|
-
export const MSG_SUBSCRIBE = 0x03n
|
|
5
|
-
export const MSG_SUBSCRIBE_OK = 0x04n
|
|
6
|
-
export const MSG_SUBSCRIBE_ERROR = 0x05n
|
|
7
|
-
export const MSG_ANNOUNCE = 0x06n
|
|
8
|
-
export const MSG_ANNOUNCE_OK = 0x07n
|
|
9
|
-
export const MSG_ANNOUNCE_ERROR = 0x08n
|
|
10
|
-
export const MSG_UNANNOUNCE = 0x09n
|
|
11
|
-
export const MSG_UNSUBSCRIBE = 0x0an
|
|
12
|
-
export const MSG_SUBSCRIBE_DONE = 0x0bn
|
|
13
|
-
export const MSG_ANNOUNCE_CANCEL = 0x0cn
|
|
14
|
-
export const MSG_TRACK_STATUS_REQUEST = 0x0dn
|
|
15
|
-
export const MSG_TRACK_STATUS = 0x0en
|
|
16
|
-
export const MSG_GOAWAY = 0x10n
|
|
17
|
-
export const MSG_SUBSCRIBE_ANNOUNCES = 0x11n
|
|
18
|
-
export const MSG_SUBSCRIBE_ANNOUNCES_OK = 0x12n
|
|
19
|
-
export const MSG_SUBSCRIBE_ANNOUNCES_ERROR = 0x13n
|
|
20
|
-
export const MSG_UNSUBSCRIBE_ANNOUNCES = 0x14n
|
|
21
|
-
export const MSG_MAX_SUBSCRIBE_ID = 0x15n
|
|
22
|
-
export const MSG_FETCH = 0x16n
|
|
23
|
-
export const MSG_FETCH_CANCEL = 0x17n
|
|
24
|
-
export const MSG_FETCH_OK = 0x18n
|
|
25
|
-
export const MSG_FETCH_ERROR = 0x19n
|
|
26
|
-
export const MSG_SUBSCRIBES_BLOCKED = 0x1an
|
|
27
|
-
export const MSG_CLIENT_SETUP = 0x40n
|
|
28
|
-
export const MSG_SERVER_SETUP = 0x41n
|
|
3
|
+
export const MSG_SUBSCRIBE_UPDATE = 0x02n
|
|
4
|
+
export const MSG_SUBSCRIBE = 0x03n
|
|
5
|
+
export const MSG_SUBSCRIBE_OK = 0x04n
|
|
6
|
+
export const MSG_SUBSCRIBE_ERROR = 0x05n
|
|
7
|
+
export const MSG_ANNOUNCE = 0x06n
|
|
8
|
+
export const MSG_ANNOUNCE_OK = 0x07n
|
|
9
|
+
export const MSG_ANNOUNCE_ERROR = 0x08n
|
|
10
|
+
export const MSG_UNANNOUNCE = 0x09n
|
|
11
|
+
export const MSG_UNSUBSCRIBE = 0x0an
|
|
12
|
+
export const MSG_SUBSCRIBE_DONE = 0x0bn
|
|
13
|
+
export const MSG_ANNOUNCE_CANCEL = 0x0cn
|
|
14
|
+
export const MSG_TRACK_STATUS_REQUEST = 0x0dn
|
|
15
|
+
export const MSG_TRACK_STATUS = 0x0en
|
|
16
|
+
export const MSG_GOAWAY = 0x10n
|
|
17
|
+
export const MSG_SUBSCRIBE_ANNOUNCES = 0x11n
|
|
18
|
+
export const MSG_SUBSCRIBE_ANNOUNCES_OK = 0x12n
|
|
19
|
+
export const MSG_SUBSCRIBE_ANNOUNCES_ERROR = 0x13n
|
|
20
|
+
export const MSG_UNSUBSCRIBE_ANNOUNCES = 0x14n
|
|
21
|
+
export const MSG_MAX_SUBSCRIBE_ID = 0x15n
|
|
22
|
+
export const MSG_FETCH = 0x16n
|
|
23
|
+
export const MSG_FETCH_CANCEL = 0x17n
|
|
24
|
+
export const MSG_FETCH_OK = 0x18n
|
|
25
|
+
export const MSG_FETCH_ERROR = 0x19n
|
|
26
|
+
export const MSG_SUBSCRIBES_BLOCKED = 0x1an
|
|
27
|
+
export const MSG_CLIENT_SETUP = 0x40n
|
|
28
|
+
export const MSG_SERVER_SETUP = 0x41n
|
|
29
29
|
|
|
30
30
|
// Setup parameter type IDs
|
|
31
|
-
export const SETUP_PARAM_PATH = 0x01n
|
|
32
|
-
export const SETUP_PARAM_MAX_SUBSCRIBE_ID = 0x02n
|
|
31
|
+
export const SETUP_PARAM_PATH = 0x01n
|
|
32
|
+
export const SETUP_PARAM_MAX_SUBSCRIBE_ID = 0x02n
|
|
33
33
|
|
|
34
34
|
// Version-specific parameter type IDs
|
|
35
|
-
export const PARAM_AUTHORIZATION_INFO = 0x02n
|
|
36
|
-
export const PARAM_DELIVERY_TIMEOUT = 0x03n
|
|
37
|
-
export const PARAM_MAX_CACHE_DURATION = 0x04n
|
|
35
|
+
export const PARAM_AUTHORIZATION_INFO = 0x02n
|
|
36
|
+
export const PARAM_DELIVERY_TIMEOUT = 0x03n
|
|
37
|
+
export const PARAM_MAX_CACHE_DURATION = 0x04n
|
|
38
38
|
|
|
39
39
|
// Map from wire ID to message type name
|
|
40
40
|
export const MESSAGE_TYPE_MAP: ReadonlyMap<bigint, string> = new Map([
|
|
41
|
-
[MSG_CLIENT_SETUP,
|
|
42
|
-
[MSG_SERVER_SETUP,
|
|
43
|
-
[MSG_SUBSCRIBE,
|
|
44
|
-
[MSG_SUBSCRIBE_OK,
|
|
45
|
-
[MSG_SUBSCRIBE_ERROR,
|
|
46
|
-
[MSG_SUBSCRIBE_UPDATE,
|
|
47
|
-
[MSG_SUBSCRIBE_DONE,
|
|
48
|
-
[MSG_UNSUBSCRIBE,
|
|
49
|
-
[MSG_ANNOUNCE,
|
|
50
|
-
[MSG_ANNOUNCE_OK,
|
|
51
|
-
[MSG_ANNOUNCE_ERROR,
|
|
52
|
-
[MSG_UNANNOUNCE,
|
|
53
|
-
[MSG_ANNOUNCE_CANCEL,
|
|
54
|
-
[MSG_SUBSCRIBE_ANNOUNCES,
|
|
55
|
-
[MSG_SUBSCRIBE_ANNOUNCES_OK,
|
|
56
|
-
[MSG_SUBSCRIBE_ANNOUNCES_ERROR,
|
|
57
|
-
[MSG_UNSUBSCRIBE_ANNOUNCES,
|
|
58
|
-
[MSG_FETCH,
|
|
59
|
-
[MSG_FETCH_OK,
|
|
60
|
-
[MSG_FETCH_ERROR,
|
|
61
|
-
[MSG_FETCH_CANCEL,
|
|
62
|
-
[MSG_TRACK_STATUS_REQUEST,
|
|
63
|
-
[MSG_TRACK_STATUS,
|
|
64
|
-
[MSG_GOAWAY,
|
|
65
|
-
[MSG_MAX_SUBSCRIBE_ID,
|
|
66
|
-
[MSG_SUBSCRIBES_BLOCKED,
|
|
67
|
-
])
|
|
41
|
+
[MSG_CLIENT_SETUP, 'client_setup'],
|
|
42
|
+
[MSG_SERVER_SETUP, 'server_setup'],
|
|
43
|
+
[MSG_SUBSCRIBE, 'subscribe'],
|
|
44
|
+
[MSG_SUBSCRIBE_OK, 'subscribe_ok'],
|
|
45
|
+
[MSG_SUBSCRIBE_ERROR, 'subscribe_error'],
|
|
46
|
+
[MSG_SUBSCRIBE_UPDATE, 'subscribe_update'],
|
|
47
|
+
[MSG_SUBSCRIBE_DONE, 'subscribe_done'],
|
|
48
|
+
[MSG_UNSUBSCRIBE, 'unsubscribe'],
|
|
49
|
+
[MSG_ANNOUNCE, 'announce'],
|
|
50
|
+
[MSG_ANNOUNCE_OK, 'announce_ok'],
|
|
51
|
+
[MSG_ANNOUNCE_ERROR, 'announce_error'],
|
|
52
|
+
[MSG_UNANNOUNCE, 'unannounce'],
|
|
53
|
+
[MSG_ANNOUNCE_CANCEL, 'announce_cancel'],
|
|
54
|
+
[MSG_SUBSCRIBE_ANNOUNCES, 'subscribe_announces'],
|
|
55
|
+
[MSG_SUBSCRIBE_ANNOUNCES_OK, 'subscribe_announces_ok'],
|
|
56
|
+
[MSG_SUBSCRIBE_ANNOUNCES_ERROR, 'subscribe_announces_error'],
|
|
57
|
+
[MSG_UNSUBSCRIBE_ANNOUNCES, 'unsubscribe_announces'],
|
|
58
|
+
[MSG_FETCH, 'fetch'],
|
|
59
|
+
[MSG_FETCH_OK, 'fetch_ok'],
|
|
60
|
+
[MSG_FETCH_ERROR, 'fetch_error'],
|
|
61
|
+
[MSG_FETCH_CANCEL, 'fetch_cancel'],
|
|
62
|
+
[MSG_TRACK_STATUS_REQUEST, 'track_status_request'],
|
|
63
|
+
[MSG_TRACK_STATUS, 'track_status'],
|
|
64
|
+
[MSG_GOAWAY, 'goaway'],
|
|
65
|
+
[MSG_MAX_SUBSCRIBE_ID, 'max_subscribe_id'],
|
|
66
|
+
[MSG_SUBSCRIBES_BLOCKED, 'subscribes_blocked'],
|
|
67
|
+
])
|
|
68
68
|
|
|
69
69
|
// Reverse map
|
|
70
70
|
export const MESSAGE_ID_MAP: ReadonlyMap<string, bigint> = new Map(
|
|
71
71
|
[...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id]),
|
|
72
|
-
)
|
|
72
|
+
)
|
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
import type { Draft08MessageType } from
|
|
1
|
+
import type { Draft08MessageType } from './types.js'
|
|
2
2
|
|
|
3
3
|
// All draft-08 control messages
|
|
4
4
|
export const CONTROL_MESSAGES: ReadonlySet<Draft08MessageType> = new Set([
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
])
|
|
5
|
+
'client_setup',
|
|
6
|
+
'server_setup',
|
|
7
|
+
'subscribe',
|
|
8
|
+
'subscribe_ok',
|
|
9
|
+
'subscribe_error',
|
|
10
|
+
'subscribe_update',
|
|
11
|
+
'subscribe_done',
|
|
12
|
+
'unsubscribe',
|
|
13
|
+
'announce',
|
|
14
|
+
'announce_ok',
|
|
15
|
+
'announce_error',
|
|
16
|
+
'unannounce',
|
|
17
|
+
'announce_cancel',
|
|
18
|
+
'subscribe_announces',
|
|
19
|
+
'subscribe_announces_ok',
|
|
20
|
+
'subscribe_announces_error',
|
|
21
|
+
'unsubscribe_announces',
|
|
22
|
+
'fetch',
|
|
23
|
+
'fetch_ok',
|
|
24
|
+
'fetch_error',
|
|
25
|
+
'fetch_cancel',
|
|
26
|
+
'track_status_request',
|
|
27
|
+
'track_status',
|
|
28
|
+
'goaway',
|
|
29
|
+
'max_subscribe_id',
|
|
30
|
+
'subscribes_blocked',
|
|
31
|
+
])
|
|
32
32
|
|
|
33
|
-
export const CLIENT_ONLY_MESSAGES: ReadonlySet<Draft08MessageType> = new Set([
|
|
34
|
-
export const SERVER_ONLY_MESSAGES: ReadonlySet<Draft08MessageType> = new Set([
|
|
33
|
+
export const CLIENT_ONLY_MESSAGES: ReadonlySet<Draft08MessageType> = new Set(['client_setup'])
|
|
34
|
+
export const SERVER_ONLY_MESSAGES: ReadonlySet<Draft08MessageType> = new Set(['server_setup'])
|
|
35
35
|
|
|
36
36
|
export const BIDIRECTIONAL_MESSAGES: ReadonlySet<Draft08MessageType> = new Set([
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
])
|
|
37
|
+
'subscribe',
|
|
38
|
+
'subscribe_ok',
|
|
39
|
+
'subscribe_error',
|
|
40
|
+
'subscribe_update',
|
|
41
|
+
'subscribe_done',
|
|
42
|
+
'unsubscribe',
|
|
43
|
+
'announce',
|
|
44
|
+
'announce_ok',
|
|
45
|
+
'announce_error',
|
|
46
|
+
'unannounce',
|
|
47
|
+
'announce_cancel',
|
|
48
|
+
'subscribe_announces',
|
|
49
|
+
'subscribe_announces_ok',
|
|
50
|
+
'subscribe_announces_error',
|
|
51
|
+
'unsubscribe_announces',
|
|
52
|
+
'fetch',
|
|
53
|
+
'fetch_ok',
|
|
54
|
+
'fetch_error',
|
|
55
|
+
'fetch_cancel',
|
|
56
|
+
'track_status_request',
|
|
57
|
+
'track_status',
|
|
58
|
+
'goaway',
|
|
59
|
+
'max_subscribe_id',
|
|
60
|
+
'subscribes_blocked',
|
|
61
|
+
])
|
|
62
62
|
|
|
63
63
|
export function getLegalOutgoing(
|
|
64
64
|
phase: string,
|
|
65
|
-
role:
|
|
65
|
+
role: 'client' | 'server',
|
|
66
66
|
): Set<Draft08MessageType> {
|
|
67
|
-
const legal = new Set<Draft08MessageType>()
|
|
67
|
+
const legal = new Set<Draft08MessageType>()
|
|
68
68
|
switch (phase) {
|
|
69
|
-
case
|
|
70
|
-
if (role ===
|
|
71
|
-
break
|
|
72
|
-
case
|
|
73
|
-
if (role ===
|
|
74
|
-
break
|
|
75
|
-
case
|
|
76
|
-
legal.add(
|
|
77
|
-
for (const msg of BIDIRECTIONAL_MESSAGES) legal.add(msg)
|
|
78
|
-
break
|
|
79
|
-
case
|
|
80
|
-
break
|
|
69
|
+
case 'idle':
|
|
70
|
+
if (role === 'client') legal.add('client_setup')
|
|
71
|
+
break
|
|
72
|
+
case 'setup':
|
|
73
|
+
if (role === 'server') legal.add('server_setup')
|
|
74
|
+
break
|
|
75
|
+
case 'ready':
|
|
76
|
+
legal.add('goaway')
|
|
77
|
+
for (const msg of BIDIRECTIONAL_MESSAGES) legal.add(msg)
|
|
78
|
+
break
|
|
79
|
+
case 'draining':
|
|
80
|
+
break
|
|
81
81
|
}
|
|
82
|
-
return legal
|
|
82
|
+
return legal
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
export function getLegalIncoming(
|
|
86
86
|
phase: string,
|
|
87
|
-
role:
|
|
87
|
+
role: 'client' | 'server',
|
|
88
88
|
): Set<Draft08MessageType> {
|
|
89
|
-
const remoteRole = role ===
|
|
90
|
-
return getLegalOutgoing(phase, remoteRole)
|
|
89
|
+
const remoteRole = role === 'client' ? 'server' : 'client'
|
|
90
|
+
return getLegalOutgoing(phase, remoteRole)
|
|
91
91
|
}
|