|
VLink
2.0.0
A high-performance communication middleware
|
Core enumerations and small value types shared by the entire VLink implementation layer. 更多...
#include <chrono>#include <cstdint>#include <iostream>#include <string>#include <string_view>#include "../base/bytes.h"#include "../base/functional.h"#include "../base/macros.h"类 | |
| struct | vlink::Frame |
| One recorded or replayed message as it flows through the bag pipeline. 更多... | |
| struct | vlink::Timeout |
| Compile-time timeout constants used by the public blocking wait helpers. 更多... | |
| struct | vlink::SampleLostInfo |
| Aggregate of cumulative delivered / lost sample counts. 更多... | |
| struct | vlink::SchemaData |
| Wire-format-neutral wrapper around one serialised schema blob. 更多... | |
| struct | vlink::Version |
| Semantic version number with comparison and string-conversion helpers. 更多... | |
命名空间 | |
| vlink | |
类型定义 | |
| using | vlink::FrameCallback = MoveFunction< void(const Frame &)> |
| Frame sink reused by every bag frame interface. 更多... | |
枚举 | |
| enum | vlink::ImplType : uint8_t { vlink::kUnknownImplType = 0 , vlink::kServer = 16 , vlink::kClient = 32 , vlink::kPublisher = 1 , vlink::kSubscriber = 2 , vlink::kSetter = 4 , vlink::kGetter = 8 } |
| Bitmask identifying the role of a VLink node implementation. 更多... | |
| enum class | vlink::TransportType : uint8_t { vlink::kUnknown = 0 , vlink::kIntra = 1 , vlink::kShm = 2 , vlink::kShm2 = 3 , vlink::kZenoh = 4 , vlink::kDds = 5 , vlink::kDdsc = 6 , vlink::kDdsr = 7 , vlink::kDdst = 8 , vlink::kSomeip = 9 , vlink::kMqtt = 10 , vlink::kFdbus = 11 , vlink::kQnx = 12 } |
| Enumeration of every transport backend recognised by VLink. 更多... | |
| enum class | vlink::InitType : uint8_t { vlink::kWithoutInit = 0 , vlink::kWithInit = 1 } |
| Selects between immediate and deferred node initialisation. 更多... | |
| enum class | vlink::SecurityType : uint8_t { vlink::kWithoutSecurity = 0 , vlink::kWithSecurity = 1 } |
| Compile-time selector for the per-node message security variant. 更多... | |
| enum class | vlink::ActionType : uint8_t { vlink::kUnknownAction = 0 , vlink::kClientRequest = 1 , vlink::kClientResponse = 2 , vlink::kServerRequest = 3 , vlink::kServerResponse = 4 , vlink::kPublish = 5 , vlink::kSubscribe = 6 , vlink::kSet = 7 , vlink::kGet = 8 } |
| Labels for messages captured by the recording infrastructure. 更多... | |
| enum class | vlink::SchemaType : uint8_t { vlink::kUnknown = 0 , vlink::kRaw = 1 , vlink::kZeroCopy = 2 , vlink::kProtobuf = 3 , vlink::kFlatbuffers = 4 } |
| Coarse runtime schema family used by discovery, bag metadata and proxy routing. 更多... | |
Core enumerations and small value types shared by the entire VLink implementation layer.
This is an internal implementation header consumed by every node template (Publisher, Subscriber, Client, Server, Setter, Getter), every Conf subclass and every NodeImpl backend. It is also re-exported to applications via vlink.h so that user code can refer to enums such as SecurityType when instantiating the public node templates.
VLINK_ALLOW_IMPL_TYPE to restrict which node categories a given Conf can produce.| Value | Hex | Meaning |
|---|---|---|
kUnknownImplType | 0x00 | Type not yet determined. |
kPublisher | 0x01 | Event publisher node. |
kSubscriber | 0x02 | Event subscriber node. |
kSetter | 0x04 | Field setter node. |
kGetter | 0x08 | Field getter node. |
kServer | 0x10 | Method server node. |
kClient | 0x20 | Method client node. |
| Value | URL prefix | Backend |
|---|---|---|
kUnknown | (none) | Unknown or unsupported. |
kIntra | intra:// | In-process queue (no serialisation). |
kShm | shm:// | Iceoryx shared memory. |
kShm2 | shm2:// | Iceoryx2 shared memory. |
kZenoh | zenoh:// | Zenoh publish / subscribe. |
kDds | dds:// | Fast-DDS RTPS. |
kDdsc | ddsc:// | CycloneDDS. |
kDdsr | ddsr:// | RTI DDS. |
kDdst | ddst:// | TravoDDS. |
kSomeip | someip:// | SOME/IP through vsomeip. |
kMqtt | mqtt:// | MQTT publish / subscribe. |
kFdbus | fdbus:// | FDBus IPC. |
kQnx | qnx:// | QNX IPC (QNX only). |
init() immediately or defers it so the user can adjust properties beforehand.| Value | Meaning |
|---|---|
kWithoutInit | Defer initialisation; call init() manually. |
kWithInit | Initialise immediately in the constructor. |
ImplType – chosen at the NodeImpl base level; surfaced via NodeImpl::impl_type.SecurityType – second template parameter on every public node type (Publisher<T, SecurityType>, Subscriber<T, SecurityType>, ...).InitType – argument to the public node constructors that toggles immediate versus deferred initialisation.