32 u32
crc32(
unsigned nbytes,
const void* data);
Check and remove FCS from each incoming frame.
bool write_finalize() override
Mark end of frame and release temporary working data.
ChecksumRx(satcat5::io::Writeable *dst)
Permanently link this encoder to an output object.
void write_next(u8 data) override
Write the next byte to the underlying buffer or device.
Append FCS to each outgoing frame.
ChecksumTx(satcat5::io::Writeable *dst)
Permanently link this encoder to an output object.
bool write_finalize() override
Mark end of frame and release temporary working data.
void write_next(u8 data) override
Write the next byte to the underlying buffer or device.
Buffered SLIP encoder / decoder pair with Ethernet FCS.
satcat5::io::SlipDecoder m_rx_slip
SLIP decoder object.
satcat5::io::BufferedCopy m_rx_copy
Push/pull adapter.
satcat5::io::SlipEncoder m_tx_slip
SLIP encoder object.
satcat5::eth::ChecksumRx m_rx_fcs
Verify received checksums.
u8 m_rawbuff[SATCAT5_SLIP_BUFFSIZE]
Working buffer for m_rx_buff.
satcat5::io::TrafficStats stats()
Report packet statistics since the previous query.
satcat5::io::PacketBuffer m_rx_buff
Decoder writes to buffer.
SlipCodec(satcat5::io::Writeable *dst, satcat5::io::Readable *src)
Constructor links to specified source and destination.
Inverted SLIP encoder / decoder pair with Ethernet FCS.
satcat5::io::TrafficStats stats()
Report packet statistics since the previous query.
satcat5::io::PacketBuffer m_tx_buff
Decoder writes to buffer.
SlipCodecInverse(satcat5::io::Writeable *dst, satcat5::io::Readable *src)
Constructor links to specified source and destination.
satcat5::io::BufferedCopy m_tx_copy
Push/pull adapter.
satcat5::eth::ChecksumRx m_rx_fcs
Verify received checksums.
satcat5::eth::ChecksumTx m_tx_fcs
Append outgoing checksums.
u8 m_rawbuff[SATCAT5_SLIP_BUFFSIZE]
Working buffer for m_tx_buff.
satcat5::io::SlipEncoder m_tx_slip
SLIP encoder object.
BufferedCopy copies from any Readable source to any Writeable sink.
Check and remove FCS from each incoming frame.
Inline checksum insertion, appends FCS to each outgoing frame.
The PacketBuffer class is a wrapper for a circular buffer, with optional logic to support retention o...
Abstract API for reading byte-streams and packets.
Wrapper class for forwarding reads to another object.
Abstract API for writing byte-streams and packets.
Inline SLIP encoder and decoder objects.
u32 crc32(unsigned nbytes, const void *data)
Directly calculate CRC32 on a block of data.
Buffered I/O wrappers for PacketBuffer.
Inline checksum insertion (ChecksumTx) and verification (ChecksumRx).
Data structure for combined transmit and receive statistics.
static TrafficStats query(satcat5::io::Counter &rx, satcat5::io::Counter &tx)
Read updated statistics from a transmit/receive pair.