roo_transport
API Documentation for roo_transport
Loading...
Searching...
No Matches
roo_transport::PacketReceiver Class Referenceabstract

Abstraction for receiving packets produced by PacketSender. More...

#include <packet_receiver.h>

Inheritance diagram for roo_transport::PacketReceiver:
[legend]

Public Types

using ReceiverFn = std::function< void(const roo::byte *, size_t)>
 Callback invoked for each received packet.
 

Public Member Functions

virtual size_t tryReceive (const ReceiverFn &receiver_fn)=0
 Receives currently available packets without indefinite blocking.
 
virtual size_t receive (const ReceiverFn &receiver_fn)=0
 Receives packets, blocking as needed until at least one packet is delivered, or until stream end/error.
 

Detailed Description

Abstraction for receiving packets produced by PacketSender.

Data arrives in packets up to 250 bytes. Corrupted packets are dropped; packet loss is possible.

Definition at line 15 of file packet_receiver.h.

Member Typedef Documentation

◆ ReceiverFn

Callback invoked for each received packet.

Definition at line 18 of file packet_receiver.h.

Member Function Documentation

◆ receive()

virtual size_t roo_transport::PacketReceiver::receive ( const ReceiverFn receiver_fn)
pure virtual

Receives packets, blocking as needed until at least one packet is delivered, or until stream end/error.

Returns
Number of delivered packets, or zero on error/end-of-stream.

Implemented in roo_transport::PacketReceiverOverStream.

◆ tryReceive()

virtual size_t roo_transport::PacketReceiver::tryReceive ( const ReceiverFn receiver_fn)
pure virtual

Receives currently available packets without indefinite blocking.

Returns
Number of packets delivered.

Implemented in roo_transport::PacketReceiverOverStream.


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