don't bother with lobby id free list
This commit is contained in:
+4
-3
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user