struct Handshake
{
- Msp::UInt64 hash;
+ uint64_t hash;
};
class HandshakeReceiver: public PacketReceiver<Handshake>
{
private:
- Msp::UInt64 hash;
+ uint64_t hash = 0;
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():
- hash(0)
-{ }
-
void HandshakeReceiver::receive(const Handshake &shake)
{
hash = shake.hash;
socket(s),
protocol(p),
receiver(r),
- handshake_status(0),
- buf_size(1024),
in_buf(new char[buf_size]),
in_begin(in_buf),
in_end(in_buf),
- out_buf(new char[buf_size]),
- good(true)
+ out_buf(new char[buf_size])
{
socket.signal_data_available.connect(sigc::mem_fun(this, &Communicator::data_available));
}
handshake_status = 1;
}
-void Communicator::send_data(unsigned size)
+void Communicator::send_data(size_t size)
{
if(!good)
throw sequence_error("connection aborted");
{
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;
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);
}