| Item | Value |
|---|---|
| Transport | TCP (persistent connection) |
| Default port | 5225 |
| Socket options | TCP_NODELAY enabled |
| Encoding | Fixed-width binary fields + UTF-8 keys. Integers are big-endian (network order) |
| Frame terminator | One \n byte. No \r handling |
| Framing | Dispatch on op (1 byte) → read the op's fixed bytes first → read the trailing key up to \n |
| Empty frame | A bare \n (op is \n) is ignored |
| Max frame size | 192 bytes (over the limit → E line_too_long, connection stays open) |
| Pipelining | Allowed — responses may arrive in a different order than requests |
Because fixed fields are read by length, it's safe for a value to contain 0x0A (\n) (e.g. lease=10 → 00 0A). The \n scan only applies to the trailing key/text segment.