VLink 2.0.0
A high-performance communication middleware
Loading...
Searching...
No Matches
vlink::ProxyServer::Config Struct Referencefinal

Construction-time configuration for ProxyServer. More...

#include <proxy_server.h>

Collaboration diagram for vlink::ProxyServer::Config:

Public Attributes

bool async {false}
 Async data forwarding on the MessageLoop thread.
bool reliable {false}
 Use reliable DDS QoS; must match all client configs.
bool enable_tcp {false}
 Use TCP transport for DDS data channels.
bool direct {false}
 Use SHM channels for data (requires use_iox or external RouDi).
bool native_mode {false}
 Restrict all DDS traffic to loopback (127.0.0.1).
int domain_id {0}
 DDS domain ID.
uint32_t buf_size {0}
 DDS socket send/receive buffer in bytes; 0 = default.
uint32_t mtu_size {0}
 DDS fragment MTU in bytes; 0 = default.
double max_packet_size {0}
 Maximum relayed payload in MiB; 0 = no limit.
std::string security_key
 Security key for authenticated DDS channels.
std::string bind_ip
 Local IP to bind DDS sockets; empty = any.
std::string peer_ip
 Peer unicast IP for DDS; empty = multicast.
std::string dds_impl {"dds"}
 DDS implementation transport.
bool use_iox {false}
 Initialise embedded Iceoryx RouDi daemon.
bool iox_monitoring {true}
 Enable Iceoryx introspection monitoring.
int iox_strategy {1}
 Iceoryx memory allocation strategy.
std::string iox_config
 Path to Iceoryx TOML config file; empty = default.
uint16_t runnable_version_major {1}
 Required major ABI version for runnable plugins.
uint16_t runnable_version_minor {0}
 Required minor ABI version for runnable plugins.
std::string runnable_prefix
 Library filename prefix for plugin discovery.
std::vector< std::string > runnable_list
 Ordered list of plugin names to load on startup.

Detailed Description

Construction-time configuration for ProxyServer.

The fields reliable, enable_tcp, and direct are broadcast in every Time heartbeat so that connecting ProxyAPI clients can verify compatibility. Mismatches result in the client reporting an error and refusing to connect.

Field Summary
Field Default Description
async false Publish data on the MessageLoop thread; false = inline on subscriber.
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 buffer size in bytes; 0 = built-in default.
mtu_size 0 DDS MTU size in bytes; 0 = built-in default.
max_packet_size 0 Maximum relayed message size in MiB; 0 = unlimited.
security_key "" Security key for Time, Info, and Control DDS channels.
bind_ip "" Bind DDS sockets to this IP; empty = any interface.
peer_ip "" Unicast peer IP for DDS 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 configuration file; empty = default.
runnable_version_major 1 Required major version for loaded runnable plugins.
runnable_version_minor 0 Required minor version for loaded runnable plugins.
runnable_prefix "" Library name prefix for plugin shared objects.
runnable_list {} Names of runnable plugins (RunablePluginInterface in the API).

Member Data Documentation

◆ async

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

Async data forwarding on the MessageLoop thread.

◆ bind_ip

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

Local IP to bind DDS sockets; empty = any.

◆ buf_size

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

DDS socket send/receive buffer in bytes; 0 = default.

◆ dds_impl

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

DDS implementation transport.

◆ direct

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

Use SHM channels for data (requires use_iox or external RouDi).

◆ 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

Path to Iceoryx TOML config file; empty = default.

◆ iox_monitoring

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

Enable Iceoryx introspection monitoring.

◆ iox_strategy

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

Iceoryx memory allocation strategy.

◆ max_packet_size

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

Maximum relayed payload in MiB; 0 = no limit.

◆ 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 all DDS traffic 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 all client configs.

◆ runnable_list

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

Ordered list of plugin names to load on startup.

◆ runnable_prefix

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

Library filename prefix for plugin discovery.

◆ runnable_version_major

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

Required major ABI version for runnable plugins.

◆ runnable_version_minor

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

Required minor ABI version for runnable plugins.

◆ security_key

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

Security key for authenticated DDS channels.

◆ use_iox

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

Initialise embedded Iceoryx RouDi daemon.


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