roo_transport
API Documentation for roo_transport
Loading...
Searching...
No Matches
roo_transport::PacketSenderOverStream Class Reference

Sends packets via a potentially unreliable stream (for example UART/Serial) while adding transport framing/integrity metadata. More...

#include <packet_sender_over_stream.h>

Inheritance diagram for roo_transport::PacketSenderOverStream:
[legend]
Collaboration diagram for roo_transport::PacketSenderOverStream:
[legend]

Public Member Functions

 PacketSenderOverStream (roo_io::OutputStream &out)
 Creates sender writing framed transport packets to out.
 
void send (const roo::byte *buf, size_t len) override
 Sends one packet payload.
 
void flush () override
 Flushes pending output.
 
- Public Member Functions inherited from roo_transport::PacketSender
virtual ~PacketSender ()=default
 

Static Public Attributes

static constexpr size_t kMaxPacketSize = 250u
 Maximum payload size of one packet.
 
- Static Public Attributes inherited from roo_transport::PacketSender
static constexpr int kMaxPacketSize = 250
 Maximum packet size that can be sent.
 

Detailed Description

Sends packets via a potentially unreliable stream (for example UART/Serial) while adding transport framing/integrity metadata.

Uses 32-bit hashes for integrity and COBS framing so the receiver can recover packet boundaries under loss/corruption.

Definition at line 17 of file packet_sender_over_stream.h.

Constructor & Destructor Documentation

◆ PacketSenderOverStream()

roo_transport::PacketSenderOverStream::PacketSenderOverStream ( roo_io::OutputStream &  out)

Creates sender writing framed transport packets to out.

Stream may be unreliable (drop/corrupt/reorder bytes).

Definition at line 11 of file packet_sender_over_stream.cpp.

Member Function Documentation

◆ flush()

void roo_transport::PacketSenderOverStream::flush ( )
inlineoverridevirtual

Flushes pending output.

Reimplemented from roo_transport::PacketSender.

Definition at line 30 of file packet_sender_over_stream.h.

◆ send()

void roo_transport::PacketSenderOverStream::send ( const roo::byte *  buf,
size_t  len 
)
overridevirtual

Sends one packet payload.

Implements roo_transport::PacketSender.

Definition at line 14 of file packet_sender_over_stream.cpp.

References kMaxPacketSize, and roo_transport::kPacketOverStreamSeed.

Field Documentation

◆ kMaxPacketSize

constexpr size_t roo_transport::PacketSenderOverStream::kMaxPacketSize = 250u
staticconstexpr

Maximum payload size of one packet.

Definition at line 20 of file packet_sender_over_stream.h.

Referenced by send().


The documentation for this class was generated from the following files: