X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fnet%2Fcommunicator.cpp;h=05ef0ea86e0f4e9a6f6710864537a800e61ff663;hb=f97f21c17f24e1d426e5b5863676071a5809b185;hp=07c3be4f6b1d7c25623a957217a98f5bccea21a6;hpb=df1b7561be0d4a57e964c783c01060c54864ec60;p=libs%2Fnet.git diff --git a/source/net/communicator.cpp b/source/net/communicator.cpp index 07c3be4..05ef0ea 100644 --- a/source/net/communicator.cpp +++ b/source/net/communicator.cpp @@ -10,7 +10,7 @@ using namespace Msp::Net; struct Handshake { - Msp::UInt64 hash; + uint64_t hash; }; @@ -30,12 +30,12 @@ HandshakeProtocol::HandshakeProtocol(): class HandshakeReceiver: public PacketReceiver { private: - Msp::UInt64 hash; + uint64_t hash; public: HandshakeReceiver(); - Msp::UInt64 get_hash() const { return hash; } - virtual void receive(const Handshake &); + uint64_t get_hash() const { return hash; } + void receive(const Handshake &) override; }; HandshakeReceiver::HandshakeReceiver(): @@ -58,7 +58,7 @@ Communicator::Communicator(StreamSocket &s, const Protocol &p, ReceiverBase &r): protocol(p), receiver(r), handshake_status(0), - buf_size(1024), + buf_size(65536), in_buf(new char[buf_size]), in_begin(in_buf), in_end(in_buf), @@ -83,7 +83,7 @@ void Communicator::initiate_handshake() handshake_status = 1; } -void Communicator::send_data(unsigned size) +void Communicator::send_data(size_t size) { if(!good) throw sequence_error("connection aborted"); @@ -116,9 +116,7 @@ void Communicator::data_available() while(more) { if(handshake_status==2) - { more = receive_packet(protocol, receiver); - } else { HandshakeProtocol hsproto; @@ -162,7 +160,7 @@ bool Communicator::receive_packet(const Protocol &proto, ReceiverBase &recv) { if(in_end==in_buf+buf_size) { - unsigned used = in_end-in_begin; + size_t used = in_end-in_begin; memmove(in_buf, in_begin, used); in_begin = in_buf; in_end = in_begin+used; @@ -177,7 +175,7 @@ void Communicator::send_handshake() shake.hash = protocol.get_hash(); HandshakeProtocol hsproto; - unsigned size = hsproto.serialize(shake, out_buf, buf_size); + size_t size = hsproto.serialize(shake, out_buf, buf_size); socket.write(out_buf, size); }