|
roo_transport
API Documentation for roo_transport
|
#include <transmitter.h>
Public Types | |
| enum | State { kIdle = 0 , kConnecting = 1 , kConnected = 2 , kBroken = 3 } |
Public Member Functions | |
| Transmitter (unsigned int sendbuf_log2) | |
| void | reset () |
| void | init (uint32_t my_stream_id, SeqNum new_start) |
| uint32_t | packets_sent () const |
| uint32_t | packets_delivered () const |
| size_t | tryWrite (const roo::byte *buf, size_t count, bool &made_space) |
| size_t | availableForWrite () const |
| bool | flush () |
| bool | hasPendingData () const |
| void | close () |
| void | setConnected (uint16_t peer_receive_buffer_size, bool control_bit) |
| void | setBroken () |
| State | state () const |
| uint32_t | my_stream_id () const |
| const OutBuffer * | getBufferToSend (long &next_send_micros) |
| size_t | send (roo::byte *buf, long &next_send_micros) |
| SeqNum | front () const |
| bool | ack (bool control_bit, uint16_t seq_id, const roo::byte *ack_bitmap, size_t ack_bitmap_len) |
| bool | updateRecvHimark (bool control_bit, uint16_t recv_himark) |
Definition at line 11 of file transmitter.h.
| Enumerator | |
|---|---|
| kIdle | |
| kConnecting | |
| kConnected | |
| kBroken | |
Definition at line 13 of file transmitter.h.
Definition at line 9 of file transmitter.cpp.
| bool roo_transport::internal::Transmitter::ack | ( | bool | control_bit, |
| uint16_t | seq_id, | ||
| const roo::byte * | ack_bitmap, | ||
| size_t | ack_bitmap_len | ||
| ) |
Definition at line 222 of file transmitter.cpp.
References roo_transport::internal::OutBuffer::ack(), roo_transport::internal::RingBuffer::begin(), roo_transport::internal::RingBuffer::contains(), roo_transport::internal::RingBuffer::empty(), roo_transport::internal::RingBuffer::end(), kConnected, roo_transport::internal::RingBuffer::pop(), reset(), and roo_transport::internal::RingBuffer::restorePosHighBits().
| size_t roo_transport::internal::Transmitter::availableForWrite | ( | ) | const |
Definition at line 98 of file transmitter.cpp.
References kBroken, kIdle, and roo_transport::internal::RingBuffer::slotsFree().
| void roo_transport::internal::Transmitter::close | ( | ) |
Definition at line 75 of file transmitter.cpp.
References flush(), kBroken, kIdle, and roo_transport::internal::RingBuffer::slotsFree().
| bool roo_transport::internal::Transmitter::flush | ( | ) |
Definition at line 57 of file transmitter.cpp.
References roo_transport::internal::OutBuffer::flush().
Referenced by close().
|
inline |
Definition at line 71 of file transmitter.h.
References roo_transport::internal::RingBuffer::begin().
| const internal::OutBuffer * roo_transport::internal::Transmitter::getBufferToSend | ( | long & | next_send_micros | ) |
Definition at line 116 of file transmitter.cpp.
References roo_transport::internal::OutBuffer::acked(), roo_transport::internal::RingBuffer::begin(), roo_transport::internal::RingBuffer::contains(), roo_transport::internal::RingBuffer::end(), roo_transport::internal::OutBuffer::expiration(), roo_transport::internal::OutBuffer::finish(), roo_transport::internal::OutBuffer::finished(), roo_transport::internal::OutBuffer::flushed(), kConnected, roo_transport::internal::OutBuffer::markSent(), roo_transport::internal::OutBuffer::send_counter(), roo_transport::internal::OutBuffer::size(), and roo_transport::internal::RingBuffer::slotsUsed().
Referenced by send().
| bool roo_transport::internal::Transmitter::hasPendingData | ( | ) | const |
Definition at line 65 of file transmitter.cpp.
References roo_transport::internal::RingBuffer::empty().
Definition at line 207 of file transmitter.cpp.
References roo_transport::internal::RingBuffer::begin(), roo_transport::internal::RingBuffer::empty(), kConnecting, my_stream_id(), roo_transport::internal::RingBuffer::pop(), and roo_transport::internal::RingBuffer::reset().
|
inline |
Definition at line 66 of file transmitter.h.
Referenced by init().
|
inline |
Definition at line 42 of file transmitter.h.
|
inline |
Definition at line 40 of file transmitter.h.
| void roo_transport::internal::Transmitter::reset | ( | ) |
Definition at line 196 of file transmitter.cpp.
References roo_transport::internal::RingBuffer::empty(), kIdle, and roo_transport::internal::RingBuffer::pop().
Referenced by ack().
Definition at line 107 of file transmitter.cpp.
References roo_transport::internal::OutBuffer::data(), getBufferToSend(), and roo_transport::internal::OutBuffer::size().
| void roo_transport::internal::Transmitter::setBroken | ( | ) |
Definition at line 91 of file transmitter.cpp.
References roo_transport::internal::RingBuffer::empty(), kBroken, and roo_transport::internal::RingBuffer::pop().
|
inline |
Definition at line 54 of file transmitter.h.
References roo_transport::internal::RingBuffer::begin(), and kConnected.
|
inline |
Definition at line 64 of file transmitter.h.
| size_t roo_transport::internal::Transmitter::tryWrite | ( | const roo::byte * | buf, |
| size_t | count, | ||
| bool & | made_space | ||
| ) |
Definition at line 23 of file transmitter.cpp.
References roo_transport::internal::RingBuffer::end(), roo_transport::internal::OutBuffer::finished(), roo_transport::internal::OutBuffer::init(), kBroken, kIdle, roo_transport::internal::RingBuffer::push(), roo_transport::internal::RingBuffer::slotsFree(), and roo_transport::internal::OutBuffer::write().
| bool roo_transport::internal::Transmitter::updateRecvHimark | ( | bool | control_bit, |
| uint16_t | recv_himark | ||
| ) |
Definition at line 297 of file transmitter.cpp.
References roo_transport::internal::RingBuffer::end(), kConnected, and roo_transport::internal::RingBuffer::restorePosHighBits().