+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;
+
+ // Note: May be called from a different thread, so must be thread-safe.
+ virtual InputStats get_stats() const = 0;