]> git.sesse.net Git - cubemap/blobdiff - server.h
Rewrite the entire internal signal handling/wakeup.
[cubemap] / server.h
index e8114cfbdcf516a920cdb1a5690951e0705a1e46..4f964873b22503c54c1fa782c0785d453d5ba345 100644 (file)
--- a/server.h
+++ b/server.h
 #include <vector>
 
 #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<ClientStats> 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)