don't bother with lobby id free list

This commit is contained in:
Martin Michelsen
2022-12-22 22:27:23 -08:00
parent c8b89a7cad
commit f3dfa0989f
2 changed files with 4 additions and 6 deletions
+4 -3
View File
@@ -189,10 +189,11 @@ vector<shared_ptr<Lobby>> ServerState::all_lobbies() {
}
shared_ptr<Lobby> ServerState::create_lobby() {
shared_ptr<Lobby> l(new Lobby(this->next_lobby_id++));
if (!this->id_to_lobby.emplace(l->lobby_id, l).second) {
throw logic_error("lobby already exists with the given id");
while (this->id_to_lobby.count(this->next_lobby_id)) {
this->next_lobby_id++;
}
shared_ptr<Lobby> l(new Lobby(this->next_lobby_id++));
this->id_to_lobby.emplace(l->lobby_id, l);
l->log.info("Created lobby");
return l;
}
-3
View File
@@ -99,9 +99,6 @@ struct ServerState {
std::vector<std::shared_ptr<Lobby>> public_lobby_search_order_v1;
std::vector<std::shared_ptr<Lobby>> public_lobby_search_order_non_v1;
std::vector<std::shared_ptr<Lobby>> public_lobby_search_order_ep3;
// TODO: Use a free-list instead of an incrementer to prevent wrap-around
// behavioral bugs. This... will probably never be an issue for anyone, but we
// technically should handle it.
std::atomic<int32_t> next_lobby_id;
uint8_t pre_lobby_event;
int32_t ep3_menu_song;