Кратко
- Получение объектов 418 и 420 фиксирует разрыв нумерации, но не доказывает потерю в сети или то, что объект 419 не создавался.
- Текущий проект MOQT раздельно кодирует постоянное отсутствие, неизвестное состояние и исчерпание времени ожидания ретранслятора; телеметрия должна сохранить эти разные квитанции.
После 418 приходит 420. Мониторинг мгновенно записывает объект 419 в потери. Однако draft-ietf-moq-transport-21 не разрешает превращать номерной разрыв в готовый диагноз.
Объекты MOQT доставляются по потокам и дейтаграммам, через подписку или FETCH, напрямую или через ретрансляторы. 419 мог ещё не быть создан, не входить в фильтр этого пути, ожидаться выше по цепочке, выйти за бюджет ожидания или быть объявлен исходным издателем как объект, которого никогда не будет. На графике ситуации похожи, но их авторы и последствия различны.
Разрыв оставляет состояние неизвестным
Редакция 21 от 8 сентября сохраняет трёхсоставную модель, уже присутствовавшую в редакции 20. Для подписчика или кеша объект известен как существующий, известен как несуществующий либо остаётся неизвестным, потому что ещё не получен или не произведён. Новая редакция в основном перестраивает документ и не изобретает эту модель.
Правило узкое: наблюдаемый пропуск Object ID сам по себе ничего не сообщает о пропущенных объектах. Подгруппы используют разные потоки, дейтаграмма может обогнать поток, кеш может иметь края диапазона и запрашивать середину, а фильтр — исключать часть номеров.
Корректная квитанция называет Track, Group, Object, Subgroup, путь, механизм, наблюдателя и время. «Не появился здесь до срока» — факт. «Никогда не будет существовать» — утверждение, требующее полномочия.
Кто вправе сказать «никогда»
Prior Object ID Gap позволяет Original Publisher объявить, что предшествующий диапазон не существует и никогда не появится. Ретрансляторы не вправе добавлять это свойство. Удалить его можно лишь тогда, когда эквивалентный разрыв уже выражен ответом FETCH. Prior Group ID Gap применяет правило к группам.
Завершённый ограниченный FETCH тоже сообщает состояние диапазона, но формат различает End of Non-Existent Range, End of Unknown Range и End of Timed-Out Range. Издатель отвечает за долговременное решение о создании, ретранслятор — за хранение и ожидание, подписчик — за свой бюджет.
Тайм-аут — это квитанция бюджета
Важное недавнее изменение, перенесённое в текущий проект, — диапазон Timed-Out, добавленный в редакции 20. Код 0x20C отделяет объекты, ожидание которых ретранслятор прекратил после FILL_TIMEOUT, от действительно неизвестных объектов.
Параметр задаёт общий бюджет в миллисекундах для upstream FETCH одного запроса. Ноль означает только немедленно доступные данные. Без параметра срок зависит от реализации. Ретранслятор может сократить запрошенное время без уведомления.
Следовательно, Timed-Out доказывает лишь то, что данный ретранслятор перестал ждать в рамках данного запроса и бюджета. Это не доказательство потери пакета или отсутствия производства. Другой путь может доставить объект позже. Проект допускает позднее получение объекта после записи о его отсутствии из другого источника без автоматического признания Track повреждённым. Кешу нужны происхождение и правила согласования, а не вечная вера первому ответу.
У плеера другие часы
Медиа имеет срок воспроизведения. Существующий объект может прибыть корректно, но слишком поздно для зависимости декодера. Улучшающий слой может никогда не создаваться, а базовый продолжит работать. Время подключения, буфер и выбранное представление меняют результат для зрителя.
MOQT не определяет эти прикладные зависимости. Эксплуатация должна связывать, не сливая, наблюдение объекта, источник статуса, бюджет ретранслятора, переход кеша, зависимость кодека, срок показа и видимый эффект. Только так различаются задержка пути, неполный кеш, решение издателя и отбрасывание плеером корректных, но запоздавших данных.
Источники
- Карточка MOQT в Datatracker
- MOQT Transport, редакция 21
- MOQT Transport, редакция 20
- История редакций MOQT
- Изменение диапазона Timed-Out
- Удаление требования хранить Largest Location
- Репозиторий MOQT Transport
- RFC 9000: QUIC
- RFC 9221: QUIC Datagram
- Проект WebTransport поверх HTTP/3
- Heng Lu: минимальная начальная спецификация
- Heng Lu: слои реальности
- Heng Lu: первичность работающего кода
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров

