X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=httpd.h;fp=httpd.h;h=314a34a4a1cd377b2c942b934ca99f2d1dfefee2;hb=12958b47efa45a14a1a31a32cd281b86787f1aee;hp=94de03199827f5282e4e195ee23e0150bc4fbb4f;hpb=0bf2aa9f951762549a0d4714eb38bb1997ede1af;p=nageru diff --git a/httpd.h b/httpd.h index 94de031..314a34a 100644 --- a/httpd.h +++ b/httpd.h @@ -15,10 +15,12 @@ #include struct MHD_Connection; +struct MHD_Daemon; class HTTPD { public: HTTPD(); + ~HTTPD(); // Should be called before start(). void set_header(const std::string &data) { @@ -63,17 +65,20 @@ private: DATA_TYPE_OTHER }; void add_data(const char *buf, size_t size, DataType data_type); + void stop(); private: Framing framing; std::mutex buffer_mutex; + bool should_quit = false; // Under . std::condition_variable has_buffered_data; - std::deque buffered_data; // Protected by . + std::deque buffered_data; // Protected by . size_t used_of_buffered_data = 0; // How many bytes of the first element of that is already used. Protected by . size_t seen_keyframe = false; }; + MHD_Daemon *mhd = nullptr; std::mutex streams_mutex; std::set streams; // Not owned. std::string header;