A · Захвачено
Успешный ответ на запрос захвата (A). token — это возрастающий с каждым захватом fencing-токен (u64, big-endian), а owner — значение, отправленное в запросе и возвращённое без изменений: это коррелятор, позволяющий точно определить, ответом на какую попытку захвата является этот кадр (Правила сопоставления ответов).
После op следует 16-байтовый фиксированный заголовок. Эти 16 байт — бинарное значение, которое может содержать 0x0A (\n), поэтому клиент обязан сначала прочитать их по количеству байт, и только потом искать перевод строки.
Обозначение байтов:
op— символ ASCII,tokenиowner— бинарные (u64, big-endian),key— текст в UTF-8 (переменной длины,Nв структуре). Завершающий\n— это0A.
Поток
Путей выдачи два, но кадр один и тот же — при немедленной выдаче или после ожидания пришедший A содержит актуальный на этот момент новый fencing-токен, и токен возрастает с каждым захватом. Если во время ожидания превышен wait, вместо этого ответа приходит Таймаут T.