### 📦 Поля структуры `Command`: | Поле | Назначение | | ---------------- | -------------------------------------------------- | | `op` | Тип операции: `PUT`, `DELETE`, `FIND` | | `key` | Хэш ключа `Hash128` | | `value` | Буфер под значение (для PUT) | | `value_size` | Размер значения в байтах | | `response` | Буфер под ответ от сервера (используется при FIND) | | `response_size` | Размер ответа в байтах | | `response_ready` | Флаг: 0 (ожидание), 1 (ответ готов) | --- ### 🔥 Пошаговый обмен: 1. Клиент заполняет `Command` структуры (устанавливает поля, сбрасывает `response_ready = 0`). 2. Клиент `push_batch()` пачку команд в `SharedCommandQueue`. 3. Сервер `try_pop_batch()`, обрабатывает. 4. Сервер пишет результат обратно в поля `Command` (`response`, `response_size`, `response_ready=1`). 5. Клиент ждет готовности (`response_ready.load() == 1`) и читает результат.