feat: implement the production HTTP API

This commit is contained in:
2026-08-28 23:20:07 +03:00
parent 97bebfd8fb
commit 95b3450317
12 changed files with 872 additions and 546 deletions
+13
View File
@@ -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));