51 private boost::noncopyable
270 private boost::noncopyable
290 void data_sent(
size_t data,
bool rexmission);
414 size_t size_expected = std::numeric_limits<size_t>::max(),
415 size_t size_xferred = 0);
A class that keeps a Peer_socket_receive_stats data store, includes methods to conveniently accumulat...
void sent_low_lvl_ack_packet(bool rcv_wnd_update_only)
Indicates than one low-level ACK packet will be sent as soon as possible.
void good_data_accepted_packet(size_t data)
Indicates good_data_packet(), and these data are not dropped (so either delivered into Receive buffer...
void current_pending_to_ack_packets(size_t count)
Indicates that all incoming data in the current boost.asio handler have been scanned and any ACKs tha...
void good_data_dropped_reassembly_q_overflow_packet(size_t data)
Indicates good_data_packet(), but these data are dropped due to insufficient Receive reassembly queue...
void presumed_dropped_data(size_t data)
Indicates that one or more unreceived data packets have been considered Dropped due to the number of ...
void low_lvl_packet(const std::type_info &type, size_t size)
Indicates a Low_lvl_packet& p was received with typeid(p) == type, deserialized from a buffer of leng...
void good_data_delivered_packet(size_t data)
Indicates good_data_accepted_packet(), and these data are delivered into Receive buffer (either immed...
void late_or_dupe_to_send_ack_packet(size_t data)
Indicates that late_or_dupe_data_packet() and therefore an individual acknowledgment for this packet ...
void total_to_send_ack_packet(size_t data)
Indicates that an individual acknowledgment for one packet will be sent.
void total_data_packet(size_t data)
Indicates one DATA packet has been received on socket.
void rcv_wnd_recovery_event_finish(bool success)
Indicates that the recovery indicated by last rcv_wnd_recovery_event_start() call has finished (we ar...
void good_to_send_ack_packet(size_t data)
Indicates that good_data_delivered_packet() and therefore an individual acknowledgment for this packe...
void good_data_packet(size_t data)
Indicates total_data_packet(), and these data are new and acceptable into Receive buffer assuming the...
void sent_individual_ack()
Indicates than one individual acknowledgment of a data packet has been packaged into an ACK packet th...
void error_data_packet(size_t data)
Indicates total_data_packet(), but there is some error about the sequence numbers so that they are no...
const Peer_socket_receive_stats & stats() const
Returns reference to non-modifiable current set of accumulated stats.
void buffer_fed(size_t size)
Indicates the Receive buffer was enqueued with data from network (so its data_size() increased).
void good_data_first_qd_packet(size_t data)
Indicates good_data_accepted_packet(), and these data are, upon receipt, queued for reassembly (not i...
void good_data_dropped_buf_overflow_packet(size_t data)
Indicates good_data_packet(), but these data are dropped due to insufficient Receive buffer space.
void rcv_wnd_recovery_event_start()
Indicates we seem to have detected that our rcv_wnd went from exhaustion to largely free,...
void late_or_dupe_data_packet(size_t data)
Indicates total_data_packet(), but the arrived data have either already been received before or (more...
A class that keeps a Peer_socket_send_stats data store, includes methods to conveniently accumulate d...
void received_low_lvl_ack_packet(bool rcv_wnd_update_only)
Indicates an ACK packet on this socket was received.
void idle_timeout()
Indicates an idle timeout (in the send direction) has been detected and indicated to congestion contr...
void drop_timeout()
Indicates a Drop Timer fired once.
void low_lvl_packet_xfer_completed(const std::type_info &type, size_t size_expected=std::numeric_limits< size_t >::max(), size_t size_xferred=0)
Indicates low_lvl_packet_xfer_called(), and that send operation has now reported its outcome by calli...
void error_ack()
Indicates received_ack(), but there is some error about the sequence number so that it is not accepta...
void buffer_fed(size_t size)
Indicates the Send buffer was enqueued with data from a user send*() call (so its data_size() increas...
void updated_rcv_wnd(bool wnd_exhausted)
Indicates an ACK packet has advertised a rcv_wnd and whether this rcv_wnd would allow one to send one...
void received_ack()
Indicates one individual acknowledgment (of a DATA packet) inside an ACK has been received.
void low_lvl_packet_xfer_called(const std::type_info &type, bool delayed_by_pacing, size_t size)
Indicates low_lvl_packet_xfer_requested(), and that packet has now been given to OS UDP stack to actu...
void loss_event()
Indicates a new loss event (not counting Drop Timeouts) has been reported to congestion control (Cong...
void dropped_data(size_t data, size_t count)
Indicates that 1 or more packets have been converted from In-flight to Dropped.
void low_lvl_packet_xfer_requested(const std::type_info &type)
Indicates a packet was given to the sending module to send, possibly subject to pacing.
const Peer_socket_send_stats & stats() const
Returns reference to non-modifiable current set of accumulated stats.
void late_or_dupe_ack()
Indicates received_ack(), but the arrived acknowledgment is for a packet that has either already been...
void data_sent(size_t data, bool rexmission)
Indicates a DATA packet was sent.
void good_ack(size_t data)
Indicates received_ack(), and the arrived acknowledgment properly acknowledged a DATA packet,...
A data store that keeps stats about the outgoing direction of a Peer_socket connection to another Flo...
Flow module containing the API and implementation of the Flow network protocol, a TCP-inspired stream...
A data store that keeps stats about the incoming direction of a Peer_socket connection to another Flo...