X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=server.h;h=4f964873b22503c54c1fa782c0785d453d5ba345;hp=e8114cfbdcf516a920cdb1a5690951e0705a1e46;hb=3fd8650ccf3da3960a946d8ac9abc305aec399ce;hpb=488f28bf7070f44469a006ed4a9d4c423788d175 diff --git a/server.h b/server.h index e8114cf..4f96487 100644 --- a/server.h +++ b/server.h @@ -12,13 +12,13 @@ #include #include "client.h" +#include "stream.h" #include "thread.h" class ClientProto; struct Stream; #define EPOLL_MAX_EVENTS 8192 -#define EPOLL_TIMEOUT_MS 20 #define MAX_CLIENT_REQUEST 16384 class CubemapStateProto; @@ -34,7 +34,9 @@ public: std::vector get_client_stats() const; // Set header (both HTTP header and any stream headers) for the given stream. - void set_header(const std::string &stream_id, const std::string &header); + void set_header(const std::string &stream_id, + const std::string &http_header, + const std::string &stream_header); // Set that the given stream should use the given mark pool from now on. // NOTE: This should be set before any clients are connected! @@ -51,8 +53,10 @@ public: // at the same time). CubemapStateProto serialize(); void add_client_from_serialized(const ClientProto &client); - void add_stream(const std::string &stream_id, size_t bytes_received); - void add_stream_from_serialized(const StreamProto &stream); + void add_stream(const std::string &stream_id, size_t bytes_received, Stream::Encoding encoding); + void add_stream_from_serialized(const StreamProto &stream, int data_fd); + void set_backlog_size(const std::string &stream_id, size_t new_size); + void set_encoding(const std::string &stream_id, Stream::Encoding encoding); private: // Mutex protecting queued_data only. Note that if you want to hold both this @@ -123,7 +127,6 @@ private: void process_queued_data(); void add_client(int sock); - void add_data(const std::string &stream_id, const char *data, ssize_t bytes); }; #endif // !defined(_SERVER_H)