Renaming, Fixed NetworkMessage serialization and performance improvement with vectors in connection handler

This commit is contained in:
TheDoctor
2019-10-19 19:38:58 +01:00
parent e026da4ccd
commit 3555534628
7 changed files with 38 additions and 18 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;