]> git.sesse.net Git - greproxy/blob - rsencoder.h
Add FEC.
[greproxy] / rsencoder.h
1 #ifndef _RSENCODER_H
2 #define _RSENCODER_H 1
3
4 #include <stdint.h>
5
6 #include <string>
7 #include <vector>
8
9 #include "protocol.h"
10
11 class Sender;
12
13 class RSEncoder : public Sender {
14 public:
15         RSEncoder(Sender* sender) : sender(sender) {}
16         virtual void send_packet(uint16_t proto, const std::string &data, int incoming_seq);
17
18 private:
19         void finish_group();
20
21         Sender* sender;
22         std::vector<GREPacket> packet_history;
23 };
24
25 #endif  // !defined(_RSENCODER_H)