X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=config.h;h=f06b9c56ef819cb1aaa7228dca1f5f5179fda680;hp=5395d5affbb4e47e42d8fa1099864569973445fb;hb=d4f9b205e5091c496f0367dcd4dcc29e0a842f7f;hpb=8f44468bfe4a1d1607b0ab7044c3071605ae1fa7 diff --git a/config.h b/config.h index 5395d5a..f06b9c5 100644 --- a/config.h +++ b/config.h @@ -3,6 +3,8 @@ // Various routines that deal with parsing the configuration file. +#include +#include #include #include #include @@ -12,15 +14,23 @@ 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. + uint32_t pacing_rate; // In bytes per second. Default is ~0U (no limit). 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. + uint32_t pacing_rate; // In bytes per second. Default is ~0U (no limit). +}; + struct AcceptorConfig { - int port; + sockaddr_in6 addr; }; struct LogConfig { @@ -33,12 +43,16 @@ struct Config { 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 input_stats_file; // Empty means no input stats file. + int input_stats_interval; + std::string access_log_file; // Empty means no accses_log file. };