3#ifndef PHYPHOX_BLE_CORE_SINK_H
4#define PHYPHOX_BLE_CORE_SINK_H
17 virtual void write(
const uint8_t* data,
size_t len) = 0;
19 void write(
char c) { uint8_t b = (uint8_t)c;
write(&b, 1); }
27 void write(
const uint8_t* data,
size_t len)
override { count_ += len; crc_.
update(data, len); }
28 size_t count()
const {
return count_; }
41 WindowSink(uint8_t* out,
size_t capacity,
size_t skip) : out_(out), cap_(capacity), skip_(skip) {}
43 void write(
const uint8_t* data,
size_t len)
override;
45 bool full()
const {
return filled_ >= cap_; }
Counts bytes and accumulates the CRC-32 — the first pass at start(), which yields the transfer header...
Definition Sink.h:24
void write(const uint8_t *data, size_t len) override
Definition Sink.h:27
uint32_t crc() const
Definition Sink.h:29
size_t count() const
Definition Sink.h:28
void reset()
Definition Sink.h:30
void update(const uint8_t *data, size_t len)
void reset()
Definition Crc32.h:15
uint32_t value() const
The finished value (does not alter the running state).
Definition Crc32.h:19
Receives the bytes of a serialization.
Definition Sink.h:14
virtual ~Sink()
Definition Sink.h:16
void write(const char *text)
void write(char c)
Definition Sink.h:19
virtual void write(const uint8_t *data, size_t len)=0
Passes through only the bytes inside [skip, skip + capacity) of what is written to it,...
Definition Sink.h:39
void write(const uint8_t *data, size_t len) override
bool full() const
Definition Sink.h:45
size_t produced() const
Definition Sink.h:44
WindowSink(uint8_t *out, size_t capacity, size_t skip)
Definition Sink.h:41
Definition ChannelStore.h:11