--- /dev/null
+#ifndef _RSDECODER_H
+#define _RSDECODER_H 1
+
+#include <stdint.h>
+
+#include <map>
+
+#include "reorderer.h"
+
+class Sender;
+
+class RSDecoder : public Sender {
+public:
+ RSDecoder(Sender *sender);
+ virtual void send_packet(uint16_t proto, const std::string &data, int incoming_seq);
+
+private:
+ struct RSGroup {
+ std::map<int, GREPacket> packets;
+ bool done;
+ };
+ Sender *sender;
+ std::map<int, RSGroup> rs_groups;
+};
+
+#endif /* !defined(_RSDECODER_H) */