libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
LibXR::Topic::CallbackBlock Struct Reference

挂在 topic 订阅链表里的回调记录 / Callback record stored in the topic subscriber list More...

#include <callback.hpp>

Inheritance diagram for LibXR::Topic::CallbackBlock:
[legend]
Collaboration diagram for LibXR::Topic::CallbackBlock:
[legend]

Public Member Functions

 CallbackBlock (Callback &callback, size_t topic_payload_size)
 构造一个回调订阅块 / Construct one callback subscriber block
 
void Run (bool in_isr, MicrosecondTimestamp timestamp, void *payload_addr) const
 通过注册时绑定的 topic payload size 执行回调 / Run the callback with the topic payload size bound at registration time
 

Data Fields

Callback cb
 订阅的回调句柄。Subscribed callback handle.
 
size_t payload_size = 0
 注册到的 topic 固定 payload 字节数。Fixed payload size of the subscribed topic.
 
- Data Fields inherited from LibXR::Topic::SuberBlock
SuberType type
 订阅块的具体种类。Concrete kind of this subscriber block.
 

Detailed Description

挂在 topic 订阅链表里的回调记录 / Callback record stored in the topic subscriber list

回调订阅者挂在 topic 链表里的数据块 / Subscriber block used by one callback subscriber inside the topic list

Definition at line 565 of file callback.hpp.

Constructor & Destructor Documentation

◆ CallbackBlock()

LibXR::Topic::CallbackBlock::CallbackBlock ( Callback & callback,
size_t topic_payload_size )
inline

构造一个回调订阅块 / Construct one callback subscriber block

Parameters
callback要挂接的回调句柄 / Callback handle to attach
topic_payload_size当前 topic 的固定 payload 字节数 / Fixed payload size of the topic this callback is registered to

Definition at line 573 of file callback.hpp.

574 : cb(callback), payload_size(topic_payload_size)
575 {
577 }
@ CALLBACK
回调执行型订阅者。Callback-executing subscriber.
size_t payload_size
注册到的 topic 固定 payload 字节数。Fixed payload size of the subscribed topic.
Definition callback.hpp:594
Callback cb
订阅的回调句柄。Subscribed callback handle.
Definition callback.hpp:591
SuberType type
订阅块的具体种类。Concrete kind of this subscriber block.
Definition topic.hpp:238

Member Function Documentation

◆ Run()

void LibXR::Topic::CallbackBlock::Run ( bool in_isr,
MicrosecondTimestamp timestamp,
void * payload_addr ) const
inline

通过注册时绑定的 topic payload size 执行回调 / Run the callback with the topic payload size bound at registration time

Parameters
in_isr当前是否处于中断上下文 / Whether the current path runs in ISR context
timestamp当前消息时间戳 / Current message timestamp
payload_addr当前消息 payload 对象地址 / Address of the current payload object

Definition at line 586 of file callback.hpp.

587 {
588 cb.Run(in_isr, timestamp, payload_addr, payload_size);
589 }
void Run(bool in_isr, MicrosecondTimestamp timestamp, void *payload_addr, size_t payload_size) const
执行回调 / Run the callback
Definition callback.hpp:526

Field Documentation

◆ cb

Callback LibXR::Topic::CallbackBlock::cb

订阅的回调句柄。Subscribed callback handle.

Definition at line 591 of file callback.hpp.

◆ payload_size

size_t LibXR::Topic::CallbackBlock::payload_size = 0

注册到的 topic 固定 payload 字节数。Fixed payload size of the subscribed topic.

Definition at line 594 of file callback.hpp.


The documentation for this struct was generated from the following file: