37 Server(
size_t buffer_length);
85 enum class ParseResult : uint8_t
92 size_t ParseDataRaw(
ConstRawData data,
bool from_callback,
bool in_isr);
93 bool SyncToPacketStart();
95 ParseResult ReadPayload(
bool from_callback,
bool in_isr);
基础队列类,提供固定大小的循环缓冲区 (Base queue class providing a fixed-size circular buffer).
只读原始数据视图 / Immutable raw data view
微秒时间戳 / Microsecond timestamp
红黑树的泛型数据节点,继承自 BaseNode (Generic data node for Red-Black Tree, inheriting from BaseNode).
红黑树实现,支持泛型键和值,并提供线程安全操作 (Red-Black Tree implementation supporting generic keys and values with thread...
可写原始数据视图 / Mutable raw data view
服务器类,负责解析数据并将其分发到相应的主题 Server class responsible for parsing data and distributing it to corresponding...
RBTree< uint32_t > topic_map_
主题映射表 Topic mapping table
void Register(TopicHandle topic)
注册一个主题 Registers a topic
BaseQueue queue_
数据队列 Data queue
size_t ParseData(ConstRawData data)
解析接收到的数据 Parses received data
size_t ParseDataFromCallback(ConstRawData data, bool in_isr)
在回调函数中解析接收到的数据 Parses received data in a callback
TopicHandle current_topic_
当前主题句柄 Current topic handle
MicrosecondTimestamp current_timestamp_
当前消息时间戳 Current message timestamp
uint32_t data_len_
当前数据长度 Current data length
Status
服务器解析状态枚举 Enumeration of server parsing states
@ WAIT_DATA_CRC
等待数据校验 Waiting for data CRC validation
@ WAIT_START
等待起始标志 Waiting for start flag
@ WAIT_TOPIC
等待主题信息 Waiting for topic information
RawData parse_buff_
解析数据缓冲区 Data buffer for parsing
Server(size_t buffer_length)
构造函数,初始化服务器并分配缓冲区 Constructor to initialize the server and allocate buffer
Status status_
服务器的当前解析状态 Current parsing state of the server