|
VLink 2.0.0
A high-performance communication middleware
|
| doc | |
| include | |
| vlink | |
| base | |
| bytes.h | Versatile byte buffer with small-buffer optimisation, ownership semantics and compression |
| cached_timestamp.h | A low-overhead, thread-safe, formatted timestamp generator for log output |
| condition_variable.h | POSIX monotonic-clock condition variable replacing std::condition_variable |
| cpu_profiler.h | Per-instance CPU utilisation profiler gated by a global environment variable |
| cpu_profiler_guard.h | RAII guard that automatically calls CpuProfiler::begin() and CpuProfiler::end() |
| deadline_timer.h | An absolute-deadline timer for lightweight, lock-free timeout tracking |
| elapsed_timer.h | High-resolution elapsed-time measurement with configurable clock source and precision |
| exception.h | VLink-specific exception types wrapping the C++ standard exception hierarchy |
| fast_stream.h | A high-performance std::ostream backed by a resizable std::string buffer |
| format.h | Lightweight header-only {} placeholder formatter with no dynamic allocation |
| graph_task.h | DAG-based task graph with condition branching, cycle detection, and DOT export |
| helpers.h | String, number, hash and formatting utility functions |
| logger.h | Global singleton logger with three output styles and pluggable backends |
| logger_plugin_interface.h | Abstract interface for pluggable logger backends loaded via the Plugin system |
| macros.h | Platform-independent macro definitions for the VLink library |
| message_loop.h | Single-threaded event loop with three queue types, timer management and task scheduling |
| mpmc_queue.h | Lock-free bounded multi-producer multi-consumer queue with optional blocking behaviour |
| multi_loop.h | Multi-threaded event loop backed by a pool of worker threads sharing one task queue |
| name_detector.h | Compile-time type-name and enum-name detection utilities |
| object_pool.h | Thread-safe generic object pool with configurable reset policy and RAII ownership |
| plugin.h | Type-safe dynamic plugin loader with version checking and lifecycle management |
| process.h | Cross-platform child process management with I/O piping and async callbacks |
| schedule.h | RAII task scheduling wrapper with delay, priority, timeouts and result chaining |
| semaphore.h | In-process counting semaphore with optional timeout |
| spin_lock.h | Adaptive, cache-line-aligned spin lock and RAII guard |
| sys_semaphore.h | Named, cross-process counting semaphore backed by the OS IPC layer |
| sys_sharemem.h | Named cross-process shared memory region |
| thread_pool.h | General-purpose thread pool for parallel task execution |
| timer.h | Event-loop-driven periodic/one-shot timer with configurable priority |
| traits.h | Compile-time type-trait utilities used internally by VLink |
| uint128.h | Portable 128-bit unsigned integer with full arithmetic, bitwise, and comparison operators |
| utils.h | Platform-agnostic system utilities for process, thread, network and signal management |
| wheel_timer.h | Hash-wheel timer for managing large numbers of concurrent timeouts efficiently |
| extension | |
| bag_reader.h | Abstract base class for VLink bag file playback with time-based seeking and rate control |
| bag_reader_plugin_interface.h | Plugin interface for custom bag reader URL/type transformation and message processing |
| bag_reader_processor.h | Time-ordered message buffer for smoothing bag playback across split files |
| bag_writer.h | Abstract base class for VLink bag file recording with split, compression and global writer support |
| database_reader.h | Concrete BagReader implementation for the SQLite-backed VLink bag format |
| database_writer.h | Concrete BagWriter implementation for the SQLite-backed VLink bag format |
| discovery_reporter.h | Process-level discovery reporter that broadcasts node metadata to DiscoveryViewer instances |
| discovery_viewer.h | Real-time view of all active VLink endpoints discovered on the current host or network |
| dynamic_data.h | Type-erased data container for runtime serialisation and deserialisation |
| flatbuffers_registry.h | Process-local registry for BFBS blobs compiled into the current library |
| mcap_reader.h | Concrete BagReader implementation for the MCAP bag file format |
| mcap_writer.h | Concrete BagWriter implementation for the MCAP bag file format |
| message_convert_plugin.h | Plugin interface for VLink/webviz message conversion across visualization backends |
| protobuf_registry.h | Protobuf runtime include wrapper for schema-plugin support |
| qos.h | Quality of Service (QoS) policy aggregate for VLink publishers and subscribers |
| qos_profile.h | Pre-defined QoS profiles for common VLink communication patterns |
| runnable_plugin_interface.h | Plugin interface for self-contained, event-loop-driven plugin components |
| schema_plugin_base.h | Default schema plugin implementation built around linked protobuf metadata and embedded BFBS blobs |
| schema_plugin_interface.h | Runtime schema plugin interface for Protobuf and FlatBuffers metadata loading |
| schema_plugin_manager.h | Process-global singleton manager for the SchemaPluginInterface dynamic plugin |
| security.h | AES-128-CBC encryption/decryption with optional custom callback override |
| status.h | DDS-compatible status type hierarchy for VLink publisher and subscriber callbacks |
| status_detail.h | Concrete DDS-compatible status event structs with counter and handle fields |
| terminal_stream.h | Buffered, thread-safe stdout stream with TTY detection and ANSI support |
| url_remap.h | JSON-driven URL remapping for VLink topic address translation |
| external | |
| c_api.h | Pure C API for the VLink communication middleware |
| proxy_api.h | Client-side VLink proxy monitoring and control API |
| proxy_server.h | VLink proxy server daemon – singleton per process |
| impl | |
| abstract_factory.h | Topic-keyed factory and multi-implementation callback registry for VLink nodes |
| ack_manager.h | Request/acknowledgement synchronisation manager for blocking RPC calls |
| calculate_sample.h | Per-GUID cumulative sample loss tracker for VLink subscribers |
| client_impl.h | Abstract base class for all transport-specific client (RPC caller) implementations |
| conf.h | Abstract transport configuration base class and associated helper macros |
| conf_plugin_interface.h | Plugin ABI for dynamically loaded transport Conf factories |
| getter_impl.h | Abstract base class for all transport-specific getter (field reader) implementations |
| intra_data.h | Zero-serialisation in-process message container for intra:// transport |
| node_impl.h | Abstract transport node base classes used by all VLink node implementations |
| publisher_impl.h | Abstract base class for all transport-specific publisher implementations |
| server_impl.h | Abstract base class for all transport-specific server (RPC responder) implementations |
| setter_impl.h | Abstract base class for all transport-specific setter (field writer) implementations |
| ssl_options.h | Transport-layer SSL/TLS configuration for VLink communication backends |
| subscriber_impl.h | Abstract base class for all transport-specific subscriber implementations |
| types.h | Core type definitions shared across all VLink node implementations |
| url.h | URL-based transport configuration dispatcher for VLink nodes |
| url_parser.h | RFC-compliant URL/URI parser used internally by the VLink transport layer |
| internal | |
| client-inl.h | |
| getter-inl.h | |
| node-inl.h | |
| publisher-inl.h | |
| serializer-inl.h | |
| server-inl.h | |
| setter-inl.h | |
| subscriber-inl.h | |
| modules | |
| dds_conf.h | Transport configuration for the dds:// Fast-DDS RTPS backend |
| ddsc_conf.h | Transport configuration for the ddsc:// CycloneDDS backend |
| ddsr_conf.h | Transport configuration for the ddsr:// RTI Connext DDS backend |
| ddst_conf.h | Transport configuration for the ddst:// TravoDDS backend |
| fdbus_conf.h | Transport configuration for the fdbus:// FDBus IPC backend |
| intra_conf.h | Transport configuration for the intra:// in-process messaging backend |
| mqtt_conf.h | Transport configuration for the mqtt:// MQTT protocol backend |
| qnx_conf.h | Transport configuration for the qnx:// QNX IPC backend |
| shm2_conf.h | Transport configuration for the shm2:// Iceoryx2 shared-memory backend |
| shm_conf.h | Transport configuration for the shm:// Iceoryx shared-memory backend |
| someip_conf.h | Transport configuration for the someip:// SOME/IP (vsomeip) backend |
| zenoh_conf.h | Transport configuration for the zenoh:// Zenoh protocol backend |
| zerocopy | |
| camera_frame.h | Zero-copy camera image frame container for VLink transport |
| header.h | Common timestamp and sequencing metadata header for VLink zero-copy data types |
| point_cloud.h | Zero-copy, schema-aware 3-D point cloud container for VLink transport |
| proxy_data.h | Zero-copy proxy message envelope carrying raw payload plus routing metadata |
| raw_data.h | Generic zero-copy raw-byte data container for VLink transport |
| client.h | Type-safe method-model client (caller side) for VLink RPC |
| getter.h | Type-safe field-model reader for VLink topics |
| node.h | Base CRTP template for all VLink communication nodes |
| publisher.h | Type-safe event-model publisher for VLink topics |
| serializer.h | Compile-time type-detection and serialisation utilities for VLink messages |
| server.h | Type-safe method-model server (handler side) for VLink RPC |
| setter.h | Type-safe field-model writer for VLink topics |
| subscriber.h | Type-safe event-model subscriber for VLink topics |
| version.h | VLink library version constants, build-time feature flags, and version comparison macros |
| vlink.h |