|
libivon 0.1.0
Voice-over-IP library
|
Server configuration. More...
#include <ivon_server_wrapper.hpp>
Public Attributes | ||
| std::string | address = "0.0.0.0" | |
| Listen address. | ||
| uint16_t | port = 9129 | |
| Listen port. | ||
| std::string | network_interface | |
| Bind to interface (Linux, e.g. "eth0") | ||
| size_t | num_threads = 1 | |
| IO thread count. | ||
| bool | require_password = false | |
| Require password from clients. | ||
| std::string | password | |
| Expected password. | ||
| uint32_t | max_password_attempts = 3 | |
| Attempts before rejection. | ||
| std::vector< std::string > | groups | |
| Groups created at startup. | ||
| uint16_t | fanout_base_port = 10300 | |
| Base UDP port for audio fanout. | ||
| std::string | fanout_advertise_address = "127.0.0.1" | |
| Address advertised to clients for fanout. | ||
| bool | key_rotation_on_leave = true | |
| Rotate group keys when members leave. | ||
| uint64_t | key_rotation_debounce_ms = 1000 | |
| Debounce interval for rotation (ms) | ||
| uint64_t | key_rotation_interval_ms = 0 | |
| Periodic rotation interval (0 = disabled) | ||
| struct { | ||
| std::vector< uint8_t > public_key | ||
| 32-byte public key More... | ||
| std::vector< uint8_t > private_key | ||
| 32-byte private key More... | ||
| } | raw_keys | |
| Raw key material — set ONE of raw_keys or key_files. | ||
| struct { | ||
| std::string public_key_file | ||
| Path to public key file. More... | ||
| std::string private_key_file | ||
| Path to private key file. More... | ||
| } | key_files | |
| Key files — set ONE of raw_keys or key_files. | ||
| bool | generate_keys = false | |
| If true and key_files load fails, generate a new pair. | ||
Server configuration.
Set all desired fields, then pass to the ServerWrapper constructor. Keys must be provided via either raw_keys or key_files (not both).
| std::string ivon::ServerWrapper::Config::address = "0.0.0.0" |
Listen address.
| std::string ivon::ServerWrapper::Config::fanout_advertise_address = "127.0.0.1" |
Address advertised to clients for fanout.
| uint16_t ivon::ServerWrapper::Config::fanout_base_port = 10300 |
Base UDP port for audio fanout.
| bool ivon::ServerWrapper::Config::generate_keys = false |
If true and key_files load fails, generate a new pair.
| std::vector<std::string> ivon::ServerWrapper::Config::groups |
Groups created at startup.
| struct { ... } ivon::ServerWrapper::Config::key_files |
Key files — set ONE of raw_keys or key_files.
| uint64_t ivon::ServerWrapper::Config::key_rotation_debounce_ms = 1000 |
Debounce interval for rotation (ms)
| uint64_t ivon::ServerWrapper::Config::key_rotation_interval_ms = 0 |
Periodic rotation interval (0 = disabled)
| bool ivon::ServerWrapper::Config::key_rotation_on_leave = true |
Rotate group keys when members leave.
| uint32_t ivon::ServerWrapper::Config::max_password_attempts = 3 |
Attempts before rejection.
| std::string ivon::ServerWrapper::Config::network_interface |
Bind to interface (Linux, e.g. "eth0")
| size_t ivon::ServerWrapper::Config::num_threads = 1 |
IO thread count.
| std::string ivon::ServerWrapper::Config::password |
Expected password.
| uint16_t ivon::ServerWrapper::Config::port = 9129 |
Listen port.
| std::vector<uint8_t> ivon::ServerWrapper::Config::private_key |
32-byte private key
| std::string ivon::ServerWrapper::Config::private_key_file |
Path to private key file.
| std::vector<uint8_t> ivon::ServerWrapper::Config::public_key |
32-byte public key
| std::string ivon::ServerWrapper::Config::public_key_file |
Path to public key file.
| struct { ... } ivon::ServerWrapper::Config::raw_keys |
Raw key material — set ONE of raw_keys or key_files.
| bool ivon::ServerWrapper::Config::require_password = false |
Require password from clients.