libivon 0.1.0
Voice-over-IP library
Loading...
Searching...
No Matches
ivon::ServerWrapper::Config Class Reference

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.
 

Detailed Description

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).

Member Data Documentation

◆ address

std::string ivon::ServerWrapper::Config::address = "0.0.0.0"

Listen address.

◆ fanout_advertise_address

std::string ivon::ServerWrapper::Config::fanout_advertise_address = "127.0.0.1"

Address advertised to clients for fanout.

◆ fanout_base_port

uint16_t ivon::ServerWrapper::Config::fanout_base_port = 10300

Base UDP port for audio fanout.

◆ generate_keys

bool ivon::ServerWrapper::Config::generate_keys = false

If true and key_files load fails, generate a new pair.

◆ groups

std::vector<std::string> ivon::ServerWrapper::Config::groups

Groups created at startup.

◆ [struct]

struct { ... } ivon::ServerWrapper::Config::key_files

Key files — set ONE of raw_keys or key_files.

◆ key_rotation_debounce_ms

uint64_t ivon::ServerWrapper::Config::key_rotation_debounce_ms = 1000

Debounce interval for rotation (ms)

◆ key_rotation_interval_ms

uint64_t ivon::ServerWrapper::Config::key_rotation_interval_ms = 0

Periodic rotation interval (0 = disabled)

◆ key_rotation_on_leave

bool ivon::ServerWrapper::Config::key_rotation_on_leave = true

Rotate group keys when members leave.

◆ max_password_attempts

uint32_t ivon::ServerWrapper::Config::max_password_attempts = 3

Attempts before rejection.

◆ network_interface

std::string ivon::ServerWrapper::Config::network_interface

Bind to interface (Linux, e.g. "eth0")

◆ num_threads

size_t ivon::ServerWrapper::Config::num_threads = 1

IO thread count.

◆ password

std::string ivon::ServerWrapper::Config::password

Expected password.

◆ port

uint16_t ivon::ServerWrapper::Config::port = 9129

Listen port.

◆ private_key

std::vector<uint8_t> ivon::ServerWrapper::Config::private_key

32-byte private key

◆ private_key_file

std::string ivon::ServerWrapper::Config::private_key_file

Path to private key file.

◆ public_key

std::vector<uint8_t> ivon::ServerWrapper::Config::public_key

32-byte public key

◆ public_key_file

std::string ivon::ServerWrapper::Config::public_key_file

Path to public key file.

◆ [struct]

struct { ... } ivon::ServerWrapper::Config::raw_keys

Raw key material — set ONE of raw_keys or key_files.

◆ require_password

bool ivon::ServerWrapper::Config::require_password = false

Require password from clients.


The documentation for this class was generated from the following file: