X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=config.h;h=8de6704ddd4e5e9c5292bca64b85740fa31faeeb;hp=bed0551c3e3de4709963dc0fa305b3143dfd7362;hb=adbeb2f8972672ed1059509662d006df47762228;hpb=d1ad2cf60ca694f742e2061a596bc27c7e58f5c8 diff --git a/config.h b/config.h index bed0551..8de6704 100644 --- a/config.h +++ b/config.h @@ -3,6 +3,7 @@ // Various routines that deal with parsing the configuration file. +#include #include #include #include @@ -12,10 +13,17 @@ struct MarkPoolConfig { }; struct StreamConfig { - std::string stream_id; + std::string url; // As seen by the client. std::string src; // Can be empty. size_t backlog_size; int mark_pool; // -1 for none. + enum { STREAM_ENCODING_RAW = 0, STREAM_ENCODING_METACUBE } encoding; +}; + +struct UDPStreamConfig { + sockaddr_in6 dst; + std::string src; // Can be empty. + int mark_pool; // -1 for none. }; struct AcceptorConfig { @@ -28,14 +36,18 @@ struct LogConfig { }; struct Config { + bool daemonize; int num_servers; std::vector mark_pools; std::vector streams; + std::vector udpstreams; std::vector acceptors; std::vector log_destinations; std::string stats_file; // Empty means no stats file. int stats_interval; + + std::string access_log_file; // Empty means no accses_log file. }; // Parse and validate configuration. Returns false on error.