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