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

#include <receiver.h>

Public Types

enum  State { kIdle = 0 , kConnecting = 1 , kConnected = 2 , kBroken = 3 }
 

Public Member Functions

 Receiver (unsigned int recvbuf_log2)
 
State state () const
 
bool eos () const
 
bool done () const
 
void setConnected (SeqNum peer_seq_num, bool control_bit)
 
void setIdle ()
 
void setBroken ()
 
size_t tryRead (roo::byte *buf, size_t count, bool &outgoing_data_ready)
 
int peek ()
 
size_t availableForRead () const
 
void reset ()
 
void init (uint32_t my_stream_id)
 
void markInputClosed (bool &outgoing_data_ready)
 
size_t ack (roo::byte *buf)
 
size_t updateRecvHimark (roo::byte *buf, long &next_send_micros)
 
bool handleDataPacket (bool control_bit, uint16_t seq_id, const roo::byte *payload, size_t len, bool is_final, bool &has_new_data_to_read)
 
bool empty () const
 
uint32_t packets_received () const
 
uint32_t my_stream_id () const
 
unsigned int buffer_size_log2 () const
 

Detailed Description

Definition at line 11 of file receiver.h.

Member Enumeration Documentation

◆ State

Enumerator
kIdle 
kConnecting 
kConnected 
kBroken 

Definition at line 13 of file receiver.h.

Constructor & Destructor Documentation

◆ Receiver()

roo_transport::internal::Receiver::Receiver ( unsigned int  recvbuf_log2)

Definition at line 9 of file receiver.cpp.

Member Function Documentation

◆ ack()

◆ availableForRead()

◆ buffer_size_log2()

unsigned int roo_transport::internal::Receiver::buffer_size_log2 ( ) const
inline

Definition at line 65 of file receiver.h.

References roo_transport::internal::RingBuffer::capacity_log2().

◆ done()

bool roo_transport::internal::Receiver::done ( ) const

Definition at line 50 of file receiver.cpp.

References empty().

◆ empty()

bool roo_transport::internal::Receiver::empty ( ) const
inline

Definition at line 58 of file receiver.h.

References roo_transport::internal::RingBuffer::empty().

Referenced by done().

◆ eos()

bool roo_transport::internal::Receiver::eos ( ) const
inline

Definition at line 33 of file receiver.h.

◆ handleDataPacket()

◆ init()

void roo_transport::internal::Receiver::init ( uint32_t  my_stream_id)

◆ markInputClosed()

void roo_transport::internal::Receiver::markInputClosed ( bool outgoing_data_ready)

◆ my_stream_id()

uint32_t roo_transport::internal::Receiver::my_stream_id ( ) const
inline

Definition at line 62 of file receiver.h.

Referenced by init().

◆ packets_received()

uint32_t roo_transport::internal::Receiver::packets_received ( ) const
inline

Definition at line 60 of file receiver.h.

◆ peek()

◆ reset()

◆ setBroken()

void roo_transport::internal::Receiver::setBroken ( )

Definition at line 40 of file receiver.cpp.

References roo_transport::internal::RingBuffer::empty(), and setIdle().

◆ setConnected()

void roo_transport::internal::Receiver::setConnected ( SeqNum  peer_seq_num,
bool  control_bit 
)

◆ setIdle()

void roo_transport::internal::Receiver::setIdle ( )

Definition at line 33 of file receiver.cpp.

References kIdle.

Referenced by setBroken(), and tryRead().

◆ state()

State roo_transport::internal::Receiver::state ( ) const
inline

Definition at line 32 of file receiver.h.

◆ tryRead()

◆ updateRecvHimark()

size_t roo_transport::internal::Receiver::updateRecvHimark ( roo::byte *  buf,
long next_send_micros 
)

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