Core/Networking: Rewrite networking threading model
Each network thread has its own io_service - this means that all operations on a given socket except queueing packets run from a single thread, removing the need for locking Sending packets now writes to a lockfree intermediate queue directly, encryption is applied in network thread if it was required at the time of sending the packet (cherry picked from commit 97a79af4701621ec04b88c8b548dbc35d120e99e)
This commit is contained in:
1 parent
d4184065b6
commit
b2e03a7448
12 files changed
+282
-184
No files matched your search
@@ -274,10 +274,7 @@ void AuthSession::SendPacket(ByteBuffer& packet)
|
||||
{
|
||||
MessageBuffer buffer;
|
||||
buffer.Write(packet.contents(), packet.size());
|
||||
|
||||
std::unique_lock<std::mutex> guard(_writeLock);
|
||||
|
||||
QueuePacket(std::move(buffer), guard);
|
||||
QueuePacket(std::move(buffer));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user