Renaming, Fixed NetworkMessage serialization and performance improvement with vectors in connection handler
This commit is contained in:
@ -61,7 +61,7 @@ namespace std::net
|
||||
int32_t sizeOfNetHeader = sizeof(NetworkHeader);
|
||||
|
||||
NetworkHeader header;
|
||||
header.Size = 13 + sizeOfNetHeader + sizeof(T);
|
||||
header.Size = 13 + sizeOfNetHeader + (m_data ? sizeof(T) : 0);
|
||||
|
||||
byte *bytes = new byte[header.Size]();
|
||||
memcpy(bytes, &header, sizeOfNetHeader);
|
||||
@ -75,7 +75,8 @@ namespace std::net
|
||||
memcpy(bytes + sizeOfNetHeader + 5, destination, 4);
|
||||
memcpy(bytes + sizeOfNetHeader + 9, tag, 4);
|
||||
|
||||
memcpy(bytes + 13 + sizeOfNetHeader, m_data, sizeof(T));
|
||||
if (m_data)
|
||||
memcpy(bytes + 13 + sizeOfNetHeader, m_data, sizeof(T));
|
||||
|
||||
size = header.Size;
|
||||
return bytes;
|
||||
|
||||
@ -28,6 +28,12 @@ namespace std::net
|
||||
sendMessage(msg);
|
||||
}
|
||||
|
||||
void SendMessage(DistributionMode mode, uint32_t destinationId, uint32_t tag)
|
||||
{
|
||||
NetworkMessage msg(m_id, mode, destinationId, tag, nullptr, 0);
|
||||
sendMessage(msg);
|
||||
}
|
||||
|
||||
void ReceiveData();
|
||||
|
||||
function<void(uint32_t, DistributionMode, uint32_t, uint32_t, void*)> DataReceivedEvent;
|
||||
|
||||
@ -35,10 +35,10 @@ namespace std::net
|
||||
uint32_t GetAvailableID();
|
||||
|
||||
private:
|
||||
void HandleReceiveMsgAndConns();
|
||||
void HandleConnections();
|
||||
void HandleMessage(const NetworkMessage &msg);
|
||||
|
||||
void HandleReceiveMsgAndConnsThreaded();
|
||||
void HandleConnectionsThreaded();
|
||||
|
||||
private:
|
||||
vector<shared_ptr<TcpConnection>> m_list;
|
||||
|
||||
Reference in New Issue
Block a user