SuperTinyKernel™ RTOS 1.08.x
Lightweight, high-performance, deterministic, bare-metal C++ RTOS for resource-constrained embedded systems. MIT Open Source License.
Loading...
Searching...
No Matches
FrtosStreamBuffer Struct Reference
Collaboration diagram for FrtosStreamBuffer:

Public Member Functions

 FrtosStreamBuffer (uint8_t *buf, size_t capacity, size_t trigger, StreamBufferCallbackFunction_t pSendCb=nullptr, StreamBufferCallbackFunction_t pRecvCb=nullptr)
 ~FrtosStreamBuffer ()

Public Attributes

stk::sync::Pipe m_pipe
 byte ring-buffer (element_size = 1)
size_t m_trigger
 minimum bytes before Receive() unblocks
bool m_buf_owned
 true -> data buffer heap-allocated, freed in dtor
bool m_cb_owned
 true -> struct heap-allocated, deleted in vStreamBufferDelete
StreamBufferCallbackFunction_t m_send_cb
 optional callback fired after a successful Send
StreamBufferCallbackFunction_t m_recv_cb
 optional callback fired after a successful Receive

Detailed Description

Definition at line 932 of file freertos_stk.cpp.

Constructor & Destructor Documentation

◆ FrtosStreamBuffer()

FrtosStreamBuffer::FrtosStreamBuffer ( uint8_t * buf,
size_t capacity,
size_t trigger,
StreamBufferCallbackFunction_t pSendCb = nullptr,
StreamBufferCallbackFunction_t pRecvCb = nullptr )
inlineexplicit

Definition at line 938 of file freertos_stk.cpp.

943 : m_pipe(buf, capacity, 1U),
944 m_trigger(trigger >= 1U ? trigger : 1U),
945 m_buf_owned(false), // overridden to true by xStreamBufferCreate after ctor
946 m_cb_owned(false), // overridden to true by xStreamBufferCreate after ctor
947 m_send_cb(pSendCb),
948 m_recv_cb(pRecvCb)
949 {}
stk::sync::Pipe m_pipe
byte ring-buffer (element_size = 1)
StreamBufferCallbackFunction_t m_recv_cb
optional callback fired after a successful Receive
size_t m_trigger
minimum bytes before Receive() unblocks
bool m_cb_owned
true -> struct heap-allocated, deleted in vStreamBufferDelete
bool m_buf_owned
true -> data buffer heap-allocated, freed in dtor
StreamBufferCallbackFunction_t m_send_cb
optional callback fired after a successful Send

References m_buf_owned, m_cb_owned, m_pipe, m_recv_cb, m_send_cb, and m_trigger.

◆ ~FrtosStreamBuffer()

FrtosStreamBuffer::~FrtosStreamBuffer ( )
inline

Definition at line 951 of file freertos_stk.cpp.

952 {
953 if (m_buf_owned)
954 ObjFreeArray(m_pipe.GetBuffer());
955 }
static void ObjFreeArray(void *ptr)

References m_buf_owned, m_pipe, and ObjFreeArray().

Here is the call graph for this function:

Member Data Documentation

◆ m_buf_owned

bool FrtosStreamBuffer::m_buf_owned

true -> data buffer heap-allocated, freed in dtor

Definition at line 960 of file freertos_stk.cpp.

Referenced by FrtosStreamBuffer(), xStreamBufferCreate(), xStreamBufferCreateWithCallback(), and ~FrtosStreamBuffer().

◆ m_cb_owned

bool FrtosStreamBuffer::m_cb_owned

true -> struct heap-allocated, deleted in vStreamBufferDelete

Definition at line 961 of file freertos_stk.cpp.

Referenced by FrtosStreamBuffer(), xStreamBufferCreate(), and xStreamBufferCreateWithCallback().

◆ m_pipe

◆ m_recv_cb

StreamBufferCallbackFunction_t FrtosStreamBuffer::m_recv_cb

optional callback fired after a successful Receive

Definition at line 963 of file freertos_stk.cpp.

Referenced by FrtosStreamBuffer(), xStreamBufferReceive(), and xStreamBufferReceiveFromISR().

◆ m_send_cb

StreamBufferCallbackFunction_t FrtosStreamBuffer::m_send_cb

optional callback fired after a successful Send

Definition at line 962 of file freertos_stk.cpp.

Referenced by FrtosStreamBuffer(), xStreamBufferSend(), and xStreamBufferSendFromISR().

◆ m_trigger

size_t FrtosStreamBuffer::m_trigger

minimum bytes before Receive() unblocks

Definition at line 959 of file freertos_stk.cpp.

Referenced by FrtosStreamBuffer(), xStreamBufferReceive(), and xStreamBufferSetTriggerLevel().


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