Abstract base class for message framing strategies.
virtual void reset()=0
Reset internal state/buffer.
virtual ~IFramer()=default
virtual void set_on_message(MessageCallback cb)=0
virtual void push_bytes(memory::ConstByteSpan data)=0
Push raw bytes into the framer's internal buffer.
std::function< void(memory::ConstByteSpan)> MessageCallback
Register a callback to be invoked when a complete message is extracted.
A C++17 compatible span-like class for safe array access.