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