// no size information -> no packet
if (buffer.size() < sizeof(unsigned int))
- return false;
+ return 0;
packet_size_indicator psize=*((packet_size_indicator*)(buffer.data()));
// enough data for one packet in buffer?
if (buffer.size() < sizeof(unsigned int)+psize)
- return false;
+ return 0;
// ok, full packet there
- return true;
+ return psize;
}
bool connection::get_packet(std::string& data)
// prepend packet size to data
packet_size_indicator psize=data.size();
std::string send_data(data);
- send_data.insert(0,(char*)psize,sizeof(packet_size_indicator));
+ send_data.insert(0,(char*)&psize,sizeof(packet_size_indicator));
real_write(send_data);
}
-
-
}