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