Chromium Code Reviews| Index: net/quic/quic_stream_factory.h |
| diff --git a/net/quic/quic_stream_factory.h b/net/quic/quic_stream_factory.h |
| index c55059002be1edb4185c311b53eb601d59f0a3b4..1c310f287e8d5f231f192777be9c562a543f5657 100644 |
| --- a/net/quic/quic_stream_factory.h |
| +++ b/net/quic/quic_stream_factory.h |
| @@ -108,6 +108,8 @@ class NET_EXPORT_PRIVATE QuicStreamFactory |
| bool enable_connection_racing, |
| bool enable_non_blocking_io, |
| bool disable_disk_cache, |
| + int max_number_of_lossy_connections, |
| + float packet_loss_threshold, |
| int socket_receive_buffer_size, |
| const QuicTagVector& connection_options); |
| ~QuicStreamFactory() override; |
| @@ -124,6 +126,18 @@ class NET_EXPORT_PRIVATE QuicStreamFactory |
| const BoundNetLog& net_log, |
| QuicStreamRequest* request); |
| + // Returns false if |packet_loss_rate| is less than |packet_loss_threshold_| |
| + // otherwise it returns true and closes the session and marks QUIC as recently |
| + // broken for the given |server_id|. Increments |number_of_lossy_connections_| |
| + // for the server_id's port. |
| + bool OnBadPacketLoss(QuicClientSession* session, |
| + const QuicServerId& server_id, |
|
Ryan Hamilton
2015/03/24 03:43:00
I think |session| has a server_id() method so perh
ramant (doing other things)
2015/03/24 17:19:24
Done.
|
| + float packet_loss_rate); |
| + |
| + // Returns true if the |number_of_lossy_connections_| for the given port is |
| + // greater than |max_number_of_lossy_connections_|. |
|
Ryan Hamilton
2015/03/24 03:43:00
I think I would simply say
// Returns true if QU
ramant (doing other things)
2015/03/24 17:19:23
Done.
|
| + bool IsQuicDisabled(uint16 port); |
| + |
| // Called by a session when it becomes idle. |
| void OnIdleSession(QuicClientSession* session); |
| @@ -327,6 +341,12 @@ class NET_EXPORT_PRIVATE QuicStreamFactory |
| // Set if we do not want to load server config from the disk cache. |
| bool disable_disk_cache_; |
| + // Set if we want to disable QUIC when there is high packet loss rate. |
| + int max_number_of_lossy_connections_; |
| + float packet_loss_threshold_; |
| + // Count number of lossy connections by port. |
| + std::map<uint16, int> number_of_lossy_connections_; |
| + |
| // Size of the UDP receive buffer. |
| int socket_receive_buffer_size_; |