|
VLink 2.0.0
A high-performance communication middleware
|
Construction-time configuration for ProxyServer.
More...
#include <proxy_server.h>
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. | |
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 | 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). |
| bool vlink::ProxyServer::Config::async {false} |
Async data forwarding on the MessageLoop thread.
| std::string vlink::ProxyServer::Config::bind_ip |
Local IP to bind DDS sockets; empty = any.
| uint32_t vlink::ProxyServer::Config::buf_size {0} |
DDS socket send/receive buffer in bytes; 0 = default.
| std::string vlink::ProxyServer::Config::dds_impl {"dds"} |
DDS implementation transport.
| bool vlink::ProxyServer::Config::direct {false} |
Use SHM channels for data (requires use_iox or external RouDi).
| 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 |
Path to Iceoryx TOML config file; empty = default.
| bool vlink::ProxyServer::Config::iox_monitoring {true} |
Enable Iceoryx introspection monitoring.
| int vlink::ProxyServer::Config::iox_strategy {1} |
Iceoryx memory allocation strategy.
| double vlink::ProxyServer::Config::max_packet_size {0} |
Maximum relayed payload in MiB; 0 = no limit.
| uint32_t vlink::ProxyServer::Config::mtu_size {0} |
DDS fragment MTU in bytes; 0 = default.
| bool vlink::ProxyServer::Config::native_mode {false} |
Restrict all DDS traffic 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 all client configs.
| std::vector<std::string> vlink::ProxyServer::Config::runnable_list |
Ordered list of plugin names to load on startup.
| std::string vlink::ProxyServer::Config::runnable_prefix |
Library filename prefix for plugin discovery.
| uint16_t vlink::ProxyServer::Config::runnable_version_major {1} |
Required major ABI version for runnable plugins.
| uint16_t vlink::ProxyServer::Config::runnable_version_minor {0} |
Required minor ABI version for runnable plugins.
| std::string vlink::ProxyServer::Config::security_key |
Security key for authenticated DDS channels.
| bool vlink::ProxyServer::Config::use_iox {false} |
Initialise embedded Iceoryx RouDi daemon.