Кратко

  • В Media over QUIC Transport версии 22 значение FORWARD=0 приостанавливает объекты установленной подписки, но не прекращает управляющие сообщения, включая PUBLISH_DONE.
  • Если все подписчики снизу на паузе, ретранслятор вправе оставить верхнюю подписку активной ради прогрева кэша. Квитанция паузы не доказывает остановку получения и расхода ресурсов.

Зритель нажимает паузу: кадр замирает, поток к устройству уменьшается. При этом промежуточный ретранслятор может продолжать принимать прямую трансляцию, чтобы быстрее возобновить показ. Проект протокола допускает оба состояния одновременно.

draft-ietf-moq-transport-22 от 1 октября 2026 года определяет MOQT как протокол публикации и подписки поверх QUIC и WebTransport. Datatracker показывает активный Internet-Draft рабочей группы Media Over QUIC. Это не RFC и не свидетельство внедрения. В заголовке документа указан Standards Track, а в Datatracker сейчас нет предполагаемого RFC-статуса; такое расхождение не означает утверждения.

Версия 22 уточняет термин. В версии 21 использовался Forward State со значением 0 или 1. Теперь подписка называется приостановленной или неприостановленной, что отмечено в списке изменений. Сам переключатель не возник в октябре; яснее стала его эксплуатационная граница.

Издатель не отправляет объекты по приостановленной подписке, но продолжает управляющие сообщения, в том числе PUBLISH_DONE. Инициатор задаёт исходный FORWARD в PUBLISH или SUBSCRIBE. Затем подписчик посылает REQUEST_UPDATE с 0 для паузы и с 1 для продолжения. Иное значение считается нарушением протокола.

Пауза — не отмена. Состояние хранится до отмены, PUBLISH_DONE или REQUEST_ERROR. Запрос на заполнение тоже не переносится автоматически: FILL_PARAMETERS, обработанный во время паузы, не открывает fill-fetch, а простое продолжение не откроет его позже. Для пропущенного диапазона понадобится новое намерение.

Завершение потока несёт отдельный смысл. Если поток подгруппы закрывается до доставки всех относящихся объектов, его надо сбросить; пропуск из-за паузы назван прямо. Чистый FIN может подтвердить полноту от начала подписки. Сброс предупреждает, что объекты после последнего принятого могли существовать. Это не одинаковые квитанции.

Главная свобода остаётся у ретранслятора. Пока хотя бы один нижний подписчик не на паузе, верхняя подписка должна работать. Когда остановились все, ретранслятор выбирает. Активный верхний поток доставляет объекты и прогревает кэш, уменьшая задержку продолжения, но тратит ресурсы издателя и сети на контент, который сейчас никому вниз не идёт. Верхняя пауза экономит работу и может замедлить возврат.

Поэтому зелёный значок паузы не доказывает экономию, конфиденциальность или полный покой системы. Он описывает доставку по одной подписке. Он не устанавливает, прекратились ли получение сверху, изменения кэша, работа издателя или тарифицируемый трафик. Продолжение также нельзя предполагать — верхнее плечо надо измерять.

Надёжная эксплуатационная цепочка содержит семь записей: упорядоченное намерение подписчика; подтверждённое состояние издателя; фактическое прекращение объектов вниз; продолжающиеся управляющие сообщения; решение ретранслятора для верхнего плеча; измеренные трафик и кэш; видимый результат после продолжения. Одна галочка не заменяет остальные.

Minimum Initial Specification Хэн Лу отделяет общее от локального: действие FORWARD должно быть точным, а выбор между задержкой и ресурсами может оставаться местным. Running-Code Primacy требует наблюдения байтов вместо доверия метке. Reality Layers не смешивает остановленный кадр, протокольное состояние, кэш и работу издателя. Это редакционное применение Daniel Kade, а не позиция IETF.

Власть команды заканчивается на названной границе. Пользователь приостанавливает доставку себе, но не получает автоматического контроля над стратегией ретранслятора. Обещания нулевого получения, записи в кэш или начисления требуют отдельного механизма и отдельной квитанции.

Источники