| Параметр | Значение |
|---|---|
| Транспорт | TCP (постоянное соединение, persistent) |
| Порт по умолчанию | 5225 |
| Опции сокета | TCP_NODELAY включён |
| Кодировка | бинарные поля фиксированной ширины + ключ в UTF-8. Целые числа — big-endian (network order) |
| Конец кадра | один байт \n. Обработка \r отсутствует |
| Фрейминг | диспетчеризация по op (1 байт) → сначала считываются фиксированные байты для данного op → затем последний key читается до \n |
| Пустой кадр | если приходит только \n (op равен \n), он игнорируется |
| Максимум на кадр | 192 байта (при превышении — E line_too_long, соединение сохраняется) |
| Пайплайнинг | разрешён — порядок ответов может отличаться от порядка запросов |
Поля фиксированной длины читаются по длине, поэтому наличие 0x0A (\n) внутри значения безопасно (например, lease=10 → 00 0A). Сканирование \n применяется только к последнему участку key/текста.