Кратко

  • Sent фиксирует конец ответственности API за сообщение после передачи нижележащему стеку.
  • RFC 9622 оставляет фактическое место данных зависимым от реализации, поэтому событие не доказывает ни выхода пакета, ни приёма другой стороной.

В отчётах слово «отправлено» часто выглядит как финальная точка. Оно может автоматически закрыть задачу, отключить повторную попытку или стать основанием для обещания клиенту. Но у этого слова есть носитель: приложение, ядро, интерфейс, сеть или адресат. Когда их различия стираются, локальная запись начинает выдавать себя за чужой факт.

Стандартная API из RFC 9622 проводит границу без двусмысленного оптимизма. В документе 2025 года Colin Perkins указан среди авторов. Событие Sent наступает, когда данные, полученные из сообщения, прошли вниз или через базовый протокольный стек и больше не находятся в ведении API. В этот момент они могут уже быть переданы, а могут находиться в буфере сетевого интерфейса, в буфере ядра или в ином состоянии, определяемом реализацией.

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

Локальные отрицательные события тоже не нужно превращать в удалённые выводы. Expired означает, что сообщение не было отправлено до истечения Lifetime. SendError говорит о локальной ошибке: размере, сбое нижнего стека или несовместимых свойствах. Lifetime — подсказка системе, а не гарантия отсутствия поздней отправки. Ни один из этих сигналов не отвечает на вопрос, прочитал ли удалённый сервис данные.

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

Sources