@moqtap/codec 0.8.0 → 0.9.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/CHANGELOG.md +49 -0
- package/README.md +16 -4
- package/dist/{chunk-5XZKO2U5.js → chunk-2XH6PHXR.js} +62 -51
- package/dist/{chunk-BQHLUT37.cjs → chunk-7ENEWAMZ.cjs} +2 -6
- package/dist/chunk-BMJMY6FX.cjs +868 -0
- package/dist/{chunk-MD2OA7SE.js → chunk-BV6MITLO.js} +15 -8
- package/dist/{chunk-B56AG5HU.cjs → chunk-EVCPBFSR.cjs} +6 -4
- package/dist/{chunk-KNLPX3YA.js → chunk-H6DTAIWM.js} +6 -4
- package/dist/{chunk-J3ASFPCX.cjs → chunk-IADVBKEJ.cjs} +15 -8
- package/dist/chunk-MAXEHYVB.cjs +2362 -0
- package/dist/{chunk-I55J3KXD.js → chunk-NH4L6NIY.js} +48 -33
- package/dist/{chunk-EQAYMCXO.cjs → chunk-PU2KV7VP.cjs} +48 -33
- package/dist/{chunk-APTV6F72.js → chunk-Q7NSUXXB.js} +70 -52
- package/dist/{chunk-HEO2JG6C.js → chunk-TMXRYOBS.js} +100 -92
- package/dist/{chunk-MH7537FB.cjs → chunk-TVSFDQYE.cjs} +70 -52
- package/dist/{chunk-IEJULBKB.cjs → chunk-UA5XFP4O.cjs} +100 -92
- package/dist/{chunk-KTVN4P6J.cjs → chunk-UZO5Z2XT.cjs} +62 -51
- package/dist/chunk-WX5PU7HF.js +868 -0
- package/dist/{chunk-JJEN2VG5.js → chunk-XQGEOFGE.js} +2 -6
- package/dist/chunk-YJGOD3Y4.js +2362 -0
- package/dist/{codec-BLYAy2OP.d.ts → codec--CVeqGQv.d.ts} +1 -1
- package/dist/{codec-DujHf55Z.d.ts → codec-BJ7BHuiZ.d.ts} +1 -1
- package/dist/{codec-D47r_-Rl.d.ts → codec-BKsVu3Fr.d.ts} +1 -1
- package/dist/{codec-BNS3gS77.d.ts → codec-BMwgZIgG.d.ts} +1 -1
- package/dist/{codec-CI0BjmHc.d.ts → codec-BNy5syCU.d.ts} +1 -1
- package/dist/{codec-CFhUGTu2.d.ts → codec-BQa6Qsav.d.ts} +2 -2
- package/dist/codec-Bym-K2q2.d.cts +49 -0
- package/dist/{codec-D2JbI2tp.d.ts → codec-C006F75E.d.ts} +1 -1
- package/dist/codec-C5evFHL-.d.ts +49 -0
- package/dist/{codec-DQWQSam3.d.cts → codec-C6Mx4bwz.d.cts} +1 -1
- package/dist/{codec-DL0njGkL.d.ts → codec-CA6nbbEk.d.ts} +1 -1
- package/dist/{codec-D89DWXbv.d.cts → codec-CSBFdPgP.d.cts} +1 -1
- package/dist/{codec-DvcJgYKq.d.cts → codec-CXCjya_G.d.cts} +1 -1
- package/dist/{codec-hvkJfCF5.d.cts → codec-C_xxsbKy.d.cts} +1 -1
- package/dist/{codec-BOyrk_C9.d.cts → codec-Cfo_z5ET.d.cts} +1 -1
- package/dist/{codec-xeuGZY77.d.cts → codec-CgZdadPt.d.cts} +2 -2
- package/dist/{codec-WwwUipaU.d.ts → codec-Cl73EfRW.d.ts} +1 -1
- package/dist/{codec-BOtv3R5j.d.cts → codec-CtvFK4aV.d.cts} +1 -1
- package/dist/{codec-DAePx2NL.d.ts → codec-CviAa4lp.d.ts} +2 -2
- package/dist/{codec-DJmV04i0.d.ts → codec-D4RvFQmu.d.ts} +1 -1
- package/dist/{codec-cou9XBMF.d.cts → codec-DAyiF5sq.d.cts} +1 -1
- package/dist/{codec-CyApDKwf.d.cts → codec-DJmqoIsp.d.cts} +1 -1
- package/dist/{codec-NMsTK0GX.d.cts → codec-DchsPfr3.d.cts} +1 -1
- package/dist/{codec-DplRgIKq.d.ts → codec-Dl_QIXMz.d.ts} +1 -1
- package/dist/{codec-BnamSx7L.d.cts → codec-DzLvG8Wb.d.cts} +2 -2
- package/dist/{codec-D95gT98n.d.cts → codec-DzkdW4kO.d.cts} +1 -1
- package/dist/{codec-CWj5iTxA.d.ts → codec-O-1Js7h4.d.ts} +1 -1
- package/dist/{codec-BqqoYdh_.d.cts → codec-vddqy0KY.d.cts} +1 -1
- package/dist/draft07-session.d.cts +3 -3
- package/dist/draft07-session.d.ts +3 -3
- package/dist/draft07.d.cts +3 -3
- package/dist/draft07.d.ts +3 -3
- package/dist/draft08-session.d.cts +3 -3
- package/dist/draft08-session.d.ts +3 -3
- package/dist/draft08.d.cts +4 -4
- package/dist/draft08.d.ts +4 -4
- package/dist/draft09-session.d.cts +3 -3
- package/dist/draft09-session.d.ts +3 -3
- package/dist/draft09.d.cts +4 -4
- package/dist/draft09.d.ts +4 -4
- package/dist/draft10-session.d.cts +3 -3
- package/dist/draft10-session.d.ts +3 -3
- package/dist/draft10.d.cts +4 -4
- package/dist/draft10.d.ts +4 -4
- package/dist/draft11-session.d.cts +3 -3
- package/dist/draft11-session.d.ts +3 -3
- package/dist/draft11.d.cts +4 -4
- package/dist/draft11.d.ts +4 -4
- package/dist/draft12-session.d.cts +3 -3
- package/dist/draft12-session.d.ts +3 -3
- package/dist/draft12.cjs +2 -2
- package/dist/draft12.d.cts +4 -4
- package/dist/draft12.d.ts +4 -4
- package/dist/draft12.js +1 -1
- package/dist/draft13-session.d.cts +3 -3
- package/dist/draft13-session.d.ts +3 -3
- package/dist/draft13.d.cts +4 -4
- package/dist/draft13.d.ts +4 -4
- package/dist/draft14-session.d.cts +4 -4
- package/dist/draft14-session.d.ts +4 -4
- package/dist/draft14.cjs +2 -2
- package/dist/draft14.d.cts +6 -6
- package/dist/draft14.d.ts +6 -6
- package/dist/draft14.js +1 -1
- package/dist/draft15-session.d.cts +3 -3
- package/dist/draft15-session.d.ts +3 -3
- package/dist/draft15.cjs +2 -2
- package/dist/draft15.d.cts +4 -4
- package/dist/draft15.d.ts +4 -4
- package/dist/draft15.js +1 -1
- package/dist/draft16-session.d.cts +3 -3
- package/dist/draft16-session.d.ts +3 -3
- package/dist/draft16.cjs +2 -2
- package/dist/draft16.d.cts +4 -4
- package/dist/draft16.d.ts +4 -4
- package/dist/draft16.js +1 -1
- package/dist/draft17-session.d.cts +3 -3
- package/dist/draft17-session.d.ts +3 -3
- package/dist/draft17.cjs +2 -2
- package/dist/draft17.d.cts +3 -3
- package/dist/draft17.d.ts +3 -3
- package/dist/draft17.js +1 -1
- package/dist/draft18-session.d.cts +3 -3
- package/dist/draft18-session.d.ts +3 -3
- package/dist/draft18.cjs +2 -2
- package/dist/draft18.d.cts +3 -3
- package/dist/draft18.d.ts +3 -3
- package/dist/draft18.js +1 -1
- package/dist/draft19-session.d.cts +3 -3
- package/dist/draft19-session.d.ts +3 -3
- package/dist/draft19.cjs +2 -2
- package/dist/draft19.d.cts +3 -3
- package/dist/draft19.d.ts +3 -3
- package/dist/draft19.js +1 -1
- package/dist/draft20-session.cjs +8 -0
- package/dist/draft20-session.d.cts +195 -0
- package/dist/draft20-session.d.ts +195 -0
- package/dist/draft20-session.js +8 -0
- package/dist/draft20.cjs +217 -0
- package/dist/draft20.d.cts +175 -0
- package/dist/draft20.d.ts +175 -0
- package/dist/draft20.js +217 -0
- package/dist/index.cjs +21 -15
- package/dist/index.d.cts +33 -18
- package/dist/index.d.ts +33 -18
- package/dist/index.js +14 -8
- package/dist/{session-types-KsqyVp6y.d.cts → session-types-B9idsih-.d.cts} +13 -1
- package/dist/{session-types-C0l_-Ups.d.ts → session-types-Dn7b3RZM.d.ts} +13 -1
- package/dist/session.cjs +5 -1
- package/dist/session.d.cts +6 -4
- package/dist/session.d.ts +6 -4
- package/dist/session.js +5 -1
- package/dist/types-CWCQwuvy.d.cts +359 -0
- package/dist/types-CWCQwuvy.d.ts +359 -0
- package/dist/{types-CdCSIfvI.d.cts → types-DG5_iKuv.d.cts} +1 -1
- package/dist/{types-CdCSIfvI.d.ts → types-DG5_iKuv.d.ts} +1 -1
- package/dist/{types-CVeKIk7A.d.cts → types-HI_bbXka.d.cts} +0 -2
- package/dist/{types-CVeKIk7A.d.ts → types-HI_bbXka.d.ts} +0 -2
- package/package.json +16 -3
- package/src/core/session-types.ts +7 -0
- package/src/core/types.ts +1 -0
- package/src/drafts/draft12/data-streams.ts +13 -4
- package/src/drafts/draft14/codec.ts +2 -6
- package/src/drafts/draft14/types.ts +0 -2
- package/src/drafts/draft15/data-streams.ts +30 -16
- package/src/drafts/draft16/codec.ts +116 -93
- package/src/drafts/draft17/codec.ts +72 -35
- package/src/drafts/draft18/codec.ts +89 -53
- package/src/drafts/draft19/codec.ts +98 -55
- package/src/drafts/draft20/codec.ts +1737 -0
- package/src/drafts/draft20/data-streams.ts +1291 -0
- package/src/drafts/draft20/error-codes.ts +135 -0
- package/src/drafts/draft20/index.ts +165 -0
- package/src/drafts/draft20/messages.ts +68 -0
- package/src/drafts/draft20/rules.ts +107 -0
- package/src/drafts/draft20/session-fsm.ts +1063 -0
- package/src/drafts/draft20/session.ts +21 -0
- package/src/drafts/draft20/types.ts +455 -0
- package/src/index.ts +20 -2
- package/src/session.ts +4 -0
|
@@ -1060,6 +1060,29 @@ var PARAM_SUBSCRIBER_PRIORITY = 0x20n;
|
|
|
1060
1060
|
var PARAM_SUBSCRIPTION_FILTER = 0x21n;
|
|
1061
1061
|
var PARAM_GROUP_ORDER = 0x22n;
|
|
1062
1062
|
var PARAM_NEW_GROUP_REQUEST = 0x32n;
|
|
1063
|
+
var PARAMETER_SCOPE = /* @__PURE__ */ new Map([
|
|
1064
|
+
[0x02n, /* @__PURE__ */ new Set(["publish_ok", "subscribe", "request_update"])],
|
|
1065
|
+
[
|
|
1066
|
+
0x03n,
|
|
1067
|
+
/* @__PURE__ */ new Set([
|
|
1068
|
+
"publish",
|
|
1069
|
+
"subscribe",
|
|
1070
|
+
"request_update",
|
|
1071
|
+
"subscribe_namespace",
|
|
1072
|
+
"publish_namespace",
|
|
1073
|
+
"track_status",
|
|
1074
|
+
"fetch"
|
|
1075
|
+
])
|
|
1076
|
+
],
|
|
1077
|
+
[0x04n, /* @__PURE__ */ new Set(["subscribe"])],
|
|
1078
|
+
[0x08n, /* @__PURE__ */ new Set(["subscribe_ok", "publish", "publish_ok", "request_ok"])],
|
|
1079
|
+
[0x09n, /* @__PURE__ */ new Set(["subscribe_ok", "publish", "request_ok"])],
|
|
1080
|
+
[0x10n, /* @__PURE__ */ new Set(["subscribe", "request_update", "publish", "publish_ok", "subscribe_namespace"])],
|
|
1081
|
+
[0x20n, /* @__PURE__ */ new Set(["subscribe", "fetch", "request_update", "publish_ok"])],
|
|
1082
|
+
[0x21n, /* @__PURE__ */ new Set(["subscribe", "publish_ok", "request_update"])],
|
|
1083
|
+
[0x22n, /* @__PURE__ */ new Set(["subscribe", "publish_ok", "fetch"])],
|
|
1084
|
+
[0x32n, /* @__PURE__ */ new Set(["publish_ok", "subscribe", "request_update"])]
|
|
1085
|
+
]);
|
|
1063
1086
|
function encodeParams(params, writer) {
|
|
1064
1087
|
const entries = [];
|
|
1065
1088
|
if (params.delivery_timeout !== void 0) {
|
|
@@ -1166,15 +1189,22 @@ function encodeParams(params, writer) {
|
|
|
1166
1189
|
prevType = entry.type;
|
|
1167
1190
|
}
|
|
1168
1191
|
}
|
|
1169
|
-
function decodeParams(reader) {
|
|
1192
|
+
function decodeParams(reader, messageType) {
|
|
1170
1193
|
const count = Number(reader.readVarInt());
|
|
1171
1194
|
const result = {};
|
|
1172
|
-
const unknown = [];
|
|
1173
1195
|
let prevType = 0n;
|
|
1174
1196
|
for (let i = 0; i < count; i++) {
|
|
1175
1197
|
const delta = reader.readVarInt();
|
|
1176
1198
|
const paramType = prevType + delta;
|
|
1177
1199
|
prevType = paramType;
|
|
1200
|
+
const scope = PARAMETER_SCOPE.get(paramType);
|
|
1201
|
+
if (scope !== void 0 && !scope.has(messageType)) {
|
|
1202
|
+
throw new DecodeError(
|
|
1203
|
+
"CONSTRAINT_VIOLATION",
|
|
1204
|
+
`Message Parameter 0x${paramType.toString(16)} may not appear in ${messageType}`,
|
|
1205
|
+
reader.offset
|
|
1206
|
+
);
|
|
1207
|
+
}
|
|
1178
1208
|
if (paramType === PARAM_DELIVERY_TIMEOUT) {
|
|
1179
1209
|
result.delivery_timeout = reader.readVarInt();
|
|
1180
1210
|
} else if (paramType === PARAM_AUTHORIZATION_TOKEN) {
|
|
@@ -1213,28 +1243,13 @@ function decodeParams(reader) {
|
|
|
1213
1243
|
} else if (paramType === PARAM_NEW_GROUP_REQUEST) {
|
|
1214
1244
|
result.new_group_request = reader.readVarInt();
|
|
1215
1245
|
} else {
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
unknown.push({
|
|
1222
|
-
id: `0x${paramType.toString(16)}`,
|
|
1223
|
-
length: raw.byteLength,
|
|
1224
|
-
raw_hex: bytesToHex(raw)
|
|
1225
|
-
});
|
|
1226
|
-
} else {
|
|
1227
|
-
const length = Number(reader.readVarInt());
|
|
1228
|
-
const bytes = reader.readBytes(length);
|
|
1229
|
-
unknown.push({
|
|
1230
|
-
id: `0x${paramType.toString(16)}`,
|
|
1231
|
-
length,
|
|
1232
|
-
raw_hex: bytesToHex(bytes)
|
|
1233
|
-
});
|
|
1234
|
-
}
|
|
1246
|
+
throw new DecodeError(
|
|
1247
|
+
"INVALID_PARAMETER",
|
|
1248
|
+
`Unknown Message Parameter type 0x${paramType.toString(16)}`,
|
|
1249
|
+
reader.offset
|
|
1250
|
+
);
|
|
1235
1251
|
}
|
|
1236
1252
|
}
|
|
1237
|
-
if (unknown.length > 0) result.unknown = unknown;
|
|
1238
1253
|
return result;
|
|
1239
1254
|
}
|
|
1240
1255
|
var TPROP_DELIVERY_TIMEOUT = 0x02n;
|
|
@@ -1472,7 +1487,7 @@ function decodeSubscribePayload(r) {
|
|
|
1472
1487
|
const required_request_id_delta = r.readVarInt();
|
|
1473
1488
|
const track_namespace = r.readTuple();
|
|
1474
1489
|
const track_name = r.readString();
|
|
1475
|
-
const parameters = decodeParams(r);
|
|
1490
|
+
const parameters = decodeParams(r, "subscribe");
|
|
1476
1491
|
return {
|
|
1477
1492
|
type: "subscribe",
|
|
1478
1493
|
request_id,
|
|
@@ -1484,14 +1499,14 @@ function decodeSubscribePayload(r) {
|
|
|
1484
1499
|
}
|
|
1485
1500
|
function decodeSubscribeOkPayload(r, payloadEnd) {
|
|
1486
1501
|
const track_alias = r.readVarInt();
|
|
1487
|
-
const parameters = decodeParams(r);
|
|
1502
|
+
const parameters = decodeParams(r, "subscribe_ok");
|
|
1488
1503
|
const track_properties = decodeTrackProperties(r, payloadEnd);
|
|
1489
1504
|
return { type: "subscribe_ok", track_alias, parameters, track_properties };
|
|
1490
1505
|
}
|
|
1491
1506
|
function decodeRequestUpdatePayload(r) {
|
|
1492
1507
|
const request_id = r.readVarInt();
|
|
1493
1508
|
const required_request_id_delta = r.readVarInt();
|
|
1494
|
-
const parameters = decodeParams(r);
|
|
1509
|
+
const parameters = decodeParams(r, "request_update");
|
|
1495
1510
|
return {
|
|
1496
1511
|
type: "request_update",
|
|
1497
1512
|
request_id,
|
|
@@ -1505,7 +1520,7 @@ function decodePublishPayload(r, payloadEnd) {
|
|
|
1505
1520
|
const track_namespace = r.readTuple();
|
|
1506
1521
|
const track_name = r.readString();
|
|
1507
1522
|
const track_alias = r.readVarInt();
|
|
1508
|
-
const parameters = decodeParams(r);
|
|
1523
|
+
const parameters = decodeParams(r, "publish");
|
|
1509
1524
|
const track_properties = decodeTrackProperties(r, payloadEnd);
|
|
1510
1525
|
return {
|
|
1511
1526
|
type: "publish",
|
|
@@ -1519,7 +1534,7 @@ function decodePublishPayload(r, payloadEnd) {
|
|
|
1519
1534
|
};
|
|
1520
1535
|
}
|
|
1521
1536
|
function decodePublishOkPayload(r) {
|
|
1522
|
-
const parameters = decodeParams(r);
|
|
1537
|
+
const parameters = decodeParams(r, "publish_ok");
|
|
1523
1538
|
return { type: "publish_ok", parameters };
|
|
1524
1539
|
}
|
|
1525
1540
|
function decodePublishDonePayload(r) {
|
|
@@ -1532,7 +1547,7 @@ function decodePublishNamespacePayload(r) {
|
|
|
1532
1547
|
const request_id = r.readVarInt();
|
|
1533
1548
|
const required_request_id_delta = r.readVarInt();
|
|
1534
1549
|
const track_namespace = r.readTuple();
|
|
1535
|
-
const parameters = decodeParams(r);
|
|
1550
|
+
const parameters = decodeParams(r, "publish_namespace");
|
|
1536
1551
|
return {
|
|
1537
1552
|
type: "publish_namespace",
|
|
1538
1553
|
request_id,
|
|
@@ -1554,7 +1569,7 @@ function decodeSubscribeNamespacePayload(r) {
|
|
|
1554
1569
|
const required_request_id_delta = r.readVarInt();
|
|
1555
1570
|
const namespace_prefix = r.readTuple();
|
|
1556
1571
|
const subscribe_options = r.readVarInt();
|
|
1557
|
-
const parameters = decodeParams(r);
|
|
1572
|
+
const parameters = decodeParams(r, "subscribe_namespace");
|
|
1558
1573
|
return {
|
|
1559
1574
|
type: "subscribe_namespace",
|
|
1560
1575
|
request_id,
|
|
@@ -1599,7 +1614,7 @@ function decodeFetchPayload(r) {
|
|
|
1599
1614
|
const joining_start = r.readVarInt();
|
|
1600
1615
|
joining = { joining_request_id, joining_start };
|
|
1601
1616
|
}
|
|
1602
|
-
const parameters = decodeParams(r);
|
|
1617
|
+
const parameters = decodeParams(r, "fetch");
|
|
1603
1618
|
return {
|
|
1604
1619
|
type: "fetch",
|
|
1605
1620
|
request_id,
|
|
@@ -1614,7 +1629,7 @@ function decodeFetchOkPayload(r, payloadEnd) {
|
|
|
1614
1629
|
const end_of_track = r.readUint8();
|
|
1615
1630
|
const end_group = r.readVarInt();
|
|
1616
1631
|
const end_object = r.readVarInt();
|
|
1617
|
-
const parameters = decodeParams(r);
|
|
1632
|
+
const parameters = decodeParams(r, "fetch_ok");
|
|
1618
1633
|
const track_properties = decodeTrackProperties(r, payloadEnd);
|
|
1619
1634
|
return {
|
|
1620
1635
|
type: "fetch_ok",
|
|
@@ -1630,7 +1645,7 @@ function decodeTrackStatusPayload(r) {
|
|
|
1630
1645
|
const required_request_id_delta = r.readVarInt();
|
|
1631
1646
|
const track_namespace = r.readTuple();
|
|
1632
1647
|
const track_name = r.readString();
|
|
1633
|
-
const parameters = decodeParams(r);
|
|
1648
|
+
const parameters = decodeParams(r, "track_status");
|
|
1634
1649
|
return {
|
|
1635
1650
|
type: "track_status",
|
|
1636
1651
|
request_id,
|
|
@@ -1641,7 +1656,7 @@ function decodeTrackStatusPayload(r) {
|
|
|
1641
1656
|
};
|
|
1642
1657
|
}
|
|
1643
1658
|
function decodeRequestOkPayload(r) {
|
|
1644
|
-
const parameters = decodeParams(r);
|
|
1659
|
+
const parameters = decodeParams(r, "request_ok");
|
|
1645
1660
|
return { type: "request_ok", parameters };
|
|
1646
1661
|
}
|
|
1647
1662
|
function decodeRequestErrorPayload(r) {
|
|
@@ -1060,6 +1060,29 @@ var PARAM_SUBSCRIBER_PRIORITY = 0x20n;
|
|
|
1060
1060
|
var PARAM_SUBSCRIPTION_FILTER = 0x21n;
|
|
1061
1061
|
var PARAM_GROUP_ORDER = 0x22n;
|
|
1062
1062
|
var PARAM_NEW_GROUP_REQUEST = 0x32n;
|
|
1063
|
+
var PARAMETER_SCOPE = /* @__PURE__ */ new Map([
|
|
1064
|
+
[0x02n, /* @__PURE__ */ new Set(["publish_ok", "subscribe", "request_update"])],
|
|
1065
|
+
[
|
|
1066
|
+
0x03n,
|
|
1067
|
+
/* @__PURE__ */ new Set([
|
|
1068
|
+
"publish",
|
|
1069
|
+
"subscribe",
|
|
1070
|
+
"request_update",
|
|
1071
|
+
"subscribe_namespace",
|
|
1072
|
+
"publish_namespace",
|
|
1073
|
+
"track_status",
|
|
1074
|
+
"fetch"
|
|
1075
|
+
])
|
|
1076
|
+
],
|
|
1077
|
+
[0x04n, /* @__PURE__ */ new Set(["subscribe"])],
|
|
1078
|
+
[0x08n, /* @__PURE__ */ new Set(["subscribe_ok", "publish", "publish_ok", "request_ok"])],
|
|
1079
|
+
[0x09n, /* @__PURE__ */ new Set(["subscribe_ok", "publish", "request_ok"])],
|
|
1080
|
+
[0x10n, /* @__PURE__ */ new Set(["subscribe", "request_update", "publish", "publish_ok", "subscribe_namespace"])],
|
|
1081
|
+
[0x20n, /* @__PURE__ */ new Set(["subscribe", "fetch", "request_update", "publish_ok"])],
|
|
1082
|
+
[0x21n, /* @__PURE__ */ new Set(["subscribe", "publish_ok", "request_update"])],
|
|
1083
|
+
[0x22n, /* @__PURE__ */ new Set(["subscribe", "publish_ok", "fetch"])],
|
|
1084
|
+
[0x32n, /* @__PURE__ */ new Set(["publish_ok", "subscribe", "request_update"])]
|
|
1085
|
+
]);
|
|
1063
1086
|
function encodeParams(params, writer) {
|
|
1064
1087
|
const entries = [];
|
|
1065
1088
|
if (params.delivery_timeout !== void 0) {
|
|
@@ -1166,15 +1189,22 @@ function encodeParams(params, writer) {
|
|
|
1166
1189
|
prevType = entry.type;
|
|
1167
1190
|
}
|
|
1168
1191
|
}
|
|
1169
|
-
function decodeParams(reader) {
|
|
1192
|
+
function decodeParams(reader, messageType) {
|
|
1170
1193
|
const count = Number(reader.readVarInt());
|
|
1171
1194
|
const result = {};
|
|
1172
|
-
const unknown = [];
|
|
1173
1195
|
let prevType = 0n;
|
|
1174
1196
|
for (let i = 0; i < count; i++) {
|
|
1175
1197
|
const delta = reader.readVarInt();
|
|
1176
1198
|
const paramType = prevType + delta;
|
|
1177
1199
|
prevType = paramType;
|
|
1200
|
+
const scope = PARAMETER_SCOPE.get(paramType);
|
|
1201
|
+
if (scope !== void 0 && !scope.has(messageType)) {
|
|
1202
|
+
throw new (0, _chunk4XLYCT5Qcjs.DecodeError)(
|
|
1203
|
+
"CONSTRAINT_VIOLATION",
|
|
1204
|
+
`Message Parameter 0x${paramType.toString(16)} may not appear in ${messageType}`,
|
|
1205
|
+
reader.offset
|
|
1206
|
+
);
|
|
1207
|
+
}
|
|
1178
1208
|
if (paramType === PARAM_DELIVERY_TIMEOUT) {
|
|
1179
1209
|
result.delivery_timeout = reader.readVarInt();
|
|
1180
1210
|
} else if (paramType === PARAM_AUTHORIZATION_TOKEN) {
|
|
@@ -1213,28 +1243,13 @@ function decodeParams(reader) {
|
|
|
1213
1243
|
} else if (paramType === PARAM_NEW_GROUP_REQUEST) {
|
|
1214
1244
|
result.new_group_request = reader.readVarInt();
|
|
1215
1245
|
} else {
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
unknown.push({
|
|
1222
|
-
id: `0x${paramType.toString(16)}`,
|
|
1223
|
-
length: raw.byteLength,
|
|
1224
|
-
raw_hex: _chunk4XLYCT5Qcjs.bytesToHex.call(void 0, raw)
|
|
1225
|
-
});
|
|
1226
|
-
} else {
|
|
1227
|
-
const length = Number(reader.readVarInt());
|
|
1228
|
-
const bytes = reader.readBytes(length);
|
|
1229
|
-
unknown.push({
|
|
1230
|
-
id: `0x${paramType.toString(16)}`,
|
|
1231
|
-
length,
|
|
1232
|
-
raw_hex: _chunk4XLYCT5Qcjs.bytesToHex.call(void 0, bytes)
|
|
1233
|
-
});
|
|
1234
|
-
}
|
|
1246
|
+
throw new (0, _chunk4XLYCT5Qcjs.DecodeError)(
|
|
1247
|
+
"INVALID_PARAMETER",
|
|
1248
|
+
`Unknown Message Parameter type 0x${paramType.toString(16)}`,
|
|
1249
|
+
reader.offset
|
|
1250
|
+
);
|
|
1235
1251
|
}
|
|
1236
1252
|
}
|
|
1237
|
-
if (unknown.length > 0) result.unknown = unknown;
|
|
1238
1253
|
return result;
|
|
1239
1254
|
}
|
|
1240
1255
|
var TPROP_DELIVERY_TIMEOUT = 0x02n;
|
|
@@ -1472,7 +1487,7 @@ function decodeSubscribePayload(r) {
|
|
|
1472
1487
|
const required_request_id_delta = r.readVarInt();
|
|
1473
1488
|
const track_namespace = r.readTuple();
|
|
1474
1489
|
const track_name = r.readString();
|
|
1475
|
-
const parameters = decodeParams(r);
|
|
1490
|
+
const parameters = decodeParams(r, "subscribe");
|
|
1476
1491
|
return {
|
|
1477
1492
|
type: "subscribe",
|
|
1478
1493
|
request_id,
|
|
@@ -1484,14 +1499,14 @@ function decodeSubscribePayload(r) {
|
|
|
1484
1499
|
}
|
|
1485
1500
|
function decodeSubscribeOkPayload(r, payloadEnd) {
|
|
1486
1501
|
const track_alias = r.readVarInt();
|
|
1487
|
-
const parameters = decodeParams(r);
|
|
1502
|
+
const parameters = decodeParams(r, "subscribe_ok");
|
|
1488
1503
|
const track_properties = decodeTrackProperties(r, payloadEnd);
|
|
1489
1504
|
return { type: "subscribe_ok", track_alias, parameters, track_properties };
|
|
1490
1505
|
}
|
|
1491
1506
|
function decodeRequestUpdatePayload(r) {
|
|
1492
1507
|
const request_id = r.readVarInt();
|
|
1493
1508
|
const required_request_id_delta = r.readVarInt();
|
|
1494
|
-
const parameters = decodeParams(r);
|
|
1509
|
+
const parameters = decodeParams(r, "request_update");
|
|
1495
1510
|
return {
|
|
1496
1511
|
type: "request_update",
|
|
1497
1512
|
request_id,
|
|
@@ -1505,7 +1520,7 @@ function decodePublishPayload(r, payloadEnd) {
|
|
|
1505
1520
|
const track_namespace = r.readTuple();
|
|
1506
1521
|
const track_name = r.readString();
|
|
1507
1522
|
const track_alias = r.readVarInt();
|
|
1508
|
-
const parameters = decodeParams(r);
|
|
1523
|
+
const parameters = decodeParams(r, "publish");
|
|
1509
1524
|
const track_properties = decodeTrackProperties(r, payloadEnd);
|
|
1510
1525
|
return {
|
|
1511
1526
|
type: "publish",
|
|
@@ -1519,7 +1534,7 @@ function decodePublishPayload(r, payloadEnd) {
|
|
|
1519
1534
|
};
|
|
1520
1535
|
}
|
|
1521
1536
|
function decodePublishOkPayload(r) {
|
|
1522
|
-
const parameters = decodeParams(r);
|
|
1537
|
+
const parameters = decodeParams(r, "publish_ok");
|
|
1523
1538
|
return { type: "publish_ok", parameters };
|
|
1524
1539
|
}
|
|
1525
1540
|
function decodePublishDonePayload(r) {
|
|
@@ -1532,7 +1547,7 @@ function decodePublishNamespacePayload(r) {
|
|
|
1532
1547
|
const request_id = r.readVarInt();
|
|
1533
1548
|
const required_request_id_delta = r.readVarInt();
|
|
1534
1549
|
const track_namespace = r.readTuple();
|
|
1535
|
-
const parameters = decodeParams(r);
|
|
1550
|
+
const parameters = decodeParams(r, "publish_namespace");
|
|
1536
1551
|
return {
|
|
1537
1552
|
type: "publish_namespace",
|
|
1538
1553
|
request_id,
|
|
@@ -1554,7 +1569,7 @@ function decodeSubscribeNamespacePayload(r) {
|
|
|
1554
1569
|
const required_request_id_delta = r.readVarInt();
|
|
1555
1570
|
const namespace_prefix = r.readTuple();
|
|
1556
1571
|
const subscribe_options = r.readVarInt();
|
|
1557
|
-
const parameters = decodeParams(r);
|
|
1572
|
+
const parameters = decodeParams(r, "subscribe_namespace");
|
|
1558
1573
|
return {
|
|
1559
1574
|
type: "subscribe_namespace",
|
|
1560
1575
|
request_id,
|
|
@@ -1599,7 +1614,7 @@ function decodeFetchPayload(r) {
|
|
|
1599
1614
|
const joining_start = r.readVarInt();
|
|
1600
1615
|
joining = { joining_request_id, joining_start };
|
|
1601
1616
|
}
|
|
1602
|
-
const parameters = decodeParams(r);
|
|
1617
|
+
const parameters = decodeParams(r, "fetch");
|
|
1603
1618
|
return {
|
|
1604
1619
|
type: "fetch",
|
|
1605
1620
|
request_id,
|
|
@@ -1614,7 +1629,7 @@ function decodeFetchOkPayload(r, payloadEnd) {
|
|
|
1614
1629
|
const end_of_track = r.readUint8();
|
|
1615
1630
|
const end_group = r.readVarInt();
|
|
1616
1631
|
const end_object = r.readVarInt();
|
|
1617
|
-
const parameters = decodeParams(r);
|
|
1632
|
+
const parameters = decodeParams(r, "fetch_ok");
|
|
1618
1633
|
const track_properties = decodeTrackProperties(r, payloadEnd);
|
|
1619
1634
|
return {
|
|
1620
1635
|
type: "fetch_ok",
|
|
@@ -1630,7 +1645,7 @@ function decodeTrackStatusPayload(r) {
|
|
|
1630
1645
|
const required_request_id_delta = r.readVarInt();
|
|
1631
1646
|
const track_namespace = r.readTuple();
|
|
1632
1647
|
const track_name = r.readString();
|
|
1633
|
-
const parameters = decodeParams(r);
|
|
1648
|
+
const parameters = decodeParams(r, "track_status");
|
|
1634
1649
|
return {
|
|
1635
1650
|
type: "track_status",
|
|
1636
1651
|
request_id,
|
|
@@ -1641,7 +1656,7 @@ function decodeTrackStatusPayload(r) {
|
|
|
1641
1656
|
};
|
|
1642
1657
|
}
|
|
1643
1658
|
function decodeRequestOkPayload(r) {
|
|
1644
|
-
const parameters = decodeParams(r);
|
|
1659
|
+
const parameters = decodeParams(r, "request_ok");
|
|
1645
1660
|
return { type: "request_ok", parameters };
|
|
1646
1661
|
}
|
|
1647
1662
|
function decodeRequestErrorPayload(r) {
|
|
@@ -1173,6 +1173,38 @@ function decodeRangeFilter(reader, hasProperty) {
|
|
|
1173
1173
|
}
|
|
1174
1174
|
return property_type !== void 0 ? { set_id, property_type, ranges } : { set_id, ranges };
|
|
1175
1175
|
}
|
|
1176
|
+
var PARAMETER_SCOPE = /* @__PURE__ */ new Map([
|
|
1177
|
+
[0x02n, /* @__PURE__ */ new Set(["request_ok", "subscribe", "request_update", "subscribe_tracks"])],
|
|
1178
|
+
[
|
|
1179
|
+
0x03n,
|
|
1180
|
+
/* @__PURE__ */ new Set([
|
|
1181
|
+
"publish",
|
|
1182
|
+
"subscribe",
|
|
1183
|
+
"request_update",
|
|
1184
|
+
"subscribe_namespace",
|
|
1185
|
+
"subscribe_tracks",
|
|
1186
|
+
"publish_namespace",
|
|
1187
|
+
"track_status",
|
|
1188
|
+
"fetch"
|
|
1189
|
+
])
|
|
1190
|
+
],
|
|
1191
|
+
[0x04n, /* @__PURE__ */ new Set(["subscribe", "subscribe_tracks"])],
|
|
1192
|
+
[0x06n, /* @__PURE__ */ new Set(["request_ok", "subscribe", "request_update", "subscribe_tracks"])],
|
|
1193
|
+
[0x08n, /* @__PURE__ */ new Set(["subscribe_ok", "publish", "request_ok"])],
|
|
1194
|
+
[0x09n, /* @__PURE__ */ new Set(["subscribe_ok", "publish", "request_ok"])],
|
|
1195
|
+
[0x0an, /* @__PURE__ */ new Set(["fetch"])],
|
|
1196
|
+
[0x10n, /* @__PURE__ */ new Set(["subscribe", "request_update", "publish", "request_ok", "subscribe_tracks"])],
|
|
1197
|
+
[0x20n, /* @__PURE__ */ new Set(["subscribe", "fetch", "request_update", "request_ok", "subscribe_tracks"])],
|
|
1198
|
+
[0x21n, /* @__PURE__ */ new Set(["subscribe", "request_ok", "request_update", "subscribe_tracks"])],
|
|
1199
|
+
[0x22n, /* @__PURE__ */ new Set(["subscribe", "subscribe_tracks", "fetch"])],
|
|
1200
|
+
[0x25n, /* @__PURE__ */ new Set(["fetch", "subscribe", "subscribe_tracks", "request_ok", "request_update"])],
|
|
1201
|
+
[0x26n, /* @__PURE__ */ new Set(["fetch", "subscribe", "subscribe_tracks", "request_ok", "request_update"])],
|
|
1202
|
+
[0x27n, /* @__PURE__ */ new Set(["fetch", "subscribe", "subscribe_tracks", "request_ok", "request_update"])],
|
|
1203
|
+
[0x28n, /* @__PURE__ */ new Set(["fetch", "subscribe", "subscribe_tracks", "request_ok", "request_update"])],
|
|
1204
|
+
[0x29n, /* @__PURE__ */ new Set(["subscribe_tracks", "request_update"])],
|
|
1205
|
+
[0x32n, /* @__PURE__ */ new Set(["request_ok", "subscribe", "request_update", "subscribe_tracks"])],
|
|
1206
|
+
[0x34n, /* @__PURE__ */ new Set(["request_update"])]
|
|
1207
|
+
]);
|
|
1176
1208
|
function encodeParams(params, writer) {
|
|
1177
1209
|
const entries = [];
|
|
1178
1210
|
if (params.object_delivery_timeout !== void 0) {
|
|
@@ -1214,13 +1246,12 @@ function encodeParams(params, writer) {
|
|
|
1214
1246
|
if (params.largest_object !== void 0) {
|
|
1215
1247
|
entries.push({
|
|
1216
1248
|
type: PARAM_LARGEST_OBJECT,
|
|
1249
|
+
// A Location is "Two consecutive varints (Group, Object)", which is a
|
|
1250
|
+
// different value encoding from "Length-prefixed". Nothing states the
|
|
1251
|
+
// length, so nothing writes one.
|
|
1217
1252
|
encode: (w) => {
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
tmpW.writeVarInt(params.largest_object.object);
|
|
1221
|
-
const raw = tmpW.finish();
|
|
1222
|
-
w.writeVarInt(BigInt(raw.byteLength));
|
|
1223
|
-
w.writeBytes(raw);
|
|
1253
|
+
w.writeVarInt(params.largest_object.group);
|
|
1254
|
+
w.writeVarInt(params.largest_object.object);
|
|
1224
1255
|
}
|
|
1225
1256
|
});
|
|
1226
1257
|
}
|
|
@@ -1307,12 +1338,11 @@ function encodeParams(params, writer) {
|
|
|
1307
1338
|
if (params.track_namespace_prefix !== void 0) {
|
|
1308
1339
|
entries.push({
|
|
1309
1340
|
type: PARAM_TRACK_NAMESPACE_PREFIX,
|
|
1341
|
+
// The parameter "uses the Track Namespace encoding", which is a tuple
|
|
1342
|
+
// that states its own field count. That is not the Length-prefixed
|
|
1343
|
+
// encoding, so there is no byte length ahead of it.
|
|
1310
1344
|
encode: (w) => {
|
|
1311
|
-
|
|
1312
|
-
encodeNamespaceTuple(params.track_namespace_prefix, tmpW);
|
|
1313
|
-
const raw = tmpW.finish();
|
|
1314
|
-
w.writeVarInt(BigInt(raw.byteLength));
|
|
1315
|
-
w.writeBytes(raw);
|
|
1345
|
+
encodeNamespaceTuple(params.track_namespace_prefix, w);
|
|
1316
1346
|
}
|
|
1317
1347
|
});
|
|
1318
1348
|
}
|
|
@@ -1337,15 +1367,22 @@ function encodeParams(params, writer) {
|
|
|
1337
1367
|
prevType = entry.type;
|
|
1338
1368
|
}
|
|
1339
1369
|
}
|
|
1340
|
-
function decodeParams(reader) {
|
|
1370
|
+
function decodeParams(reader, messageType) {
|
|
1341
1371
|
const count = Number(reader.readVarInt());
|
|
1342
1372
|
const result = {};
|
|
1343
|
-
const unknown = [];
|
|
1344
1373
|
let prevType = 0n;
|
|
1345
1374
|
for (let i = 0; i < count; i++) {
|
|
1346
1375
|
const delta = reader.readVarInt();
|
|
1347
1376
|
const paramType = prevType + delta;
|
|
1348
1377
|
prevType = paramType;
|
|
1378
|
+
const scope = PARAMETER_SCOPE.get(paramType);
|
|
1379
|
+
if (scope !== void 0 && !scope.has(messageType)) {
|
|
1380
|
+
throw new DecodeError(
|
|
1381
|
+
"CONSTRAINT_VIOLATION",
|
|
1382
|
+
`Message Parameter 0x${paramType.toString(16)} may not appear in ${messageType}`,
|
|
1383
|
+
reader.offset
|
|
1384
|
+
);
|
|
1385
|
+
}
|
|
1349
1386
|
if (paramType === PARAM_OBJECT_DELIVERY_TIMEOUT) {
|
|
1350
1387
|
result.object_delivery_timeout = reader.readVarInt();
|
|
1351
1388
|
} else if (paramType === PARAM_AUTHORIZATION_TOKEN) {
|
|
@@ -1359,12 +1396,8 @@ function decodeParams(reader) {
|
|
|
1359
1396
|
} else if (paramType === PARAM_EXPIRES) {
|
|
1360
1397
|
result.expires = reader.readVarInt();
|
|
1361
1398
|
} else if (paramType === PARAM_LARGEST_OBJECT) {
|
|
1362
|
-
const length = Number(reader.readVarInt());
|
|
1363
|
-
const startOff = reader.offset;
|
|
1364
1399
|
const group = reader.readVarInt();
|
|
1365
1400
|
const object = reader.readVarInt();
|
|
1366
|
-
const consumed = reader.offset - startOff;
|
|
1367
|
-
if (consumed < length) reader.readBytes(length - consumed);
|
|
1368
1401
|
result.largest_object = { group, object };
|
|
1369
1402
|
} else if (paramType === PARAM_FILL_TIMEOUT) {
|
|
1370
1403
|
result.fill_timeout = reader.readVarInt();
|
|
@@ -1402,32 +1435,15 @@ function decodeParams(reader) {
|
|
|
1402
1435
|
} else if (paramType === PARAM_NEW_GROUP_REQUEST) {
|
|
1403
1436
|
result.new_group_request = reader.readVarInt();
|
|
1404
1437
|
} else if (paramType === PARAM_TRACK_NAMESPACE_PREFIX) {
|
|
1405
|
-
|
|
1406
|
-
const bytes = reader.readBytes(length);
|
|
1407
|
-
result.track_namespace_prefix = decodeNamespaceTuple(new MoqtBufferReader(bytes));
|
|
1438
|
+
result.track_namespace_prefix = decodeNamespaceTuple(reader);
|
|
1408
1439
|
} else {
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
unknown.push({
|
|
1415
|
-
id: `0x${paramType.toString(16)}`,
|
|
1416
|
-
length: raw.byteLength,
|
|
1417
|
-
raw_hex: bytesToHex(raw)
|
|
1418
|
-
});
|
|
1419
|
-
} else {
|
|
1420
|
-
const length = Number(reader.readVarInt());
|
|
1421
|
-
const bytes = reader.readBytes(length);
|
|
1422
|
-
unknown.push({
|
|
1423
|
-
id: `0x${paramType.toString(16)}`,
|
|
1424
|
-
length,
|
|
1425
|
-
raw_hex: bytesToHex(bytes)
|
|
1426
|
-
});
|
|
1427
|
-
}
|
|
1440
|
+
throw new DecodeError(
|
|
1441
|
+
"INVALID_PARAMETER",
|
|
1442
|
+
`Unknown Message Parameter type 0x${paramType.toString(16)}`,
|
|
1443
|
+
reader.offset
|
|
1444
|
+
);
|
|
1428
1445
|
}
|
|
1429
1446
|
}
|
|
1430
|
-
if (unknown.length > 0) result.unknown = unknown;
|
|
1431
1447
|
return result;
|
|
1432
1448
|
}
|
|
1433
1449
|
var TPROP_OBJECT_DELIVERY_TIMEOUT = 0x02n;
|
|
@@ -1686,7 +1702,7 @@ function decodeSubscribePayload(r) {
|
|
|
1686
1702
|
const request_id = r.readVarInt();
|
|
1687
1703
|
const track_namespace = r.readTuple();
|
|
1688
1704
|
const track_name = r.readString();
|
|
1689
|
-
const parameters = decodeParams(r);
|
|
1705
|
+
const parameters = decodeParams(r, "subscribe");
|
|
1690
1706
|
return {
|
|
1691
1707
|
type: "subscribe",
|
|
1692
1708
|
request_id,
|
|
@@ -1697,13 +1713,13 @@ function decodeSubscribePayload(r) {
|
|
|
1697
1713
|
}
|
|
1698
1714
|
function decodeSubscribeOkPayload(r, payloadEnd) {
|
|
1699
1715
|
const track_alias = r.readVarInt();
|
|
1700
|
-
const parameters = decodeParams(r);
|
|
1716
|
+
const parameters = decodeParams(r, "subscribe_ok");
|
|
1701
1717
|
const track_properties = decodeTrackProperties(r, payloadEnd);
|
|
1702
1718
|
return { type: "subscribe_ok", track_alias, parameters, track_properties };
|
|
1703
1719
|
}
|
|
1704
1720
|
function decodeRequestUpdatePayload(r) {
|
|
1705
1721
|
const request_id = r.readVarInt();
|
|
1706
|
-
const parameters = decodeParams(r);
|
|
1722
|
+
const parameters = decodeParams(r, "request_update");
|
|
1707
1723
|
return {
|
|
1708
1724
|
type: "request_update",
|
|
1709
1725
|
request_id,
|
|
@@ -1715,7 +1731,7 @@ function decodePublishPayload(r, payloadEnd) {
|
|
|
1715
1731
|
const track_namespace = r.readTuple();
|
|
1716
1732
|
const track_name = r.readString();
|
|
1717
1733
|
const track_alias = r.readVarInt();
|
|
1718
|
-
const parameters = decodeParams(r);
|
|
1734
|
+
const parameters = decodeParams(r, "publish");
|
|
1719
1735
|
const track_properties = decodeTrackProperties(r, payloadEnd);
|
|
1720
1736
|
return {
|
|
1721
1737
|
type: "publish",
|
|
@@ -1736,7 +1752,7 @@ function decodePublishDonePayload(r) {
|
|
|
1736
1752
|
function decodePublishNamespacePayload(r) {
|
|
1737
1753
|
const request_id = r.readVarInt();
|
|
1738
1754
|
const track_namespace = r.readTuple();
|
|
1739
|
-
const parameters = decodeParams(r);
|
|
1755
|
+
const parameters = decodeParams(r, "publish_namespace");
|
|
1740
1756
|
return {
|
|
1741
1757
|
type: "publish_namespace",
|
|
1742
1758
|
request_id,
|
|
@@ -1755,7 +1771,7 @@ function decodeNamespaceDonePayload(r) {
|
|
|
1755
1771
|
function decodeSubscribeNamespacePayload(r) {
|
|
1756
1772
|
const request_id = r.readVarInt();
|
|
1757
1773
|
const namespace_prefix = r.readTuple();
|
|
1758
|
-
const parameters = decodeParams(r);
|
|
1774
|
+
const parameters = decodeParams(r, "subscribe_namespace");
|
|
1759
1775
|
return {
|
|
1760
1776
|
type: "subscribe_namespace",
|
|
1761
1777
|
request_id,
|
|
@@ -1766,7 +1782,7 @@ function decodeSubscribeNamespacePayload(r) {
|
|
|
1766
1782
|
function decodeSubscribeTracksPayload(r) {
|
|
1767
1783
|
const request_id = r.readVarInt();
|
|
1768
1784
|
const namespace_prefix = r.readTuple();
|
|
1769
|
-
const parameters = decodeParams(r);
|
|
1785
|
+
const parameters = decodeParams(r, "subscribe_tracks");
|
|
1770
1786
|
return {
|
|
1771
1787
|
type: "subscribe_tracks",
|
|
1772
1788
|
request_id,
|
|
@@ -1808,7 +1824,7 @@ function decodeFetchPayload(r) {
|
|
|
1808
1824
|
const joining_start = r.readVarInt();
|
|
1809
1825
|
joining = { joining_request_id, joining_start };
|
|
1810
1826
|
}
|
|
1811
|
-
const parameters = decodeParams(r);
|
|
1827
|
+
const parameters = decodeParams(r, "fetch");
|
|
1812
1828
|
return {
|
|
1813
1829
|
type: "fetch",
|
|
1814
1830
|
request_id,
|
|
@@ -1822,7 +1838,7 @@ function decodeFetchOkPayload(r, payloadEnd) {
|
|
|
1822
1838
|
const end_of_track = r.readUint8();
|
|
1823
1839
|
const end_group = r.readVarInt();
|
|
1824
1840
|
const end_object = r.readVarInt();
|
|
1825
|
-
const parameters = decodeParams(r);
|
|
1841
|
+
const parameters = decodeParams(r, "fetch_ok");
|
|
1826
1842
|
const track_properties = decodeTrackProperties(r, payloadEnd);
|
|
1827
1843
|
return {
|
|
1828
1844
|
type: "fetch_ok",
|
|
@@ -1837,7 +1853,7 @@ function decodeTrackStatusPayload(r) {
|
|
|
1837
1853
|
const request_id = r.readVarInt();
|
|
1838
1854
|
const track_namespace = r.readTuple();
|
|
1839
1855
|
const track_name = r.readString();
|
|
1840
|
-
const parameters = decodeParams(r);
|
|
1856
|
+
const parameters = decodeParams(r, "track_status");
|
|
1841
1857
|
return {
|
|
1842
1858
|
type: "track_status",
|
|
1843
1859
|
request_id,
|
|
@@ -1847,7 +1863,7 @@ function decodeTrackStatusPayload(r) {
|
|
|
1847
1863
|
};
|
|
1848
1864
|
}
|
|
1849
1865
|
function decodeRequestOkPayload(r, payloadEnd) {
|
|
1850
|
-
const parameters = decodeParams(r);
|
|
1866
|
+
const parameters = decodeParams(r, "request_ok");
|
|
1851
1867
|
const track_properties = decodeTrackProperties(r, payloadEnd);
|
|
1852
1868
|
return { type: "request_ok", parameters, track_properties };
|
|
1853
1869
|
}
|
|
@@ -2032,7 +2048,9 @@ function createStreamDecoder() {
|
|
|
2032
2048
|
}
|
|
2033
2049
|
function createDraft19Codec() {
|
|
2034
2050
|
return {
|
|
2035
|
-
|
|
2051
|
+
// Was '18' — a copy-paste from draft18/codec.ts. createSessionState() keys
|
|
2052
|
+
// off codec.draft, so a draft-19 codec was handing back a draft-18 FSM.
|
|
2053
|
+
draft: "19",
|
|
2036
2054
|
encodeMessage,
|
|
2037
2055
|
decodeMessage,
|
|
2038
2056
|
encodeSubgroupStream,
|