VLink 2.0.0
A high-performance communication middleware
载入中...
搜索中...
未找到
types.h 文件参考

Core type definitions shared across all VLink node implementations. 更多...

#include <chrono>
#include <cstdint>
#include <iostream>
#include <string>
#include <string_view>
#include "../base/bytes.h"
#include "../base/macros.h"
types.h 的引用(Include)关系图:
此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

 Compile-time timeout constants used by blocking wait methods. 更多...
 Cumulative sample delivery statistics for a subscriber or getter. 更多...
 Carries one serialized schema blob for runtime registration or embedding. 更多...
 Semantic version number with comparison and string conversion utilities. 更多...

命名空间

枚举

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 all supported transport backends. 更多...
enum class  vlink::InitType : uint8_t { vlink::kWithoutInit = 0 , vlink::kWithInit = 1 }
 Controls whether a node is initialised immediately at construction. 更多...
enum class  vlink::SecurityType : uint8_t { vlink::kWithoutSecurity = 0 , vlink::kWithSecurity = 1 }
 Controls whether a node uses encrypted/authenticated transport. 更多...
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
}
 Identifies the type of message action for recording purposes. 更多...
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 type definitions shared across all VLink node implementations.

Defines the fundamental enumerations and plain-data structs that are used throughout the VLink implementation layer. These types are part of the internal ABI between the Node<> template, the transport Conf implementations, and the NodeImpl backend classes.

Node Type Bitmask (ImplType)
ImplType values can be bitwise-OR'd together when querying combined roles:
Value Hex Description
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.
Transport Types (TransportType)
Value URL Prefix Transport
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 via vsomeip.
kMqtt mqtt:// MQTT publish/subscribe.
kFdbus fdbus:// FDBus IPC.
kQnx qnx:// QNX IPC (QNX only).