feat: implement the production HTTP API
This commit is contained in:
@@ -72,6 +72,19 @@ session_result_t session_manager_resume(session_manager_t *manager, const uint8_
|
||||
return SESSION_RESULT_UNAUTHORIZED;
|
||||
}
|
||||
|
||||
bool session_manager_find(const session_manager_t *manager, const uint8_t token[kSessionTokenBytes],
|
||||
uint8_t *session_index) {
|
||||
if (manager == NULL || token == NULL || session_index == NULL) return false;
|
||||
for (uint8_t index = 0; index < kSessionCapacity; ++index) {
|
||||
const session_t *session = &manager->entries[index];
|
||||
if (session->occupied && memcmp(session->token, token, kSessionTokenBytes) == 0) {
|
||||
*session_index = index;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool session_manager_disconnect(session_manager_t *manager, uint8_t session_index) {
|
||||
if (manager == NULL || session_index >= kSessionCapacity || !manager->entries[session_index].occupied) return false;
|
||||
if (manager->entries[session_index].role == ROLE_SPECTATOR) memset(&manager->entries[session_index], 0, sizeof(session_t));
|
||||
|
||||
Reference in New Issue
Block a user