| Index: net/quic/quic_connection.h
|
| diff --git a/net/quic/quic_connection.h b/net/quic/quic_connection.h
|
| index bf4e85cb2e489c071b22a20aae1c6880e81488a9..8de330bb81acd000d8f6f01eaeab2d5e65e81fd7 100644
|
| --- a/net/quic/quic_connection.h
|
| +++ b/net/quic/quic_connection.h
|
| @@ -296,9 +296,12 @@ class NET_EXPORT_PRIVATE QuicConnection
|
| public QuicSentPacketManager::NetworkChangeVisitor {
|
| public:
|
| enum AckBundling {
|
| - NO_ACK = 0,
|
| - SEND_ACK = 1,
|
| - BUNDLE_PENDING_ACK = 2,
|
| + // Send an ack if it's already queued in the connection.
|
| + SEND_ACK_IF_QUEUED,
|
| + // Always send an ack.
|
| + SEND_ACK,
|
| + // Bundle an ack with outgoing data.
|
| + SEND_ACK_IF_PENDING,
|
| };
|
|
|
| enum AckMode { TCP_ACKING, ACK_DECIMATION, ACK_DECIMATION_WITH_REORDERING };
|
| @@ -613,6 +616,8 @@ class NET_EXPORT_PRIVATE QuicConnection
|
| ~ScopedPacketBundler();
|
|
|
| private:
|
| + bool ShouldSendAck(AckBundling ack_mode) const;
|
| +
|
| QuicConnection* connection_;
|
| bool already_in_batch_mode_;
|
| };
|
| @@ -657,6 +662,8 @@ class NET_EXPORT_PRIVATE QuicConnection
|
| return termination_packets_.get();
|
| }
|
|
|
| + bool ack_queued() const { return ack_queued_; }
|
| +
|
| bool ack_frame_updated() const;
|
|
|
| QuicConnectionHelperInterface* helper() { return helper_; }
|
| @@ -847,7 +854,7 @@ class NET_EXPORT_PRIVATE QuicConnection
|
| // True if the last packet has gotten far enough in the framer to be
|
| // decrypted.
|
| bool last_packet_decrypted_;
|
| - QuicByteCount last_size_; // Size of the last received packet.
|
| + QuicByteCount last_size_; // Size of the last received packet.
|
| // TODO(rch): remove this when b/27221014 is fixed.
|
| const char* current_packet_data_; // UDP payload of packet currently being
|
| // parsed or nullptr.
|
|
|