|
VLink 2.0.0
A high-performance communication middleware
|
One minimalist API, 12 transports, zero-cost switching
Official website: https://vlink.work
Github: https://github.com/thun-res/vlink
English | ไธญๆ
VLink is a lightweight C++ communication middleware for autonomous driving and embodied intelligence, positioned as a minimalist alternative to ROS 2.
A minimalist API (3โ5 lines to get communication going), zero-cost transport switching, and compile-time serialization deduction. Ships with 12 transports, 14 serialization formats, 3 communication models, 9 CLI tools, and optional Foxglove / Rerun visualization bridges.
| Documentation | Content |
|---|---|
| Whitepaper | Background, positioning, architecture & technical deep-dive |
| Build Guide | CMake / Conan / Integration / Cross-platform |
| Examples | Runnable samples (fastest on-ramp) |
| Documentation | Content |
|---|---|
| Event Model | Publisher / Subscriber |
| Method Model | Client / Server |
| Field Model | Setter / Getter |
| Serialization | 14 serialization types & auto-deduction |
| Documentation | Content |
|---|---|
| Transport Backends | 12 backends & URL format |
| QoS | Quality of Service configuration |
| Zero-Copy | CameraFrame / PointCloud (large-payload essentials) |
| Base Library | Logger / MessageLoop / Timer / ThreadPool / Concurrency / IPC / Profiler |
| Bag Recording | Bag / MCAP file format & API |
| CLI Tools | 9 command-line tools reference |
| Environment Variables | VLINK_* configuration reference |
| Documentation | Content |
|---|---|
| Viewer | Qt desktop: Viewer / Player / Analyzer |
| WebViz | vlink-foxglove / vlink-rerun bridges |
| Proxy | ProxyServer / ProxyAPI |
| Discovery | UDP multicast discovery & topology |
| Documentation | Content |
|---|---|
| Node Base | Node base template shared interface & lifecycle (init/deinit/interrupt) |
| Security | AES-128-CBC & custom encryption callbacks |
| Documentation | Content |
|---|---|
| C API | C wrapper & multi-language FFI (six primitives, data plane) |
| Extensions | Plugin system & custom transports |
| Testing | doctest framework & gcov/lcov |
| PR Conventions | Branches, commits, code style, CI gates |
| Documentation | Content |
|---|---|
| Cheatsheet | Single-page API / URL / QoS / CLI / env-var reference |
| Troubleshooting | Symptom-indexed problem solving |
| CHANGELOG | Release notes |
URL syntax: Transport Backends.
| Scheme | Underlying | Scope | Zero-copy | Status |
|---|---|---|---|---|
| intra:// | Lock-free queue | In-process | โ | โ Stable |
| shm:// | Iceoryx | Same-host IPC | โ | โ Stable |
| dds:// | Fast-DDS | Cross-machine | โ | โ Stable |
| ddsc:// | CycloneDDS | Cross-machine | โ | โ Stable |
| shm2:// | Iceoryx2 | Same-host | โ | ๐ก Beta |
| ddsr:// | RTI Connext | Cross-machine | โ | ๐ก Beta |
| ddst:// | TravoDDS (domestic DDS) | Cross-machine | โ | ๐ก Beta |
| zenoh:// | Zenoh | Cross-machine / cloud-edge | โ | ๐ก Beta |
| someip:// | vsomeip | Automotive Ethernet | โ | ๐ก Beta |
| mqtt:// | Paho MQTT | Cloud | โ | ๐ก Beta |
| fdbus:// | FDBus | Same-host | โ | ๐ก Beta |
| qnx:// | QNX IPC | Same-host (QNX) | โ | ๐ก Beta |
Event โ Publish/Subscribe
Method โ Request/Response
Field โ State Synchronization
CMake integration:
See the CMake target list and the full Build Guide for details.
| Platform | Architecture | Compiler | Status |
|---|---|---|---|
| Linux | x86_64 / aarch64 | GCC 9+ / Clang 10+ | โ Stable |
| Windows 10+ | x86_64 | MSVC 2019+ / MinGW | โ Stable |
| macOS 10.15+ | x86_64 / arm64 | AppleClang 12+ | ๐ก Beta |
| Android | aarch64 / x86_64 | NDK Clang r25+ | โ Stable |
| QNX 7.x/8.x | aarch64 / x86_64 | QCC (QNX SDP) | โ Stable |
Pull requests are welcome. Please read the PR Conventions before opening a PR.
[Apache License 2.0](LICENSE) โ free for commercial use.
Copyright (C) 2026 Thun Lu. All rights reserved.
*Author: Thun Lu thun..nosp@m.lu@z.nosp@m.ohoma.nosp@m.il.c.nosp@m.n*