Zephyr Project API 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
zbus_channel_data Struct Reference

Type used to represent a channel mutable data. More...

#include <zbus.h>

Data Fields

int16_t observers_start_idx
 Static channel observer list start index.
 
int16_t observers_end_idx
 Static channel observer list end index.
 
struct k_sem sem
 Access control semaphore.
 
sys_slist_t observers
 Channel observer list.
 
struct net_buf_poolmsg_subscriber_pool
 Net buf pool for message subscribers.
 
k_ticks_t publish_timestamp
 Kernel timestamp of the last publish action on this channel.
 
uint32_t publish_count
 Number of times data has been published to this channel.
 

Detailed Description

Type used to represent a channel mutable data.

Every channel has a zbus_channel_data structure associated.

Field Documentation

◆ msg_subscriber_pool

struct net_buf_pool* zbus_channel_data::msg_subscriber_pool

Net buf pool for message subscribers.

It can be either the global or a separated one.

◆ observers

sys_slist_t zbus_channel_data::observers

Channel observer list.

Represents the channel's observers list, it can be empty or have listeners and subscribers mixed in any sequence. It can be changed in runtime.

◆ observers_end_idx

int16_t zbus_channel_data::observers_end_idx

Static channel observer list end index.

Considering the ITERABLE SECTIONS allocation order.

◆ observers_start_idx

int16_t zbus_channel_data::observers_start_idx

Static channel observer list start index.

Considering the ITERABLE SECTIONS allocation order.

◆ publish_count

uint32_t zbus_channel_data::publish_count

Number of times data has been published to this channel.

◆ publish_timestamp

k_ticks_t zbus_channel_data::publish_timestamp

Kernel timestamp of the last publish action on this channel.

◆ sem

struct k_sem zbus_channel_data::sem

Access control semaphore.

Points to the semaphore used to avoid race conditions for accessing the channel.


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