Кратко
- В редакции 21 после кода параметра
LOCATION_FILTER(0x21) находилось полеLength: по числу байтов приёмник определял наличие от нуля до четырёх следующих полей. Редакция 22 от 1 октября ставит на это местоLocation Filter Type. Значения0x000x05описывают допустимые формы, остальные означаютPROTOCOL_VIOLATION. - Журнал изменений относит эту замену к сеансовому и управляющему уровню. Более ясное описание приостановленной подписки отнесено к редакционным правкам. Документ остаётся рабочим Internet-Draft группы MOQ, а не готовым RFC или свидетельством аварии.
Узел-посредник может честно показать «соединение установлено» и всё же не дать ответа на вопрос, откуда началась выдача объектов. Для клиента это существенная разница: ближайший объект, абсолютная позиция и диапазон групп — не одно и то же. Именно поэтому небольшая перемена в кодировании фильтра требует отдельной проверки при обновлении посредников, а не только испытания доступности QUIC.
Старая схема помещала за номером параметра переменной длины число Length. Оно указывало размер следующих данных в байтах и тем самым позволяло понять, сколько необязательных переменных чисел передано. Нулевая длина означала отсутствие фильтра. Два нулевых поля имели особое значение «следующий объект». Относительное начало и абсолютный диапазон различались по числу полей и их значениям. Такое описание содержалось в разделе 9.20.10 редакции 21.
В разделе 9.20.9 новой редакции вместо длины стоит тип. 0x00 означает отсутствие фильтра, 0x01 — относительное начало, 0x02 — абсолютное начало, 0x03 — границу по группе, 0x04 — полный абсолютный диапазон, 0x05 — следующий объект. Последний вариант больше не кодируется особым сочетанием двух нулей и не требует дополнительных полей. Любой иной тип нарушает протокол. Это шесть форм записи запроса, а не шесть уровней доступа к публикации.
Параметр может входить в FETCH, SUBSCRIBE, PUBLISH, обновление подписки и уведомление о состоянии. Значит, один и тот же смысл позиции должен быть сохранён в разных управляющих путях. Когда посредник получает запрос на одном участке и создаёт запрос к издателю на другом, проверка должна включать обе версии и результат выбора объектов. Это практический вывод из стандартизируемого формата, не утверждение о найденной ошибке у конкретного оператора.
В проекте описано согласование версии через ALPN для QUIC и соответствующий механизм WebTransport; для черновиков предусмотрены временные идентификаторы по номеру редакции. Поэтому из несовпадения кодировок не следует, что корректные участники обязательно обменяются несовместимыми пакетами. Следует проверить, какая редакция была согласована на каждом соединении и соответствует ли ей работающий декодер. Успешный ответ на управляющий запрос сам по себе также не удостоверяет выбранный диапазон.
Приложение с перечнем изменений отделяет новый тип фильтра от переработки объяснений. Уточнение паузы подписки и структуры FETCH стоит в редакционной части списка. Назвать эти возможности впервые появившимися в октябре означало бы превратить улучшение текста в ложный анонс функции. Проверяемая новость здесь одна: форма LOCATION_FILTER на проводе стала явно обозначенной.
Источники
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров

