Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/source/network/NetServer.cpp
Show First 20 Lines • Show All 917 Lines • ▼ Show 20 Lines | bool CNetServerWorker::OnClientHandshake(void* context, CFsmEvent* event) | ||||
// Ensure unique GUID | // Ensure unique GUID | ||||
while(std::find_if( | while(std::find_if( | ||||
server.m_Sessions.begin(), server.m_Sessions.end(), | server.m_Sessions.begin(), server.m_Sessions.end(), | ||||
[&guid] (const CNetServerSession* session) | [&guid] (const CNetServerSession* session) | ||||
{ return session->GetGUID() == guid; }) != server.m_Sessions.end()) | { return session->GetGUID() == guid; }) != server.m_Sessions.end()) | ||||
{ | { | ||||
if (++count > 100) | if (++count > 100) | ||||
{ | { | ||||
session->Disconnect(NDR_UNKNOWN); | session->Disconnect(NDR_GUID_FAILED); | ||||
return true; | return true; | ||||
} | } | ||||
guid = ps_generate_guid(); | guid = ps_generate_guid(); | ||||
} | } | ||||
session->SetGUID(guid); | session->SetGUID(guid); | ||||
CSrvHandshakeResponseMessage handshakeResponse; | CSrvHandshakeResponseMessage handshakeResponse; | ||||
▲ Show 20 Lines • Show All 702 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator