|
ELEC-C7222
Libraries for ELEC C7222 Course Work
|
Ownership-based wrapper for discrete message buffering. More...
#include <freertos_stream_buffer.hpp>


Public Member Functions | |
| FreeRtosMessageBuffer ()=default | |
| Construct an uninitialized message buffer wrapper. | |
| FreeRtosMessageBuffer (std::size_t buffer_size_bytes) | |
| Construct and initialize a message buffer. | |
| bool | Initialize (std::size_t buffer_size_bytes) |
| Initialize (or re-initialize) a message buffer. | |
| ~FreeRtosMessageBuffer () | |
| Destroy message buffer resources if initialized. | |
| std::size_t | Send (const void *message, std::size_t message_length, std::uint32_t ticks_to_wait=0) |
| Send one message from task context. | |
| std::size_t | SendFromISR (const void *message, std::size_t message_length) |
| Send one message from ISR context. | |
| std::size_t | Receive (void *out_message, std::size_t out_length, std::uint32_t ticks_to_wait=0) |
| Receive one message from task context. | |
| std::size_t | ReceiveFromISR (void *out_message, std::size_t out_length) |
| Receive one message from ISR context. | |
| bool | Reset () |
| Reset message buffer state. | |
| std::size_t | SpacesAvailable () const |
| std::size_t | NextMessageLength () const |
| bool | IsValid () const |
Public Member Functions inherited from c7222::NonCopyable | |
| NonCopyable (const NonCopyable &)=delete | |
| NonCopyable & | operator= (const NonCopyable &)=delete |
| NonCopyable (NonCopyable &&)=default | |
| NonCopyable & | operator= (NonCopyable &&)=default |
Public Member Functions inherited from c7222::NonMovable | |
| NonMovable (const NonMovable &)=default | |
| NonMovable & | operator= (const NonMovable &)=default |
| NonMovable (NonMovable &&)=delete | |
| NonMovable & | operator= (NonMovable &&)=delete |
Additional Inherited Members | |
Protected Member Functions inherited from c7222::NonCopyableNonMovable | |
| NonCopyableNonMovable ()=default | |
| ~NonCopyableNonMovable ()=default | |
Protected Member Functions inherited from c7222::NonCopyable | |
| NonCopyable ()=default | |
| ~NonCopyable ()=default | |
Protected Member Functions inherited from c7222::NonMovable | |
| NonMovable ()=default | |
| ~NonMovable ()=default | |
Ownership-based wrapper for discrete message buffering.
Message buffers preserve message boundaries and are suitable for variable-size packet/message transfer between contexts. Send/receive operations are explicit; RAII here refers to handle cleanup.
Typical usage:
|
default |
Construct an uninitialized message buffer wrapper.
|
explicit |
Construct and initialize a message buffer.
| c7222::FreeRtosMessageBuffer::~FreeRtosMessageBuffer | ( | ) |
Destroy message buffer resources if initialized.
| bool c7222::FreeRtosMessageBuffer::Initialize | ( | std::size_t | buffer_size_bytes | ) |
Initialize (or re-initialize) a message buffer.
| bool c7222::FreeRtosMessageBuffer::IsValid | ( | ) | const |
| std::size_t c7222::FreeRtosMessageBuffer::NextMessageLength | ( | ) | const |
| std::size_t c7222::FreeRtosMessageBuffer::Receive | ( | void * | out_message, |
| std::size_t | out_length, | ||
| std::uint32_t | ticks_to_wait = 0 |
||
| ) |
Receive one message from task context.
| std::size_t c7222::FreeRtosMessageBuffer::ReceiveFromISR | ( | void * | out_message, |
| std::size_t | out_length | ||
| ) |
Receive one message from ISR context.
| bool c7222::FreeRtosMessageBuffer::Reset | ( | ) |
Reset message buffer state.
| std::size_t c7222::FreeRtosMessageBuffer::Send | ( | const void * | message, |
| std::size_t | message_length, | ||
| std::uint32_t | ticks_to_wait = 0 |
||
| ) |
Send one message from task context.
| std::size_t c7222::FreeRtosMessageBuffer::SendFromISR | ( | const void * | message, |
| std::size_t | message_length | ||
| ) |
Send one message from ISR context.
| std::size_t c7222::FreeRtosMessageBuffer::SpacesAvailable | ( | ) | const |