R-Type
2
Doom but in better
Loading...
Searching...
No Matches
client_manager.cpp
Go to the documentation of this file.
1
#include "
client_manager.hpp
"
2
3
uint32_t
ClientManager::resolveClientID
(
const
asio::ip::udp::endpoint& ep) {
4
std::lock_guard<std::mutex> lock(mutex_);
5
auto
it = epToId_.find(ep);
6
if
(it != epToId_.end()) {
7
return
it->second;
8
}
else
{
9
uint32_t newId = nextId_++;
10
epToId_[ep] = newId;
11
idToEp_[newId] = ep;
12
return
newId;
13
}
14
}
15
16
void
ClientManager::removeClient
(
const
asio::ip::udp::endpoint& ep) {
17
std::lock_guard<std::mutex> lock(mutex_);
18
auto
it = epToId_.find(ep);
19
if
(it != epToId_.end()) {
20
uint32_t cid = it->second;
21
epToId_.erase(it);
22
idToEp_.erase(cid);
23
}
24
}
25
26
asio::ip::udp::endpoint
ClientManager::getEndpointForId
(uint32_t clientId) {
27
std::lock_guard<std::mutex> lock(mutex_);
28
auto
it = idToEp_.find(clientId);
29
if
(it != idToEp_.end()) {
30
return
it->second;
31
}
32
return
asio::ip::udp::endpoint();
// invalid
33
}
ClientManager::getEndpointForId
asio::ip::udp::endpoint getEndpointForId(uint32_t clientId)
Returns the endpoint for a given clientId if known, else a default-constructed endpoint.
Definition
client_manager.cpp:26
ClientManager::resolveClientID
uint32_t resolveClientID(const asio::ip::udp::endpoint &ep)
Definition
client_manager.cpp:3
ClientManager::removeClient
void removeClient(const asio::ip::udp::endpoint &ep)
Definition
client_manager.cpp:16
client_manager.hpp
server
src
client_manager.cpp
Generated on Thu Feb 6 2025 22:34:21 for R-Type by
1.12.0