X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=udpinput.h;h=b3f504aa20255943302a77e5673489fd89ba4831;hp=e41266e0dc3340a151d1a1a44a45748dcc628f1a;hb=6544fa0ec3f3a501bcb89ea977756911bd7f3ebd;hpb=9abb89bcf7940e2ada9d708f86a218a56334f68d diff --git a/udpinput.h b/udpinput.h index e41266e..b3f504a 100644 --- a/udpinput.h +++ b/udpinput.h @@ -1,6 +1,7 @@ #ifndef _UDPINPUT_H #define _UDPINPUT_H 1 +#include #include #include @@ -21,6 +22,8 @@ public: virtual void add_destination(int stream_index); + virtual InputStats get_stats() const; + private: // Actually gets the packets. virtual void do_work(); @@ -32,13 +35,22 @@ private: // The URL and its parsed components. std::string url; - std::string host, port, path; + std::string user, host, port, path; // The HTTP header we're sending to clients. std::string http_header; // The socket we are receiving on (or -1). int sock; + + // Temporary buffer, sized for the maximum size of an UDP packet. + char packet_buf[65536]; + + // Mutex protecting . + mutable pthread_mutex_t stats_mutex; + + // The current statistics for this connection. Protected by . + InputStats stats; }; #endif // !defined(_UDPINPUT_H)