X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=greprotocol.h;h=c54efd699cc530fcafcbb40ab2c67582210e18fd;hb=HEAD;hp=9cec54b7658897e0a98f158d2ff130998e0cc9e7;hpb=47f75fc7569e504a94a601cb3a81793400b134ac;p=greproxy diff --git a/greprotocol.h b/greprotocol.h index 9cec54b..c54efd6 100644 --- a/greprotocol.h +++ b/greprotocol.h @@ -8,19 +8,21 @@ #include "protocol.h" -class Reorderer; - -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)