@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,76 +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_REQUEST = 0x0dn;
|
|
24
|
-
var MSG_TRACK_STATUS = 0x0en;
|
|
25
|
-
var MSG_GOAWAY = 0x10n;
|
|
26
|
-
var MSG_SUBSCRIBE_ANNOUNCES = 0x11n;
|
|
27
|
-
var MSG_SUBSCRIBE_ANNOUNCES_OK = 0x12n;
|
|
28
|
-
var MSG_SUBSCRIBE_ANNOUNCES_ERROR = 0x13n;
|
|
29
|
-
var MSG_UNSUBSCRIBE_ANNOUNCES = 0x14n;
|
|
30
|
-
var MSG_MAX_SUBSCRIBE_ID = 0x15n;
|
|
31
|
-
var MSG_FETCH = 0x16n;
|
|
32
|
-
var MSG_FETCH_CANCEL = 0x17n;
|
|
33
|
-
var MSG_FETCH_OK = 0x18n;
|
|
34
|
-
var MSG_FETCH_ERROR = 0x19n;
|
|
35
|
-
var MSG_SUBSCRIBES_BLOCKED = 0x1an;
|
|
36
|
-
var MSG_CLIENT_SETUP = 0x40n;
|
|
37
|
-
var MSG_SERVER_SETUP = 0x41n;
|
|
38
|
-
var SETUP_PARAM_PATH = 0x01n;
|
|
39
|
-
var SETUP_PARAM_MAX_SUBSCRIBE_ID = 0x02n;
|
|
40
|
-
var PARAM_AUTHORIZATION_INFO = 0x02n;
|
|
41
|
-
var PARAM_DELIVERY_TIMEOUT = 0x03n;
|
|
42
|
-
var PARAM_MAX_CACHE_DURATION = 0x04n;
|
|
43
|
-
var MESSAGE_TYPE_MAP = /* @__PURE__ */ new Map([
|
|
44
|
-
[MSG_CLIENT_SETUP, "client_setup"],
|
|
45
|
-
[MSG_SERVER_SETUP, "server_setup"],
|
|
46
|
-
[MSG_SUBSCRIBE, "subscribe"],
|
|
47
|
-
[MSG_SUBSCRIBE_OK, "subscribe_ok"],
|
|
48
|
-
[MSG_SUBSCRIBE_ERROR, "subscribe_error"],
|
|
49
|
-
[MSG_SUBSCRIBE_UPDATE, "subscribe_update"],
|
|
50
|
-
[MSG_SUBSCRIBE_DONE, "subscribe_done"],
|
|
51
|
-
[MSG_UNSUBSCRIBE, "unsubscribe"],
|
|
52
|
-
[MSG_ANNOUNCE, "announce"],
|
|
53
|
-
[MSG_ANNOUNCE_OK, "announce_ok"],
|
|
54
|
-
[MSG_ANNOUNCE_ERROR, "announce_error"],
|
|
55
|
-
[MSG_UNANNOUNCE, "unannounce"],
|
|
56
|
-
[MSG_ANNOUNCE_CANCEL, "announce_cancel"],
|
|
57
|
-
[MSG_SUBSCRIBE_ANNOUNCES, "subscribe_announces"],
|
|
58
|
-
[MSG_SUBSCRIBE_ANNOUNCES_OK, "subscribe_announces_ok"],
|
|
59
|
-
[MSG_SUBSCRIBE_ANNOUNCES_ERROR, "subscribe_announces_error"],
|
|
60
|
-
[MSG_UNSUBSCRIBE_ANNOUNCES, "unsubscribe_announces"],
|
|
61
|
-
[MSG_FETCH, "fetch"],
|
|
62
|
-
[MSG_FETCH_OK, "fetch_ok"],
|
|
63
|
-
[MSG_FETCH_ERROR, "fetch_error"],
|
|
64
|
-
[MSG_FETCH_CANCEL, "fetch_cancel"],
|
|
65
|
-
[MSG_TRACK_STATUS_REQUEST, "track_status_request"],
|
|
66
|
-
[MSG_TRACK_STATUS, "track_status"],
|
|
67
|
-
[MSG_GOAWAY, "goaway"],
|
|
68
|
-
[MSG_MAX_SUBSCRIBE_ID, "max_subscribe_id"],
|
|
69
|
-
[MSG_SUBSCRIBES_BLOCKED, "subscribes_blocked"]
|
|
70
|
-
]);
|
|
71
|
-
var MESSAGE_ID_MAP = new Map(
|
|
72
|
-
[...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
|
|
73
|
-
);
|
|
4
|
+
DecodeError,
|
|
5
|
+
bytesToHex,
|
|
6
|
+
hexToBytes
|
|
7
|
+
} from "./chunk-VOU7PNHI.js";
|
|
74
8
|
|
|
75
9
|
// src/drafts/draft09/data-streams.ts
|
|
76
10
|
var SUBGROUP_STREAM_TYPE = 0x04n;
|
|
@@ -342,7 +276,11 @@ function decodeFetchStream(bytes) {
|
|
|
342
276
|
if (status !== void 0) obj.status = status;
|
|
343
277
|
objects.push(obj);
|
|
344
278
|
}
|
|
345
|
-
return {
|
|
279
|
+
return {
|
|
280
|
+
ok: true,
|
|
281
|
+
value: { type: "fetch", subscribeId, objects },
|
|
282
|
+
bytesRead: r.offset
|
|
283
|
+
};
|
|
346
284
|
} catch (e) {
|
|
347
285
|
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
348
286
|
throw e;
|
|
@@ -365,6 +303,70 @@ function decodeDataStream(streamType, bytes) {
|
|
|
365
303
|
}
|
|
366
304
|
}
|
|
367
305
|
|
|
306
|
+
// src/drafts/draft09/messages.ts
|
|
307
|
+
var MSG_SUBSCRIBE_UPDATE = 0x02n;
|
|
308
|
+
var MSG_SUBSCRIBE = 0x03n;
|
|
309
|
+
var MSG_SUBSCRIBE_OK = 0x04n;
|
|
310
|
+
var MSG_SUBSCRIBE_ERROR = 0x05n;
|
|
311
|
+
var MSG_ANNOUNCE = 0x06n;
|
|
312
|
+
var MSG_ANNOUNCE_OK = 0x07n;
|
|
313
|
+
var MSG_ANNOUNCE_ERROR = 0x08n;
|
|
314
|
+
var MSG_UNANNOUNCE = 0x09n;
|
|
315
|
+
var MSG_UNSUBSCRIBE = 0x0an;
|
|
316
|
+
var MSG_SUBSCRIBE_DONE = 0x0bn;
|
|
317
|
+
var MSG_ANNOUNCE_CANCEL = 0x0cn;
|
|
318
|
+
var MSG_TRACK_STATUS_REQUEST = 0x0dn;
|
|
319
|
+
var MSG_TRACK_STATUS = 0x0en;
|
|
320
|
+
var MSG_GOAWAY = 0x10n;
|
|
321
|
+
var MSG_SUBSCRIBE_ANNOUNCES = 0x11n;
|
|
322
|
+
var MSG_SUBSCRIBE_ANNOUNCES_OK = 0x12n;
|
|
323
|
+
var MSG_SUBSCRIBE_ANNOUNCES_ERROR = 0x13n;
|
|
324
|
+
var MSG_UNSUBSCRIBE_ANNOUNCES = 0x14n;
|
|
325
|
+
var MSG_MAX_SUBSCRIBE_ID = 0x15n;
|
|
326
|
+
var MSG_FETCH = 0x16n;
|
|
327
|
+
var MSG_FETCH_CANCEL = 0x17n;
|
|
328
|
+
var MSG_FETCH_OK = 0x18n;
|
|
329
|
+
var MSG_FETCH_ERROR = 0x19n;
|
|
330
|
+
var MSG_SUBSCRIBES_BLOCKED = 0x1an;
|
|
331
|
+
var MSG_CLIENT_SETUP = 0x40n;
|
|
332
|
+
var MSG_SERVER_SETUP = 0x41n;
|
|
333
|
+
var SETUP_PARAM_PATH = 0x01n;
|
|
334
|
+
var SETUP_PARAM_MAX_SUBSCRIBE_ID = 0x02n;
|
|
335
|
+
var PARAM_AUTHORIZATION_INFO = 0x02n;
|
|
336
|
+
var PARAM_DELIVERY_TIMEOUT = 0x03n;
|
|
337
|
+
var PARAM_MAX_CACHE_DURATION = 0x04n;
|
|
338
|
+
var MESSAGE_TYPE_MAP = /* @__PURE__ */ new Map([
|
|
339
|
+
[MSG_CLIENT_SETUP, "client_setup"],
|
|
340
|
+
[MSG_SERVER_SETUP, "server_setup"],
|
|
341
|
+
[MSG_SUBSCRIBE, "subscribe"],
|
|
342
|
+
[MSG_SUBSCRIBE_OK, "subscribe_ok"],
|
|
343
|
+
[MSG_SUBSCRIBE_ERROR, "subscribe_error"],
|
|
344
|
+
[MSG_SUBSCRIBE_UPDATE, "subscribe_update"],
|
|
345
|
+
[MSG_SUBSCRIBE_DONE, "subscribe_done"],
|
|
346
|
+
[MSG_UNSUBSCRIBE, "unsubscribe"],
|
|
347
|
+
[MSG_ANNOUNCE, "announce"],
|
|
348
|
+
[MSG_ANNOUNCE_OK, "announce_ok"],
|
|
349
|
+
[MSG_ANNOUNCE_ERROR, "announce_error"],
|
|
350
|
+
[MSG_UNANNOUNCE, "unannounce"],
|
|
351
|
+
[MSG_ANNOUNCE_CANCEL, "announce_cancel"],
|
|
352
|
+
[MSG_SUBSCRIBE_ANNOUNCES, "subscribe_announces"],
|
|
353
|
+
[MSG_SUBSCRIBE_ANNOUNCES_OK, "subscribe_announces_ok"],
|
|
354
|
+
[MSG_SUBSCRIBE_ANNOUNCES_ERROR, "subscribe_announces_error"],
|
|
355
|
+
[MSG_UNSUBSCRIBE_ANNOUNCES, "unsubscribe_announces"],
|
|
356
|
+
[MSG_FETCH, "fetch"],
|
|
357
|
+
[MSG_FETCH_OK, "fetch_ok"],
|
|
358
|
+
[MSG_FETCH_ERROR, "fetch_error"],
|
|
359
|
+
[MSG_FETCH_CANCEL, "fetch_cancel"],
|
|
360
|
+
[MSG_TRACK_STATUS_REQUEST, "track_status_request"],
|
|
361
|
+
[MSG_TRACK_STATUS, "track_status"],
|
|
362
|
+
[MSG_GOAWAY, "goaway"],
|
|
363
|
+
[MSG_MAX_SUBSCRIBE_ID, "max_subscribe_id"],
|
|
364
|
+
[MSG_SUBSCRIBES_BLOCKED, "subscribes_blocked"]
|
|
365
|
+
]);
|
|
366
|
+
var MESSAGE_ID_MAP = new Map(
|
|
367
|
+
[...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
|
|
368
|
+
);
|
|
369
|
+
|
|
368
370
|
// src/drafts/draft09/codec.ts
|
|
369
371
|
var textEncoder = /* @__PURE__ */ new TextEncoder();
|
|
370
372
|
var textDecoder = /* @__PURE__ */ new TextDecoder();
|
|
@@ -413,7 +415,11 @@ function decodeSetupParams(r) {
|
|
|
413
415
|
result.max_subscribe_id = tmpReader.readVarInt();
|
|
414
416
|
} else {
|
|
415
417
|
const bytes = r.readBytes(length);
|
|
416
|
-
unknown.push({
|
|
418
|
+
unknown.push({
|
|
419
|
+
id: `0x${paramType.toString(16)}`,
|
|
420
|
+
length,
|
|
421
|
+
raw_hex: bytesToHex(bytes)
|
|
422
|
+
});
|
|
417
423
|
}
|
|
418
424
|
}
|
|
419
425
|
if (unknown.length > 0) result.unknown = unknown;
|
|
@@ -476,7 +482,11 @@ function decodeParams(r) {
|
|
|
476
482
|
result.max_cache_duration = tmpReader.readVarInt();
|
|
477
483
|
} else {
|
|
478
484
|
const bytes = r.readBytes(length);
|
|
479
|
-
unknown.push({
|
|
485
|
+
unknown.push({
|
|
486
|
+
id: `0x${paramType.toString(16)}`,
|
|
487
|
+
length,
|
|
488
|
+
raw_hex: bytesToHex(bytes)
|
|
489
|
+
});
|
|
480
490
|
}
|
|
481
491
|
}
|
|
482
492
|
if (unknown.length > 0) result.unknown = unknown;
|
|
@@ -716,7 +726,13 @@ function decodeSubscribeErrorPayload(r) {
|
|
|
716
726
|
const error_code = r.readVarInt();
|
|
717
727
|
const reason_phrase = r.readString();
|
|
718
728
|
const track_alias = r.readVarInt();
|
|
719
|
-
return {
|
|
729
|
+
return {
|
|
730
|
+
type: "subscribe_error",
|
|
731
|
+
subscribe_id,
|
|
732
|
+
error_code,
|
|
733
|
+
reason_phrase,
|
|
734
|
+
track_alias
|
|
735
|
+
};
|
|
720
736
|
}
|
|
721
737
|
function decodeSubscribeUpdatePayload(r) {
|
|
722
738
|
const subscribe_id = r.readVarInt();
|
|
@@ -740,7 +756,13 @@ function decodeSubscribeDonePayload(r) {
|
|
|
740
756
|
const status_code = r.readVarInt();
|
|
741
757
|
const stream_count = r.readVarInt();
|
|
742
758
|
const reason_phrase = r.readString();
|
|
743
|
-
return {
|
|
759
|
+
return {
|
|
760
|
+
type: "subscribe_done",
|
|
761
|
+
subscribe_id,
|
|
762
|
+
status_code,
|
|
763
|
+
stream_count,
|
|
764
|
+
reason_phrase
|
|
765
|
+
};
|
|
744
766
|
}
|
|
745
767
|
function decodeUnsubscribePayload(r) {
|
|
746
768
|
const subscribe_id = r.readVarInt();
|
|
@@ -784,7 +806,12 @@ function decodeSubscribeAnnouncesErrorPayload(r) {
|
|
|
784
806
|
const track_namespace_prefix = r.readTuple();
|
|
785
807
|
const error_code = r.readVarInt();
|
|
786
808
|
const reason_phrase = r.readString();
|
|
787
|
-
return {
|
|
809
|
+
return {
|
|
810
|
+
type: "subscribe_announces_error",
|
|
811
|
+
track_namespace_prefix,
|
|
812
|
+
error_code,
|
|
813
|
+
reason_phrase
|
|
814
|
+
};
|
|
788
815
|
}
|
|
789
816
|
function decodeUnsubscribeAnnouncesPayload(r) {
|
|
790
817
|
const track_namespace_prefix = r.readTuple();
|
|
@@ -808,7 +835,14 @@ function decodeFetchPayload(r) {
|
|
|
808
835
|
const start_object = r.readVarInt();
|
|
809
836
|
const end_group = r.readVarInt();
|
|
810
837
|
const end_object = r.readVarInt();
|
|
811
|
-
standalone = {
|
|
838
|
+
standalone = {
|
|
839
|
+
track_namespace,
|
|
840
|
+
track_name,
|
|
841
|
+
start_group,
|
|
842
|
+
start_object,
|
|
843
|
+
end_group,
|
|
844
|
+
end_object
|
|
845
|
+
};
|
|
812
846
|
} else {
|
|
813
847
|
const joining_subscribe_id = r.readVarInt();
|
|
814
848
|
const preceding_group_offset = r.readVarInt();
|
|
@@ -1042,7 +1076,7 @@ function createStreamDecoder() {
|
|
|
1042
1076
|
}
|
|
1043
1077
|
function createDraft09Codec() {
|
|
1044
1078
|
return {
|
|
1045
|
-
draft: "
|
|
1079
|
+
draft: "09",
|
|
1046
1080
|
encodeMessage,
|
|
1047
1081
|
decodeMessage,
|
|
1048
1082
|
encodeSubgroupStream,
|
|
@@ -1059,6 +1093,15 @@ function createDraft09Codec() {
|
|
|
1059
1093
|
}
|
|
1060
1094
|
|
|
1061
1095
|
export {
|
|
1096
|
+
encodeSubgroupStream,
|
|
1097
|
+
encodeDatagram,
|
|
1098
|
+
encodeDatagramStatus,
|
|
1099
|
+
encodeFetchStream,
|
|
1100
|
+
decodeSubgroupStream,
|
|
1101
|
+
decodeDatagram,
|
|
1102
|
+
decodeDatagramStatus,
|
|
1103
|
+
decodeFetchStream,
|
|
1104
|
+
decodeDataStream,
|
|
1062
1105
|
MSG_SUBSCRIBE_UPDATE,
|
|
1063
1106
|
MSG_SUBSCRIBE,
|
|
1064
1107
|
MSG_SUBSCRIBE_OK,
|
|
@@ -1092,15 +1135,6 @@ export {
|
|
|
1092
1135
|
PARAM_MAX_CACHE_DURATION,
|
|
1093
1136
|
MESSAGE_TYPE_MAP,
|
|
1094
1137
|
MESSAGE_ID_MAP,
|
|
1095
|
-
encodeSubgroupStream,
|
|
1096
|
-
encodeDatagram,
|
|
1097
|
-
encodeDatagramStatus,
|
|
1098
|
-
encodeFetchStream,
|
|
1099
|
-
decodeSubgroupStream,
|
|
1100
|
-
decodeDatagram,
|
|
1101
|
-
decodeDatagramStatus,
|
|
1102
|
-
decodeFetchStream,
|
|
1103
|
-
decodeDataStream,
|
|
1104
1138
|
encodeMessage,
|
|
1105
1139
|
decodeMessage,
|
|
1106
1140
|
createStreamDecoder,
|
|
@@ -189,7 +189,11 @@ var Draft17SessionFSM = (_class = class {
|
|
|
189
189
|
};
|
|
190
190
|
}
|
|
191
191
|
this._phase = "ready";
|
|
192
|
-
return {
|
|
192
|
+
return {
|
|
193
|
+
ok: true,
|
|
194
|
+
phase: this._phase,
|
|
195
|
+
sideEffects: [{ type: "session-ready" }]
|
|
196
|
+
};
|
|
193
197
|
}
|
|
194
198
|
return {
|
|
195
199
|
ok: false,
|
|
@@ -215,7 +219,10 @@ var Draft17SessionFSM = (_class = class {
|
|
|
215
219
|
}
|
|
216
220
|
this._phase = "draining";
|
|
217
221
|
const goaway = message;
|
|
218
|
-
sideEffects.push({
|
|
222
|
+
sideEffects.push({
|
|
223
|
+
type: "session-draining",
|
|
224
|
+
goAwayUri: goaway.new_session_uri
|
|
225
|
+
});
|
|
219
226
|
return { ok: true, phase: this._phase, sideEffects };
|
|
220
227
|
}
|
|
221
228
|
requireReady(msgType) {
|
|
@@ -263,7 +270,10 @@ var Draft17SessionFSM = (_class = class {
|
|
|
263
270
|
const existing = this._subscriptions.get(requestId);
|
|
264
271
|
if (existing && existing.phase === "pending") {
|
|
265
272
|
this._subscriptions.set(requestId, { ...existing, phase: "active" });
|
|
266
|
-
sideEffects.push({
|
|
273
|
+
sideEffects.push({
|
|
274
|
+
type: "subscription-activated",
|
|
275
|
+
subscribeId: requestId
|
|
276
|
+
});
|
|
267
277
|
}
|
|
268
278
|
return { ok: true, phase: this._phase, sideEffects };
|
|
269
279
|
}
|
|
@@ -283,7 +293,10 @@ var Draft17SessionFSM = (_class = class {
|
|
|
283
293
|
const dupErr = this.checkDuplicateRequestId(pub.request_id, message.type);
|
|
284
294
|
if (dupErr) return { ok: false, violation: dupErr };
|
|
285
295
|
this._requestIds.add(pub.request_id);
|
|
286
|
-
this._publishes.set(pub.request_id, {
|
|
296
|
+
this._publishes.set(pub.request_id, {
|
|
297
|
+
requestId: pub.request_id,
|
|
298
|
+
phase: "pending"
|
|
299
|
+
});
|
|
287
300
|
this._pendingPublishes.push(pub.request_id);
|
|
288
301
|
return { ok: true, phase: this._phase, sideEffects };
|
|
289
302
|
}
|
|
@@ -315,7 +328,11 @@ var Draft17SessionFSM = (_class = class {
|
|
|
315
328
|
for (const [reqId, pub] of this._publishes) {
|
|
316
329
|
if (pub.phase === "active") {
|
|
317
330
|
this._publishes.set(reqId, { ...pub, phase: "done" });
|
|
318
|
-
sideEffects.push({
|
|
331
|
+
sideEffects.push({
|
|
332
|
+
type: "publish-ended",
|
|
333
|
+
requestId: reqId,
|
|
334
|
+
reason: "done"
|
|
335
|
+
});
|
|
319
336
|
break;
|
|
320
337
|
}
|
|
321
338
|
}
|
|
@@ -328,7 +345,10 @@ var Draft17SessionFSM = (_class = class {
|
|
|
328
345
|
const dupErr = this.checkDuplicateRequestId(fetch.request_id, message.type);
|
|
329
346
|
if (dupErr) return { ok: false, violation: dupErr };
|
|
330
347
|
this._requestIds.add(fetch.request_id);
|
|
331
|
-
this._fetches.set(fetch.request_id, {
|
|
348
|
+
this._fetches.set(fetch.request_id, {
|
|
349
|
+
requestId: fetch.request_id,
|
|
350
|
+
phase: "pending"
|
|
351
|
+
});
|
|
332
352
|
this._pendingFetches.push(fetch.request_id);
|
|
333
353
|
return { ok: true, phase: this._phase, sideEffects };
|
|
334
354
|
}
|
|
@@ -361,21 +381,33 @@ var Draft17SessionFSM = (_class = class {
|
|
|
361
381
|
if (subId !== void 0) {
|
|
362
382
|
const sub = this._subscriptions.get(subId);
|
|
363
383
|
this._subscriptions.set(subId, { ...sub, phase: "error" });
|
|
364
|
-
sideEffects.push({
|
|
384
|
+
sideEffects.push({
|
|
385
|
+
type: "subscription-ended",
|
|
386
|
+
subscribeId: subId,
|
|
387
|
+
reason: "request_error"
|
|
388
|
+
});
|
|
365
389
|
return { ok: true, phase: this._phase, sideEffects };
|
|
366
390
|
}
|
|
367
391
|
const pubId = this.dequeuePending(this._pendingPublishes, this._publishes);
|
|
368
392
|
if (pubId !== void 0) {
|
|
369
393
|
const pub = this._publishes.get(pubId);
|
|
370
394
|
this._publishes.set(pubId, { ...pub, phase: "error" });
|
|
371
|
-
sideEffects.push({
|
|
395
|
+
sideEffects.push({
|
|
396
|
+
type: "publish-ended",
|
|
397
|
+
requestId: pubId,
|
|
398
|
+
reason: "request_error"
|
|
399
|
+
});
|
|
372
400
|
return { ok: true, phase: this._phase, sideEffects };
|
|
373
401
|
}
|
|
374
402
|
const fetchId = this.dequeuePending(this._pendingFetches, this._fetches);
|
|
375
403
|
if (fetchId !== void 0) {
|
|
376
404
|
const f = this._fetches.get(fetchId);
|
|
377
405
|
this._fetches.set(fetchId, { ...f, phase: "error" });
|
|
378
|
-
sideEffects.push({
|
|
406
|
+
sideEffects.push({
|
|
407
|
+
type: "fetch-ended",
|
|
408
|
+
requestId: fetchId,
|
|
409
|
+
reason: "request_error"
|
|
410
|
+
});
|
|
379
411
|
return { ok: true, phase: this._phase, sideEffects };
|
|
380
412
|
}
|
|
381
413
|
return { ok: true, phase: this._phase, sideEffects };
|
|
@@ -277,7 +277,11 @@ var Draft09SessionFSM = class {
|
|
|
277
277
|
};
|
|
278
278
|
}
|
|
279
279
|
this._phase = "ready";
|
|
280
|
-
return {
|
|
280
|
+
return {
|
|
281
|
+
ok: true,
|
|
282
|
+
phase: this._phase,
|
|
283
|
+
sideEffects: [{ type: "session-ready" }]
|
|
284
|
+
};
|
|
281
285
|
}
|
|
282
286
|
handleGoAway(message, sideEffects) {
|
|
283
287
|
if (this._phase !== "ready" && this._phase !== "draining") {
|
|
@@ -293,7 +297,10 @@ var Draft09SessionFSM = class {
|
|
|
293
297
|
}
|
|
294
298
|
this._phase = "draining";
|
|
295
299
|
const goaway = message;
|
|
296
|
-
sideEffects.push({
|
|
300
|
+
sideEffects.push({
|
|
301
|
+
type: "session-draining",
|
|
302
|
+
goAwayUri: goaway.new_session_uri
|
|
303
|
+
});
|
|
297
304
|
return { ok: true, phase: this._phase, sideEffects };
|
|
298
305
|
}
|
|
299
306
|
requireReady(msgType) {
|
|
@@ -351,7 +358,10 @@ var Draft09SessionFSM = class {
|
|
|
351
358
|
)
|
|
352
359
|
};
|
|
353
360
|
this._subscriptions.set(ok.subscribe_id, { ...existing, phase: "active" });
|
|
354
|
-
sideEffects.push({
|
|
361
|
+
sideEffects.push({
|
|
362
|
+
type: "subscription-activated",
|
|
363
|
+
subscribeId: ok.subscribe_id
|
|
364
|
+
});
|
|
355
365
|
return { ok: true, phase: this._phase, sideEffects };
|
|
356
366
|
}
|
|
357
367
|
handleSubscribeError(message, sideEffects) {
|
|
@@ -381,7 +391,10 @@ var Draft09SessionFSM = class {
|
|
|
381
391
|
message.type
|
|
382
392
|
)
|
|
383
393
|
};
|
|
384
|
-
this._subscriptions.set(subErr.subscribe_id, {
|
|
394
|
+
this._subscriptions.set(subErr.subscribe_id, {
|
|
395
|
+
...existing,
|
|
396
|
+
phase: "error"
|
|
397
|
+
});
|
|
385
398
|
sideEffects.push({
|
|
386
399
|
type: "subscription-ended",
|
|
387
400
|
subscribeId: subErr.subscribe_id,
|
|
@@ -474,7 +487,10 @@ var Draft09SessionFSM = class {
|
|
|
474
487
|
if (err) return { ok: false, violation: err };
|
|
475
488
|
const ann = message;
|
|
476
489
|
const nsKey = ann.track_namespace.join("/");
|
|
477
|
-
this._announces.set(nsKey, {
|
|
490
|
+
this._announces.set(nsKey, {
|
|
491
|
+
namespace: ann.track_namespace,
|
|
492
|
+
phase: "pending"
|
|
493
|
+
});
|
|
478
494
|
return { ok: true, phase: this._phase, sideEffects };
|
|
479
495
|
}
|
|
480
496
|
handleAnnounceOk(message, sideEffects) {
|
|
@@ -533,7 +549,10 @@ var Draft09SessionFSM = class {
|
|
|
533
549
|
)
|
|
534
550
|
};
|
|
535
551
|
this._announces.set(nsKey, { ...existing, phase: "error" });
|
|
536
|
-
sideEffects.push({
|
|
552
|
+
sideEffects.push({
|
|
553
|
+
type: "announce-ended",
|
|
554
|
+
namespace: annErr.track_namespace
|
|
555
|
+
});
|
|
537
556
|
return { ok: true, phase: this._phase, sideEffects };
|
|
538
557
|
}
|
|
539
558
|
handleUnannounce(message, sideEffects) {
|
|
@@ -544,7 +563,10 @@ var Draft09SessionFSM = class {
|
|
|
544
563
|
const existing = this._announces.get(nsKey);
|
|
545
564
|
if (existing) {
|
|
546
565
|
this._announces.delete(nsKey);
|
|
547
|
-
sideEffects.push({
|
|
566
|
+
sideEffects.push({
|
|
567
|
+
type: "announce-ended",
|
|
568
|
+
namespace: unann.track_namespace
|
|
569
|
+
});
|
|
548
570
|
}
|
|
549
571
|
return { ok: true, phase: this._phase, sideEffects };
|
|
550
572
|
}
|
|
@@ -556,7 +578,10 @@ var Draft09SessionFSM = class {
|
|
|
556
578
|
const existing = this._announces.get(nsKey);
|
|
557
579
|
if (existing) {
|
|
558
580
|
this._announces.delete(nsKey);
|
|
559
|
-
sideEffects.push({
|
|
581
|
+
sideEffects.push({
|
|
582
|
+
type: "announce-ended",
|
|
583
|
+
namespace: cancel.track_namespace
|
|
584
|
+
});
|
|
560
585
|
}
|
|
561
586
|
return { ok: true, phase: this._phase, sideEffects };
|
|
562
587
|
}
|
|
@@ -568,7 +593,10 @@ var Draft09SessionFSM = class {
|
|
|
568
593
|
const dupErr = this.checkDuplicateSubscribeId(fetch.subscribe_id, message.type);
|
|
569
594
|
if (dupErr) return { ok: false, violation: dupErr };
|
|
570
595
|
this._subscribeIds.add(fetch.subscribe_id);
|
|
571
|
-
this._fetches.set(fetch.subscribe_id, {
|
|
596
|
+
this._fetches.set(fetch.subscribe_id, {
|
|
597
|
+
requestId: fetch.subscribe_id,
|
|
598
|
+
phase: "pending"
|
|
599
|
+
});
|
|
572
600
|
return { ok: true, phase: this._phase, sideEffects };
|
|
573
601
|
}
|
|
574
602
|
handleFetchOk(message, sideEffects) {
|
|
@@ -645,7 +673,11 @@ var Draft09SessionFSM = class {
|
|
|
645
673
|
)
|
|
646
674
|
};
|
|
647
675
|
this._fetches.set(cancel.subscribe_id, { ...existing, phase: "cancelled" });
|
|
648
|
-
sideEffects.push({
|
|
676
|
+
sideEffects.push({
|
|
677
|
+
type: "fetch-ended",
|
|
678
|
+
requestId: cancel.subscribe_id,
|
|
679
|
+
reason: "cancelled"
|
|
680
|
+
});
|
|
649
681
|
return { ok: true, phase: this._phase, sideEffects };
|
|
650
682
|
}
|
|
651
683
|
// ─── Generic ready-phase handler ───
|
|
@@ -664,8 +696,8 @@ var Draft09SessionFSM = class {
|
|
|
664
696
|
};
|
|
665
697
|
|
|
666
698
|
// src/drafts/draft09/session.ts
|
|
667
|
-
function createDraft09SessionState(
|
|
668
|
-
return new Draft09SessionFSM(
|
|
699
|
+
function createDraft09SessionState(role) {
|
|
700
|
+
return new Draft09SessionFSM(role);
|
|
669
701
|
}
|
|
670
702
|
|
|
671
703
|
export {
|