X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=greprotocol.h;h=c54efd699cc530fcafcbb40ab2c67582210e18fd;hb=HEAD;hp=621553400ca2365fc3636fe4cebd746a492da5e3;hpb=8e81c01b2de70c5e7e1a73d25ebbece0a95bd2c8;p=greproxy diff --git a/greprotocol.h b/greprotocol.h index 6215534..c54efd6 100644 --- a/greprotocol.h +++ b/greprotocol.h @@ -1,25 +1,28 @@ #ifndef _GREPROTOCOL_H #define _GREPROTOCOL_H -#include "protocol.h" - #include +#include #include #include -class Reorderer; +#include "protocol.h" -class GREProtocol : public Protocol { +class GREProtocol : public Sender, public Reader { public: GREProtocol(const in6_addr &myaddr, const in6_addr &dst); - virtual void send_packet(uint16_t proto, const std::string &data, int incoming_seq); + virtual void send_packet(uint16_t proto, const std::string &data, uint32_t incoming_seq); virtual int fd() const; - void read_packet(Protocol* sender); + virtual void read_packet(Sender* sender); + + int get_received_packets() const { return received_packets; } + int get_sent_packets() const { return sent_packets; } private: - int seq; int sock; sockaddr_in6 dstaddr; + + int received_packets = 0, sent_packets = 0; }; #endif // !defined(_GREPROTOCOL_H)