| 項目 | 値 |
|---|---|
| トランスポート | TCP(持続接続、persistent) |
| デフォルトポート | 5225 |
| ソケットオプション | TCP_NODELAY 有効 |
| エンコーディング | 固定幅バイナリフィールド + UTF-8 キー。整数はビッグエンディアン(network order) |
| フレーム終端 | \n 1バイト。\r の処理なし |
| フレーミング | op(1バイト)でディスパッチ → opごとの固定バイトを先に読み→ 最後のkeyを\nまで読む |
| 空フレーム | \nのみ(opが\n)が来た場合は無視 |
| フレーム最大長 | 192バイト(超過時 E line_too_long、接続は維持) |
| パイプライン化 | 許可 — 応答順序がリクエスト順序と異なる場合がある |
固定フィールドは長さで読み取るため、値の中に0x0A(\n)が含まれても安全です(例: lease=10 → 00 0A)。 \nのスキャンは最後のkey/テキスト区間にのみ適用されます。