20 #include <string_view>
43 explicit LineFramer(std::string_view delimiter =
"\n",
bool include_delimiter =
false,
size_t max_length = 65536);
49 void reset()
override;
52 std::string delimiter_;
53 bool include_delimiter_;
56 size_t scanned_idx_ = 0;
57 std::vector<uint8_t> buffer_;
Abstract base class for message framing strategies.
std::function< void(memory::ConstByteSpan)> MessageCallback
Register a callback to be invoked when a complete message is extracted.
Framer for text-based protocols (e.g., ASCII, NMEA).
~LineFramer() override=default
A C++17 compatible span-like class for safe array access.