44 size_t tryWrite(
const roo::byte* buf,
size_t count,
bool& made_space);
54 void setConnected(uint16_t peer_receive_buffer_size,
bool control_bit) {
56 peer_receive_buffer_size_ = peer_receive_buffer_size;
57 control_bit_ = control_bit;
59 recv_himark_ = out_ring_.
begin() + peer_receive_buffer_size;
69 size_t send(roo::byte* buf,
long& next_send_micros);
76 bool ack(
bool control_bit, uint16_t seq_id,
const roo::byte* ack_bitmap,
77 size_t ack_bitmap_len);
85 return out_buffers_[out_ring_.
offset_for(seq)];
90 uint32_t my_stream_id_;
99 std::unique_ptr<OutBuffer[]> out_buffers_;
100 OutBuffer* current_out_buffer_;
101 RingBuffer out_ring_;
105 SeqNum next_to_send_;
117 bool has_pending_eof_;
119 uint32_t packets_sent_;
120 uint32_t packets_delivered_;
123 uint16_t peer_receive_buffer_size_;
uint16_t offset_for(SeqNum seq) const
void init(uint32_t my_stream_id, SeqNum new_start)
uint32_t packets_sent() const
size_t tryWrite(const roo::byte *buf, size_t count, bool &made_space)
size_t availableForWrite() const
const OutBuffer * getBufferToSend(long &next_send_micros)
size_t send(roo::byte *buf, long &next_send_micros)
bool updateRecvHimark(bool control_bit, uint16_t recv_himark)
uint32_t my_stream_id() const
bool hasPendingData() const
uint32_t packets_delivered() const
void setConnected(uint16_t peer_receive_buffer_size, bool control_bit)
bool ack(bool control_bit, uint16_t seq_id, const roo::byte *ack_bitmap, size_t ack_bitmap_len)