This commit is contained in:
Loic Blot 2015-03-24 09:37:07 +01:00
commit a367cce8f5
4 changed files with 11 additions and 10 deletions

View File

@ -442,7 +442,8 @@ struct ConnectionCommand
type = CONNCMD_SEND;
peer_id = peer_id_;
channelnum = channelnum_;
data = pkt->oldForgePacket();
data = Buffer<u8>(pkt->getSize() + 2);
pkt->oldForgePacket(data);
reliable = reliable_;
}

View File

@ -510,14 +510,12 @@ NetworkPacket& NetworkPacket::operator<<(video::SColor src)
return *this;
}
Buffer<u8> NetworkPacket::oldForgePacket()
void NetworkPacket::oldForgePacket(Buffer<u8> &buf)
{
SharedBuffer<u8> sb(m_datasize + 2);
writeU16(&sb[0], m_command);
writeU16(&buf[0], m_command);
u8* datas = getU8Ptr(0);
if (datas != NULL)
memcpy(&sb[2], datas, m_datasize);
return sb;
memcpy(&buf[2], datas, m_datasize);
}

View File

@ -103,8 +103,8 @@ public:
NetworkPacket& operator>>(video::SColor& dst);
NetworkPacket& operator<<(video::SColor src);
// Temp, we remove SharedBuffer when migration finished
Buffer<u8> oldForgePacket();
// Temp, we remove Buffer when migration finished
void oldForgePacket(Buffer<u8> &buf);
private:
template<typename T> void checkDataSize()
{

View File

@ -2024,7 +2024,8 @@ struct TestConnection: public TestBase
{
NetworkPacket pkt((u8*) "Hello World !", 14, 0);
SharedBuffer<u8> sentdata = pkt.oldForgePacket();
Buffer<u8> sentdata(14+2);
pkt.oldForgePacket(sentdata);
infostream<<"** running client.Send()"<<std::endl;
client.Send(PEER_ID_SERVER, 0, &pkt, true);
@ -2065,7 +2066,8 @@ struct TestConnection: public TestBase
infostream<<"...";
infostream<<std::endl;
SharedBuffer<u8> sentdata = pkt.oldForgePacket();
Buffer<u8> sentdata(datasize+2);
pkt.oldForgePacket(sentdata);
server.Send(peer_id_client, 0, &pkt, true);