disconnect queue
This commit is contained in:
@@ -136,18 +136,21 @@ void Server::Accept() {
|
||||
}
|
||||
|
||||
void Server::UpdateSockets() {
|
||||
std::int16_t closedConnexionID = -1;
|
||||
static std::vector<std::int16_t> closeConnexions;
|
||||
for (auto& connection : m_Connections) {
|
||||
ServerConnexion& con = connection.second;
|
||||
if (con.GetSocketStatus() != network::Socket::Status::Connected) {
|
||||
closedConnexionID = connection.first;
|
||||
closeConnexions.push_back(connection.first);
|
||||
} else {
|
||||
con.UpdateSocket();
|
||||
}
|
||||
}
|
||||
if (closedConnexionID != -1) {
|
||||
RemoveConnexion(closedConnexionID);
|
||||
|
||||
for (auto id : closeConnexions) {
|
||||
RemoveConnexion(id);
|
||||
}
|
||||
|
||||
closeConnexions.clear();
|
||||
}
|
||||
|
||||
void Server::BroadcastPacket(const protocol::Packet* packet) {
|
||||
|
||||
Reference in New Issue
Block a user