В общем, самый быстрый равен O (1) , что является поиском с постоянным временем. Как этого добиться и, если это возможно, ограничено конкретным контекстом, который у вас есть.
Из вашего объяснения пока неясно, какие у вас есть ограничения (у сервера), и мы также не знаем, какая у него информация и как она работает.
Открытые вопросы:
- Кто знает статус?
- Кто знает о состоянии, как клиента, так и сервера?
- Что сервер «имеет доступ» до того, как хочет узнать статус клиента?
- Нужен ли серверу статус всех клиентов каждый раз?
Несколько примеров, когда сервер хочет знать статус клиента:
Сервер имеет указатель на объект клиента и статус на клиенте.
int status = client->getStatus();
Сервер имеет идентификатор клиента и статус сохраняется в массиве. Клиентские идентификаторы от 0-999.
int status = clientStatus[clientId];
Оба из вышеперечисленных являются O (1).
Если вы лучше опишите вещи, вы получите лучшие ответы.