Currently in testing: the GitHub code will be opened once complete.

A · Acquired

Structurerefresh

The success response to an acquire request (A). token is a fencing token (u64, big-endian) that increases with every grant, and owner is the value from the request echoed back verbatim — a correlator that pins down exactly which acquire attempt this response belongs to (see Reply Matching Rules).

A 16-byte fixed header follows the op. Because those 16 bytes are binary, they may contain 0x0A (\n), so the client must read them by byte count first before scanning for the newline.

Byte notation: op is an ASCII character, token/owner are binary (u64, big-endian), and key is UTF-8 text (variable-length, shown as N in the structure). The trailing \n is 0A.

Flow

Client
Server
A · acquire (key · owner)
key is unheld → issued immediately
A · acquired (token = n · owner echoed)
held → waits in queue for the holder to release or expire
turn arrives → A · acquired (token = n+1)
requestresponse

There are two paths to being granted, but the frame is the same either way — whether issued immediately or after waiting, the A that arrives carries a fresh fencing token at that moment, and the token only ever increases. If wait is exceeded while waiting, Timed Out T arrives instead of this response.