X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=udpinput.h;fp=udpinput.h;h=0f89d6828de79b9be3e27db77ed2d7efcf93fb70;hp=0000000000000000000000000000000000000000;hb=ca9624c43b968a0f29ea44e47851ff686bb64bb6;hpb=f583e4d329222d8ce2a11524e924c02139b4f28d diff --git a/udpinput.h b/udpinput.h new file mode 100644 index 0000000..0f89d68 --- /dev/null +++ b/udpinput.h @@ -0,0 +1,39 @@ +#ifndef _UDPINPUT_H +#define _UDPINPUT_H 1 + +#include +#include + +#include "input.h" + +class InputProto; + +class UDPInput : public Input { +public: + UDPInput(const std::string &stream_id, const std::string &url); + + // Serialization/deserialization. + UDPInput(const InputProto &serialized); + virtual InputProto serialize() const; + + virtual std::string get_url() const { return url; } + virtual void close_socket(); + +private: + // Actually gets the packets. + virtual void do_work(); + + // Create the HTTP header. + void construct_header(); + + std::string stream_id; + + // The URL and its parsed components. + std::string url; + std::string host, port, path; + + // The socket we are receiving on (or -1). + int sock; +}; + +#endif // !defined(_UDPINPUT_H)