- std::string stream_id;
- std::string url;
-
- // Data we have received but not fully processed yet.
- std::vector<char> pending_data;
-
- // If <pending_data> starts with a Metacube header,
- // this is true.
- bool has_metacube_header;
-
- pthread_t worker_thread;
-
- // Whether we should stop or not.
- volatile bool should_stop;
+class Input : public Thread {
+public:
+ virtual ~Input();
+ virtual InputProto serialize() const = 0;
+ virtual std::string get_url() const = 0;
+ virtual void close_socket() = 0;
+ virtual void add_destination(int stream_index) = 0;