]> git.sesse.net Git - cubemap/blobdiff - config.h
Fix compilation error with newer glibc; broken after IWYU.
[cubemap] / config.h
index d79d3d79de584292cf51efecd6a22d0c8917fc72..f06b9c56ef819cb1aaa7228dca1f5f5179fda680 100644 (file)
--- a/config.h
+++ b/config.h
@@ -3,6 +3,8 @@
 
 // Various routines that deal with parsing the configuration file.
 
+#include <arpa/inet.h>
+#include <netinet/in.h>
 #include <stddef.h>
 #include <string>
 #include <vector>
@@ -16,11 +18,19 @@ struct StreamConfig {
        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<MarkPoolConfig> mark_pools;
        std::vector<StreamConfig> streams;
+       std::vector<UDPStreamConfig> udpstreams;
        std::vector<AcceptorConfig> acceptors;
        std::vector<LogConfig> 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.
 };