100#undef VLINK_PROXY_SERVER_EXPORT
101#ifdef VLINK_PROXY_SERVER_LIBRARY_STATIC
102#define VLINK_PROXY_SERVER_EXPORT
103#elif defined(_WIN32) || defined(__CYGWIN__)
104#ifdef VLINK_PROXY_SERVER_LIBRARY
105#define VLINK_PROXY_SERVER_EXPORT __declspec(dllexport)
107#define VLINK_PROXY_SERVER_EXPORT __declspec(dllimport)
110#define VLINK_PROXY_SERVER_EXPORT __attribute__((visibility("default")))
237 void init_shm_roudi();
241 void init_runnable();
245 void send_control(
const void* control_data);
249 std::unique_ptr<struct ProxyServerImpl> impl_;
MessageLoop()
Constructs a MessageLoop with kNormalType queue.
void on_end() override
Called from the loop thread just after the last task has been processed.
~ProxyServer() override
Destructor.
size_t get_max_task_count() const override
Returns the maximum queue depth.
uint32_t get_max_elapsed_time() const override
Returns the maximum allowed task execution time in milliseconds.
void on_begin() override
Called from the loop thread just before the first task is processed.
ProxyServer(const Config &config)
Constructs a ProxyServer and initialises all subsystems.
#define VLINK_DISALLOW_COPY_AND_ASSIGN(classname)
Deletes the copy constructor and copy-assignment operator of classname.
Definition macros.h:184
Single-threaded event loop with three queue types, timer management and task scheduling.
#define VLINK_PROXY_SERVER_EXPORT
Definition proxy_server.h:110
Construction-time configuration for ProxyServer.
Definition proxy_server.h:169
bool async
Async data forwarding on the MessageLoop thread.
Definition proxy_server.h:170
std::string iox_config
Path to Iceoryx TOML config file; empty = default.
Definition proxy_server.h:186
std::vector< std::string > runnable_list
Ordered list of plugin names to load on startup.
Definition proxy_server.h:190
bool direct
Use SHM channels for data (requires use_iox or external RouDi).
Definition proxy_server.h:173
std::string peer_ip
Peer unicast IP for DDS; empty = multicast.
Definition proxy_server.h:181
std::string security_key
Security key for authenticated DDS channels.
Definition proxy_server.h:179
bool native_mode
Restrict all DDS traffic to loopback (127.0.0.1).
Definition proxy_server.h:174
uint32_t mtu_size
DDS fragment MTU in bytes; 0 = default.
Definition proxy_server.h:177
int domain_id
DDS domain ID.
Definition proxy_server.h:175
bool reliable
Use reliable DDS QoS; must match all client configs.
Definition proxy_server.h:171
uint32_t buf_size
DDS socket send/receive buffer in bytes; 0 = default.
Definition proxy_server.h:176
bool iox_monitoring
Enable Iceoryx introspection monitoring.
Definition proxy_server.h:184
std::string bind_ip
Local IP to bind DDS sockets; empty = any.
Definition proxy_server.h:180
std::string dds_impl
DDS implementation transport.
Definition proxy_server.h:182
double max_packet_size
Maximum relayed payload in MiB; 0 = no limit.
Definition proxy_server.h:178
uint16_t runnable_version_major
Required major ABI version for runnable plugins.
Definition proxy_server.h:187
int iox_strategy
Iceoryx memory allocation strategy.
Definition proxy_server.h:185
std::string runnable_prefix
Library filename prefix for plugin discovery.
Definition proxy_server.h:189
uint16_t runnable_version_minor
Required minor ABI version for runnable plugins.
Definition proxy_server.h:188
bool enable_tcp
Use TCP transport for DDS data channels.
Definition proxy_server.h:172
bool use_iox
Initialise embedded Iceoryx RouDi daemon.
Definition proxy_server.h:183