Template Class MessageDecoder#

Class Documentation#

template<std::size_t message_mtu, byte_size element_t = std::byte>
class MessageDecoder#

Public Types

using Array = std::array<element_t, message_mtu>#
using MessageCallback = std::function<void(const Array&, std::size_t)>#

Public Functions

inline MessageDecoder(MessageCallback _callback = nullptr)#
inline void set_message_callback(MessageCallback _callback)#
template<class T>
inline void dispatch(PcBufferReader<T, element_t> &reader)#
inline bool stats(uint32_t *buffer_load, uint32_t *_bytes_dropped, uint16_t *messages_count)#

Public Members

MessageCallback callback#

Protected Functions

inline void service_callback(void)#
inline void reset(void)#
inline void discard(void)#
inline void add_to_message(element_t value)#

Protected Attributes

Array message#
std::size_t message_index#
bool message_breached_mtu#
uint8_t zero_pointer#
bool zero_pointer_overhead#
uint32_t bytes_dropped#
uint16_t message_count#
bool stats_new#