命名空间 | |
| namespace | details |
| namespace | serialize_type |
类型定义 | |
| using | ChannelConfigs = std::vector< ChannelConfig > |
| 通道配置数组(Vector) 更多... | |
| using | DummyMessage = PodMessage< DummyMessageType > |
| using | BufferVector = std::vector< Buffer > |
| using | ByteArray = Array< uint8_t > |
| 字节数组,本质上是一个 Array<uint8_t>。 更多... | |
| using | Clock = neusar::clock::OffsetClock<> |
| VMB 整体默认使用的时钟。 更多... | |
| using | Duration = Clock::duration |
| VMB 整体默认使用的 duration 类型。 更多... | |
| using | TimePoint = Clock::time_point |
| VMB 整体默认使用的 time_point 类型。 更多... | |
| using | Task = std::function< void()> |
函数 | |
| Result | Init (const std::string &config_filename="", const std::string &overlay_config_dirname="") |
| VMB 整体初始化。 更多... | |
| void | Shutdown () |
| VMB 整体反初始化。 更多... | |
| Executor & | GetDefaultExecutor () |
| 获取 VMB 内部默认的 Executor 对象。 更多... | |
| void | GetVersion (int &major, int &minor, int &patch) |
| 获取 VMB 的构造版本号。 更多... | |
| template<typename MSG > | |
| auto | CreateSynchronizerReader (const std::string &key, std::shared_ptr< Node > node, const typename Reader< MSG >::Options *options=nullptr) -> std::shared_ptr< SynchronizerReader< MSG > > |
| 创建一个用于 CacheFusionSynchronizer 具体专用的 Topic Reader。 更多... | |
| template<class T > | |
| void | swap (Array< T > &lhs, Array< T > &rhs) |
| template<typename FN > | |
| ScopeGuard< typename std::decay< FN >::type > | MakeScopeGuard (FN &&fn) |
变量 | |
| const ReaderQos | READER_QOS_DEFAULT {} |
| const WriterQos | WRITER_QOS_DEFAULT {} |
| using asf::msgbus::BufferVector = typedef std::vector<Buffer> |
| using asf::msgbus::ByteArray = typedef Array<uint8_t> |
字节数组,本质上是一个 Array<uint8_t>。
| using asf::msgbus::ChannelConfigs = typedef std::vector<ChannelConfig> |
通道配置数组(Vector)
| using asf::msgbus::Clock = typedef neusar::clock::OffsetClock<> |
VMB 整体默认使用的时钟。
| using asf::msgbus::DummyMessage = typedef PodMessage<DummyMessageType> |
| using asf::msgbus::Duration = typedef Clock::duration |
VMB 整体默认使用的 duration 类型。
| using asf::msgbus::Task = typedef std::function<void()> |
| using asf::msgbus::TimePoint = typedef Clock::time_point |
VMB 整体默认使用的 time_point 类型。
|
strong |
|
strong |
|
strong |
VMB 错误码定义。
| enum asf::msgbus::SendType : int |
|
strong |
CacheFusionSynchronizer 报告的错误类型定义。
| 枚举值 | |
|---|---|
| MSG_NO_TIMESTAMP_ERROR | 收到的消息,没有时间戳 |
| MSG_ALIGN_ERROR | 消息对齐失败 |
| MSG_TIMEOUT_ERROR | 接收消息超时 |
|
strong |
CacheFusionSynchronizer 的具体类型定义
| 枚举值 | |
|---|---|
| EXACT_TIME | 精确时间对齐。 |
| FIXED_ALIGNMENT | 基于基准对齐。 |
| ADAPTIVE_APPROXIMATE | 近似时间自适应对齐。 |
| auto asf::msgbus::CreateSynchronizerReader | ( | const std::string & | key, |
| std::shared_ptr< Node > | node, | ||
| const typename Reader< MSG >::Options * | options = nullptr |
||
| ) | -> std::shared_ptr<SynchronizerReader<MSG>> |
创建一个用于 CacheFusionSynchronizer 具体专用的 Topic Reader。
Reader 只需要创建,并按顺序传递到 CacheFusionSynchronizer 即可。
| MSG | 读取的消息详细类型 |
| key | 标识符,需要传入 Topic 名称 |
| node | 所用的 Node 对象指针 |
| options | 基础 Reader<MSG> 所需的选项 |
| Executor & asf::msgbus::GetDefaultExecutor | ( | ) |
| void asf::msgbus::GetVersion | ( | int & | major, |
| int & | minor, | ||
| int & | patch | ||
| ) |
获取 VMB 的构造版本号。
| major | 接收主版本号。 |
| minor | 接收子版本号。 |
| patch | 接收 PATCH 版本号。 |
| Result asf::msgbus::Init | ( | const std::string & | config_filename = "", |
| const std::string & | overlay_config_dirname = "" |
||
| ) |
VMB 整体初始化。
整体的初始化,每个进程只能调用一次,调用多次的行为是未定义的。
| config_filename | 指定配置文件路径,默认为 "etc/MsgBus.sjon"。 |
| overlay_config_dirname | 指定附加配置文件目录,默认为 "etc/msgbus.d/“,Init 会遍历这个目录中 的所有 json 配置文件并加载。 |
| ScopeGuard< typename std::decay< FN >::type > asf::msgbus::MakeScopeGuard | ( | FN && | fn | ) |
| void asf::msgbus::Shutdown | ( | ) |
VMB 整体反初始化。
这个接口只能在成功调用 Init 之后调用,其它场景下调用行为是未定义的。
| const ReaderQos asf::msgbus::READER_QOS_DEFAULT {} |
| const WriterQos asf::msgbus::WRITER_QOS_DEFAULT {} |