| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "net/quic/quic_connection_stats.h" |
| |
| using std::ostream; |
| |
| namespace net { |
| |
| QuicConnectionStats::QuicConnectionStats() |
| : bytes_sent(0), |
| packets_sent(0), |
| stream_bytes_sent(0), |
| packets_discarded(0), |
| bytes_received(0), |
| packets_received(0), |
| packets_processed(0), |
| stream_bytes_received(0), |
| bytes_retransmitted(0), |
| packets_retransmitted(0), |
| bytes_spuriously_retransmitted(0), |
| packets_spuriously_retransmitted(0), |
| packets_lost(0), |
| slowstart_packets_lost(0), |
| packets_revived(0), |
| packets_dropped(0), |
| crypto_retransmit_count(0), |
| loss_timeout_count(0), |
| tlp_count(0), |
| rto_count(0), |
| spurious_rto_count(0), |
| min_rtt_us(0), |
| srtt_us(0), |
| max_packet_size(0), |
| estimated_bandwidth(0), |
| packets_reordered(0), |
| max_sequence_reordering(0), |
| max_time_reordering_us(0), |
| tcp_loss_events(0), |
| cwnd_increase_congestion_avoidance(0), |
| cwnd_increase_cubic_mode(0), |
| connection_creation_time(QuicTime::Zero()) { |
| } |
| |
| QuicConnectionStats::~QuicConnectionStats() {} |
| |
| ostream& operator<<(ostream& os, const QuicConnectionStats& s) { |
| os << "{ bytes sent: " << s.bytes_sent |
| << ", packets sent:" << s.packets_sent |
| << ", stream bytes sent: " << s.stream_bytes_sent |
| << ", packets discarded: " << s.packets_discarded |
| << ", bytes received: " << s.bytes_received |
| << ", packets received: " << s.packets_received |
| << ", packets processed: " << s.packets_processed |
| << ", stream bytes received: " << s.stream_bytes_received |
| << ", bytes retransmitted: " << s.bytes_retransmitted |
| << ", packets retransmitted: " << s.packets_retransmitted |
| << ", bytes spuriously retransmitted: " << s.bytes_spuriously_retransmitted |
| << ", packets spuriously retransmitted: " |
| << s.packets_spuriously_retransmitted |
| << ", packets lost: " << s.packets_lost |
| << ", slowstart packets lost: " << s.slowstart_packets_lost |
| << ", packets revived: " << s.packets_revived |
| << ", packets dropped:" << s.packets_dropped |
| << ", crypto retransmit count: " << s.crypto_retransmit_count |
| << ", tlp count: " << s.tlp_count |
| << ", rto count: " << s.rto_count |
| << ", spurious_rto_count:" << s.spurious_rto_count |
| << ", min_rtt(us): " << s.min_rtt_us |
| << ", srtt(us): " << s.srtt_us |
| << ", max packet size: " << s.max_packet_size |
| << ", estimated bandwidth: " << s.estimated_bandwidth |
| << ", tcp_loss_events: " << s.tcp_loss_events |
| << ", packets reordered: " << s.packets_reordered |
| << ", max sequence reordering: " << s.max_sequence_reordering |
| << ", max time reordering(us): " << s.max_time_reordering_us |
| << ", total amount of cwnd increase in TCPCubic, in congestion avoidance: " |
| << s.cwnd_increase_congestion_avoidance |
| << ", amount of cwnd increase in TCPCubic, in cubic mode: " |
| << s.cwnd_increase_cubic_mode |
| << "}\n"; |
| return os; |
| } |
| |
| } // namespace net |