OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 // | 4 // |
5 // The entity that handles framing writes for a Quic client or server. | 5 // The entity that handles framing writes for a Quic client or server. |
6 // Each QuicSession will have a connection associated with it. | 6 // Each QuicSession will have a connection associated with it. |
7 // | 7 // |
8 // On the server side, the Dispatcher handles the raw reads, and hands off | 8 // On the server side, the Dispatcher handles the raw reads, and hands off |
9 // packets via ProcessUdpPacket for framing and processing. | 9 // packets via ProcessUdpPacket for framing and processing. |
10 // | 10 // |
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
706 | 706 |
707 // Largest sequence number sent by the peer which had a stop waiting frame. | 707 // Largest sequence number sent by the peer which had a stop waiting frame. |
708 QuicPacketSequenceNumber largest_seen_packet_with_stop_waiting_; | 708 QuicPacketSequenceNumber largest_seen_packet_with_stop_waiting_; |
709 | 709 |
710 // Collection of packets which were received before encryption was | 710 // Collection of packets which were received before encryption was |
711 // established, but which could not be decrypted. We buffer these on | 711 // established, but which could not be decrypted. We buffer these on |
712 // the assumption that they could not be processed because they were | 712 // the assumption that they could not be processed because they were |
713 // sent with the INITIAL encryption and the CHLO message was lost. | 713 // sent with the INITIAL encryption and the CHLO message was lost. |
714 std::deque<QuicEncryptedPacket*> undecryptable_packets_; | 714 std::deque<QuicEncryptedPacket*> undecryptable_packets_; |
715 | 715 |
| 716 // Maximum number of undecryptable packets the connection will store. |
| 717 size_t max_undecryptable_packets_; |
| 718 |
716 // When the version negotiation packet could not be sent because the socket | 719 // When the version negotiation packet could not be sent because the socket |
717 // was not writable, this is set to true. | 720 // was not writable, this is set to true. |
718 bool pending_version_negotiation_packet_; | 721 bool pending_version_negotiation_packet_; |
719 | 722 |
720 // When packets could not be sent because the socket was not writable, | 723 // When packets could not be sent because the socket was not writable, |
721 // they are added to this list. All corresponding frames are in | 724 // they are added to this list. All corresponding frames are in |
722 // unacked_packets_ if they are to be retransmitted. | 725 // unacked_packets_ if they are to be retransmitted. |
723 QueuedPacketList queued_packets_; | 726 QueuedPacketList queued_packets_; |
724 | 727 |
725 // Contains the connection close packet if the connection has been closed. | 728 // Contains the connection close packet if the connection has been closed. |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
811 // If non-empty this contains the set of versions received in a | 814 // If non-empty this contains the set of versions received in a |
812 // version negotiation packet. | 815 // version negotiation packet. |
813 QuicVersionVector server_supported_versions_; | 816 QuicVersionVector server_supported_versions_; |
814 | 817 |
815 DISALLOW_COPY_AND_ASSIGN(QuicConnection); | 818 DISALLOW_COPY_AND_ASSIGN(QuicConnection); |
816 }; | 819 }; |
817 | 820 |
818 } // namespace net | 821 } // namespace net |
819 | 822 |
820 #endif // NET_QUIC_QUIC_CONNECTION_H_ | 823 #endif // NET_QUIC_QUIC_CONNECTION_H_ |
OLD | NEW |