|
VLink 2.0.0
A high-performance communication middleware
|
VLink proxy server daemon – singleton per process. 更多...
#include <cstdint>#include <memory>#include <string>#include <vector>#include "../base/message_loop.h"类 | |
| class | vlink::ProxyServer |
| VLink proxy server daemon backed by a MessageLoop. 更多... | |
| struct | vlink::ProxyServer::Config |
Construction-time configuration for ProxyServer. 更多... | |
命名空间 | |
| namespace | vlink |
宏定义 | |
| #define | VLINK_PROXY_SERVER_EXPORT __attribute__((visibility("default"))) |
VLink proxy server daemon – singleton per process.
ProxyServer is the server-side half of the VLink proxy subsystem. It inherits from MessageLoop and runs an event loop that:
DiscoveryViewer to enumerate all active publishers and subscribers on the DDS domain.Control messages from ProxyAPI clients via a security-authenticated DDS channel.Time heartbeat carrying CPU/memory usage, version string, hostname, and wall-clock / boot-time.freq, rate, loss, latency) once per second via a security-authenticated InfoList channel.ProxyAPI listeners when operating in observe, record, or play mode.Config::use_iox is true.RunablePluginInterface shared-library plugins from Config::runnable_list.ProxyServer may be constructed per operating-system process. A second construction attempt logs a fatal message and returns without initialising any channels.Config::runnable_list are loaded in the constructor. When the MessageLoop starts (on_begin) each plugin's on_init() and async_run() are called. When the loop stops (on_end) each plugin's on_deinit(), quit(), and wait_for_quit() are called in order.VLINK_INTRA_BIND – when set (any value), the server subscribes to intra:// topics in addition to DDS/SHM, enabling in-process observation.ProxyAPI clients connect on the same domain.ProxyServer must be destroyed before the process exits; the destructor stops all timers, waits for the DiscoveryViewer, and releases every DDS handle in a deterministic order to avoid dangling callbacks. | #define VLINK_PROXY_SERVER_EXPORT __attribute__((visibility("default"))) |