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 816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
827 bool IsTerminationPacket(const SerializedPacket& packet); | 827 bool IsTerminationPacket(const SerializedPacket& packet); |
828 | 828 |
829 // Set the size of the packet we are targeting while doing path MTU discovery. | 829 // Set the size of the packet we are targeting while doing path MTU discovery. |
830 void SetMtuDiscoveryTarget(QuicByteCount target); | 830 void SetMtuDiscoveryTarget(QuicByteCount target); |
831 | 831 |
832 // Returns |suggested_max_packet_size| clamped to any limits set by the | 832 // Returns |suggested_max_packet_size| clamped to any limits set by the |
833 // underlying writer, connection, or protocol. | 833 // underlying writer, connection, or protocol. |
834 QuicByteCount GetLimitedMaxPacketSize( | 834 QuicByteCount GetLimitedMaxPacketSize( |
835 QuicByteCount suggested_max_packet_size); | 835 QuicByteCount suggested_max_packet_size); |
836 | 836 |
837 // Called when |path_id| is considered as closed because either a PATH_CLOSE | |
838 // frame is sent or received. Stops receiving packets on closed path. Drops | |
839 // receive side of a closed path, and packets with retransmittable frames on a | |
840 // closed path are marked as retransmissions which will be transmitted on | |
841 // other paths. | |
842 // TODO(fayang): complete OnPathClosed once QuicMultipathSentPacketManager and | |
843 // QuicMultipathReceivedPacketManager are landed in QuicConnection. | |
844 void OnPathClosed(QuicPathId path_id); | |
845 | |
846 // Do any work which logically would be done in OnPacket but can not be | 837 // Do any work which logically would be done in OnPacket but can not be |
847 // safely done until the packet is validated. Returns true if packet can be | 838 // safely done until the packet is validated. Returns true if packet can be |
848 // handled, false otherwise. | 839 // handled, false otherwise. |
849 bool ProcessValidatedPacket(const QuicPacketHeader& header); | 840 bool ProcessValidatedPacket(const QuicPacketHeader& header); |
850 | 841 |
851 // Consider receiving crypto frame on non crypto stream as memory corruption. | 842 // Consider receiving crypto frame on non crypto stream as memory corruption. |
852 bool MaybeConsiderAsMemoryCorruption(const QuicStreamFrame& frame); | 843 bool MaybeConsiderAsMemoryCorruption(const QuicStreamFrame& frame); |
853 | 844 |
854 const QuicTime::Delta DelayedAckTime(); | 845 const QuicTime::Delta DelayedAckTime(); |
855 | 846 |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1095 // Indicates whether a write error is encountered currently. This is used to | 1086 // Indicates whether a write error is encountered currently. This is used to |
1096 // avoid infinite write errors. | 1087 // avoid infinite write errors. |
1097 bool write_error_occured_; | 1088 bool write_error_occured_; |
1098 | 1089 |
1099 DISALLOW_COPY_AND_ASSIGN(QuicConnection); | 1090 DISALLOW_COPY_AND_ASSIGN(QuicConnection); |
1100 }; | 1091 }; |
1101 | 1092 |
1102 } // namespace net | 1093 } // namespace net |
1103 | 1094 |
1104 #endif // NET_QUIC_CORE_QUIC_CONNECTION_H_ | 1095 #endif // NET_QUIC_CORE_QUIC_CONNECTION_H_ |
OLD | NEW |