mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Make Connection::Receive return the data via a SharedBuffer reference, so the caller doesn't have to choose the right buffer size in advance.
Conflicts: src/test.cpp
This commit is contained in:
parent
28660b4c1a
commit
1c98ec94da
5 changed files with 33 additions and 35 deletions
52
src/test.cpp
52
src/test.cpp
|
@ -852,9 +852,9 @@ struct TestConnection
|
|||
try
|
||||
{
|
||||
u16 peer_id;
|
||||
u8 data[100];
|
||||
SharedBuffer<u8> data;
|
||||
infostream<<"** running client.Receive()"<<std::endl;
|
||||
u32 size = client.Receive(peer_id, data, 100);
|
||||
u32 size = client.Receive(peer_id, data);
|
||||
infostream<<"** Client received: peer_id="<<peer_id
|
||||
<<", size="<<size
|
||||
<<std::endl;
|
||||
|
@ -874,9 +874,9 @@ struct TestConnection
|
|||
try
|
||||
{
|
||||
u16 peer_id;
|
||||
u8 data[100];
|
||||
SharedBuffer<u8> data;
|
||||
infostream<<"** running server.Receive()"<<std::endl;
|
||||
u32 size = server.Receive(peer_id, data, 100);
|
||||
u32 size = server.Receive(peer_id, data);
|
||||
infostream<<"** Server received: peer_id="<<peer_id
|
||||
<<", size="<<size
|
||||
<<std::endl;
|
||||
|
@ -901,9 +901,9 @@ struct TestConnection
|
|||
try
|
||||
{
|
||||
u16 peer_id;
|
||||
u8 data[100];
|
||||
SharedBuffer<u8> data;
|
||||
infostream<<"** running client.Receive()"<<std::endl;
|
||||
u32 size = client.Receive(peer_id, data, 100);
|
||||
u32 size = client.Receive(peer_id, data);
|
||||
infostream<<"** Client received: peer_id="<<peer_id
|
||||
<<", size="<<size
|
||||
<<std::endl;
|
||||
|
@ -919,9 +919,9 @@ struct TestConnection
|
|||
try
|
||||
{
|
||||
u16 peer_id;
|
||||
u8 data[100];
|
||||
SharedBuffer<u8> data;
|
||||
infostream<<"** running server.Receive()"<<std::endl;
|
||||
u32 size = server.Receive(peer_id, data, 100);
|
||||
u32 size = server.Receive(peer_id, data);
|
||||
infostream<<"** Server received: peer_id="<<peer_id
|
||||
<<", size="<<size
|
||||
<<std::endl;
|
||||
|
@ -944,14 +944,14 @@ struct TestConnection
|
|||
sleep_ms(50);
|
||||
|
||||
u16 peer_id;
|
||||
u8 recvdata[100];
|
||||
SharedBuffer<u8> recvdata;
|
||||
infostream<<"** running server.Receive()"<<std::endl;
|
||||
u32 size = server.Receive(peer_id, recvdata, 100);
|
||||
u32 size = server.Receive(peer_id, recvdata);
|
||||
infostream<<"** Server received: peer_id="<<peer_id
|
||||
<<", size="<<size
|
||||
<<", data="<<*data
|
||||
<<std::endl;
|
||||
assert(memcmp(*data, recvdata, data.getSize()) == 0);
|
||||
assert(memcmp(*data, *recvdata, data.getSize()) == 0);
|
||||
}
|
||||
#endif
|
||||
u16 peer_id_client = 2;
|
||||
|
@ -987,29 +987,29 @@ struct TestConnection
|
|||
infostream<<"*** Receiving the packets"<<std::endl;
|
||||
|
||||
u16 peer_id;
|
||||
u8 recvdata[20];
|
||||
SharedBuffer<u8> recvdata;
|
||||
u32 size;
|
||||
|
||||
infostream<<"** running client.Receive()"<<std::endl;
|
||||
peer_id = 132;
|
||||
size = client.Receive(peer_id, recvdata, 20);
|
||||
size = client.Receive(peer_id, recvdata);
|
||||
infostream<<"** Client received: peer_id="<<peer_id
|
||||
<<", size="<<size
|
||||
<<", data="<<recvdata
|
||||
<<", data="<<*recvdata
|
||||
<<std::endl;
|
||||
assert(size == data1.getSize());
|
||||
assert(memcmp(*data1, recvdata, data1.getSize()) == 0);
|
||||
assert(memcmp(*data1, *recvdata, data1.getSize()) == 0);
|
||||
assert(peer_id == PEER_ID_SERVER);
|
||||
|
||||
infostream<<"** running client.Receive()"<<std::endl;
|
||||
peer_id = 132;
|
||||
size = client.Receive(peer_id, recvdata, 20);
|
||||
size = client.Receive(peer_id, recvdata);
|
||||
infostream<<"** Client received: peer_id="<<peer_id
|
||||
<<", size="<<size
|
||||
<<", data="<<recvdata
|
||||
<<", data="<<*recvdata
|
||||
<<std::endl;
|
||||
assert(size == data2.getSize());
|
||||
assert(memcmp(*data2, recvdata, data2.getSize()) == 0);
|
||||
assert(memcmp(*data2, *recvdata, data2.getSize()) == 0);
|
||||
assert(peer_id == PEER_ID_SERVER);
|
||||
|
||||
bool got_exception = false;
|
||||
|
@ -1017,10 +1017,10 @@ struct TestConnection
|
|||
{
|
||||
infostream<<"** running client.Receive()"<<std::endl;
|
||||
peer_id = 132;
|
||||
size = client.Receive(peer_id, recvdata, 20);
|
||||
size = client.Receive(peer_id, recvdata);
|
||||
infostream<<"** Client received: peer_id="<<peer_id
|
||||
<<", size="<<size
|
||||
<<", data="<<recvdata
|
||||
<<", data="<<*recvdata
|
||||
<<std::endl;
|
||||
}
|
||||
catch(con::NoIncomingDataException &e)
|
||||
|
@ -1056,12 +1056,12 @@ struct TestConnection
|
|||
//int receivetimes = myrand_range(1,20);
|
||||
int receivetimes = 20;
|
||||
for(int i=0; i<receivetimes; i++){
|
||||
u8 recvdata[100000];
|
||||
SharedBuffer<u8> recvdata;
|
||||
u16 peer_id = 132;
|
||||
u16 size = 0;
|
||||
bool received = false;
|
||||
try{
|
||||
size = client.Receive(peer_id, recvdata, 100000);
|
||||
size = client.Receive(peer_id, recvdata);
|
||||
received = true;
|
||||
}catch(con::NoIncomingDataException &e){
|
||||
}
|
||||
|
@ -1092,7 +1092,7 @@ struct TestConnection
|
|||
|
||||
sleep_ms(3000);
|
||||
|
||||
u8 recvdata[datasize + 1000];
|
||||
SharedBuffer<u8> recvdata;
|
||||
infostream<<"** running client.Receive()"<<std::endl;
|
||||
u16 peer_id = 132;
|
||||
u16 size = 0;
|
||||
|
@ -1102,7 +1102,7 @@ struct TestConnection
|
|||
if(porting::getTimeMs() - timems0 > 5000)
|
||||
break;
|
||||
try{
|
||||
size = client.Receive(peer_id, recvdata, datasize + 1000);
|
||||
size = client.Receive(peer_id, recvdata);
|
||||
received = true;
|
||||
}catch(con::NoIncomingDataException &e){
|
||||
}
|
||||
|
@ -1116,13 +1116,13 @@ struct TestConnection
|
|||
infostream<<"Received data (size="<<size<<"):";
|
||||
for(int i=0; i<size && i<20; i++){
|
||||
if(i%2==0) DEBUGPRINT(" ");
|
||||
DEBUGPRINT("%.2X", ((int)((const char*)recvdata)[i])&0xff);
|
||||
DEBUGPRINT("%.2X", ((int)(recvdata[i]))&0xff);
|
||||
}
|
||||
if(size>20)
|
||||
infostream<<"...";
|
||||
infostream<<std::endl;
|
||||
|
||||
assert(memcmp(*data1, recvdata, data1.getSize()) == 0);
|
||||
assert(memcmp(*data1, *recvdata, data1.getSize()) == 0);
|
||||
assert(peer_id == PEER_ID_SERVER);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue