Unified async communication for modern C++20.
Serial · TCP · UDP · UDS
Choose the guide that matches your role.
You are building an application using unilink.
→ User Guide
| Document | What it covers |
|---|---|
| Quick Start | First working client in minutes |
| Installation | vcpkg, source, release packages, containers |
| Requirements | Platform and dependency expectations |
| API Reference | Full public API: builders, wrappers, callbacks |
| API Stability | Public API, source compatibility, ABI, and deprecation policy |
| Transport Feature Matrix | Feature support across wrappers and transports |
| Troubleshooting | Common failures and debugging steps |
| Python Bindings | Moved to unilink-python |
| Performance | Build and runtime tuning |
Tutorials:
| Tutorial | Focus |
|---|---|
| Getting Started | First TCP client |
| TCP Server | Server lifecycle and callbacks |
| UDS Communication | Local IPC with Unix domain sockets |
| Serial Communication | Device I/O and virtual-port testing |
| UDP Communication | Connectionless send/receive workflow |
| Asynchronous Patterns | Advanced non-blocking usage and safety |
You are developing or extending unilink itself.
→ Contributor Guide
| Document | What it covers |
|---|---|
| Build Guide | CMake options, build profiles, sanitizers |
| Testing | Running tests, CI integration |
| Orin Nano Validation | Ubuntu 22.04 ARM64 build and test runbook |
| Release Checklist | Release validation and packaging checklist |
| Implementation Status | Verified scope and known gaps |
| Test Structure | Test organization and coverage |
| Architecture Overview | Layers, responsibilities, design patterns |
| Design Notes | Proposed APIs and runtime semantics before implementation |
| Runtime Behavior | Lifecycle, retries, callback behavior |
| Memory Safety | Ownership and buffer handling rules |
| Channel Contract | Transport-layer contract and stop semantics |
| Wrapper Contract | Wrapper lifecycle and callback guarantees |