VLink  2.0.0
A high-performance communication middleware
vlink::ProxyServer::Config Struct Referencefinal

Construction-time configuration aggregate for ProxyServer. More...

#include <proxy_server.h>

Collaboration diagram for vlink::ProxyServer::Config:

Public Attributes

bool async {false}
 Forward data asynchronously on the MessageLoop thread. More...
 
bool reliable {false}
 Use reliable DDS QoS; must match every client. More...
 
bool enable_tcp {false}
 Use TCP transport for DDS data channels. More...
 
bool direct {false}
 Use ProxyAPI-managed local SHM channels for data. More...
 
bool native_mode {false}
 Restrict every DDS endpoint to loopback (127.0.0.1). More...
 
int domain_id {0}
 DDS domain ID. More...
 
uint32_t buf_size {0}
 DDS socket buffer in bytes; 0 = default. More...
 
uint32_t mtu_size {0}
 DDS fragment MTU in bytes; 0 = default. More...
 
double max_packet_size
 Maximum relayed payload in MiB; 0 drops every non-empty message (set > 0 to forward). More...
 
std::string security_key
 Security key; empty = default security slot. More...
 
std::string bind_ip
 Local IP for DDS sockets; empty = any. More...
 
std::string peer_ip
 Peer unicast IP for DDS; empty = multicast. More...
 
std::string dds_impl {"dds"}
 DDS implementation transport identifier. More...
 
bool use_iox {false}
 Launch an embedded Iceoryx RouDi. More...
 
bool iox_monitoring {true}
 Enable Iceoryx introspection. More...
 
int iox_strategy {1}
 Iceoryx memory allocation strategy index. More...
 
std::string iox_config
 Iceoryx TOML config path; empty = default. More...
 
uint16_t runnable_version_major {1}
 Required major ABI version for plugins. More...
 
uint16_t runnable_version_minor {0}
 Required minor ABI version for plugins. More...
 
std::string runnable_prefix
 Plugin library filename prefix. More...
 
std::vector< std::string > runnable_list
 Ordered plugin names to load on startup. More...
 

Detailed Description

Construction-time configuration aggregate for ProxyServer.

Every reliable, enable_tcp, and direct flag is echoed inside each Time heartbeat, so connecting ProxyAPI clients can verify wire-compatibility and refuse to attach when their own configuration would deviate.

Field Default Description
async false Forward data on the MessageLoop thread; false = inline relay.
reliable false Use reliable DDS QoS for data channels.
enable_tcp false Use TCP transport for data channels.
direct false Use SHM (Iceoryx) instead of DDS for data forwarding.
native_mode false Restrict all DDS traffic to 127.0.0.1 (loopback).
domain_id 0 DDS domain ID shared with all clients.
buf_size 0 DDS socket send/receive buffer in bytes; 0 = built-in default.
mtu_size 0 DDS MTU size in bytes; 0 = built-in default.
max_packet_size 0 Maximum relayed payload in MiB; see note below.
security_key "" Security key for control channels; empty = default slot.
bind_ip "" Bind DDS sockets to this IP; empty = any interface.
peer_ip "" Unicast peer IP for discovery; empty = multicast.
dds_impl "dds" DDS implementation: "dds", "ddsc", "ddsr", etc.
use_iox false Launch an embedded Iceoryx RouDi daemon at startup.
iox_monitoring true Enable Iceoryx introspection/monitoring.
iox_strategy 1 Iceoryx memory strategy index passed to ShmConf::init_roudi().
iox_config "" Path to a custom Iceoryx TOML; empty = default.
runnable_version_major 1 Required major ABI version for runnable plugins.
runnable_version_minor 0 Required minor ABI version for runnable plugins.
runnable_prefix "" Library filename prefix for plugin discovery.
runnable_list {} Ordered names of RunablePluginInterface plugins to load.
Note
max_packet_size is interpreted in MiB. The default value 0 drops every non-empty message – there is no special case in the implementation. Set it to a positive number to forward larger packets. The vlink-proxy CLI defaults this field to 4.0.

Member Data Documentation

◆ async

bool vlink::ProxyServer::Config::async {false}

Forward data asynchronously on the MessageLoop thread.

◆ bind_ip

std::string vlink::ProxyServer::Config::bind_ip

Local IP for DDS sockets; empty = any.

◆ buf_size

uint32_t vlink::ProxyServer::Config::buf_size {0}

DDS socket buffer in bytes; 0 = default.

◆ dds_impl

std::string vlink::ProxyServer::Config::dds_impl {"dds"}

DDS implementation transport identifier.

◆ direct

bool vlink::ProxyServer::Config::direct {false}

Use ProxyAPI-managed local SHM channels for data.

◆ domain_id

int vlink::ProxyServer::Config::domain_id {0}

DDS domain ID.

◆ enable_tcp

bool vlink::ProxyServer::Config::enable_tcp {false}

Use TCP transport for DDS data channels.

◆ iox_config

std::string vlink::ProxyServer::Config::iox_config

Iceoryx TOML config path; empty = default.

◆ iox_monitoring

bool vlink::ProxyServer::Config::iox_monitoring {true}

Enable Iceoryx introspection.

◆ iox_strategy

int vlink::ProxyServer::Config::iox_strategy {1}

Iceoryx memory allocation strategy index.

◆ max_packet_size

double vlink::ProxyServer::Config::max_packet_size
Initial value:
{
0}

Maximum relayed payload in MiB; 0 drops every non-empty message (set > 0 to forward).

◆ mtu_size

uint32_t vlink::ProxyServer::Config::mtu_size {0}

DDS fragment MTU in bytes; 0 = default.

◆ native_mode

bool vlink::ProxyServer::Config::native_mode {false}

Restrict every DDS endpoint to loopback (127.0.0.1).

◆ peer_ip

std::string vlink::ProxyServer::Config::peer_ip

Peer unicast IP for DDS; empty = multicast.

◆ reliable

bool vlink::ProxyServer::Config::reliable {false}

Use reliable DDS QoS; must match every client.

◆ runnable_list

std::vector<std::string> vlink::ProxyServer::Config::runnable_list

Ordered plugin names to load on startup.

◆ runnable_prefix

std::string vlink::ProxyServer::Config::runnable_prefix

Plugin library filename prefix.

◆ runnable_version_major

uint16_t vlink::ProxyServer::Config::runnable_version_major {1}

Required major ABI version for plugins.

◆ runnable_version_minor

uint16_t vlink::ProxyServer::Config::runnable_version_minor {0}

Required minor ABI version for plugins.

◆ security_key

std::string vlink::ProxyServer::Config::security_key

Security key; empty = default security slot.

◆ use_iox

bool vlink::ProxyServer::Config::use_iox {false}

Launch an embedded Iceoryx RouDi.


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