27 bool append(
const std::uint8_t* data, std::size_t count) {
34 for (std::size_t i = 0; i < count; ++i) {
35 const std::uint8_t b = data[i];
45 if (buffer_.empty() && !dropping_)
74 const std::vector<std::uint8_t>&
message()
const {
79 std::vector<std::uint8_t>
take() {
80 std::vector<std::uint8_t> out;
88 return !buffer_.empty() && !complete_;
98 std::vector<std::uint8_t> buffer_;
99 bool dropping_ =
false;
100 bool complete_ =
false;
Definition sysex_chunk_assembler.hpp:19
const std::vector< std::uint8_t > & message() const
Definition sysex_chunk_assembler.hpp:74
bool in_progress() const
True while an F0 has been seen without its F7.
Definition sysex_chunk_assembler.hpp:87
static constexpr std::size_t kMaxMessageBytes
Longest message kept.
Definition sysex_chunk_assembler.hpp:23
void reset()
Definition sysex_chunk_assembler.hpp:91
bool append(const std::uint8_t *data, std::size_t count)
Append one returned buffer.
Definition sysex_chunk_assembler.hpp:27
std::vector< std::uint8_t > take()
Take the completed message and reset for the next one.
Definition sysex_chunk_assembler.hpp:79
Definition custom_node_events.hpp:26