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 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 | 222 |
223 // Called when a ConnectionCloseFrame has been parsed. | 223 // Called when a ConnectionCloseFrame has been parsed. |
224 virtual void OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) {} | 224 virtual void OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) {} |
225 | 225 |
226 // Called when a WindowUpdate has been parsed. | 226 // Called when a WindowUpdate has been parsed. |
227 virtual void OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) {} | 227 virtual void OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) {} |
228 | 228 |
229 // Called when a BlockedFrame has been parsed. | 229 // Called when a BlockedFrame has been parsed. |
230 virtual void OnBlockedFrame(const QuicBlockedFrame& frame) {} | 230 virtual void OnBlockedFrame(const QuicBlockedFrame& frame) {} |
231 | 231 |
232 // Called when a PathCloseFrame has been parsed. | |
233 virtual void OnPathCloseFrame(const QuicPathCloseFrame& frame) {} | |
234 | |
235 // Called when a public reset packet has been received. | 232 // Called when a public reset packet has been received. |
236 virtual void OnPublicResetPacket(const QuicPublicResetPacket& packet) {} | 233 virtual void OnPublicResetPacket(const QuicPublicResetPacket& packet) {} |
237 | 234 |
238 // Called when a version negotiation packet has been received. | 235 // Called when a version negotiation packet has been received. |
239 virtual void OnVersionNegotiationPacket( | 236 virtual void OnVersionNegotiationPacket( |
240 const QuicVersionNegotiationPacket& packet) {} | 237 const QuicVersionNegotiationPacket& packet) {} |
241 | 238 |
242 // Called when the connection is closed. | 239 // Called when the connection is closed. |
243 virtual void OnConnectionClosed(QuicErrorCode error, | 240 virtual void OnConnectionClosed(QuicErrorCode error, |
244 const std::string& error_details, | 241 const std::string& error_details, |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 bool OnStreamFrame(const QuicStreamFrame& frame) override; | 435 bool OnStreamFrame(const QuicStreamFrame& frame) override; |
439 bool OnAckFrame(const QuicAckFrame& frame) override; | 436 bool OnAckFrame(const QuicAckFrame& frame) override; |
440 bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override; | 437 bool OnStopWaitingFrame(const QuicStopWaitingFrame& frame) override; |
441 bool OnPaddingFrame(const QuicPaddingFrame& frame) override; | 438 bool OnPaddingFrame(const QuicPaddingFrame& frame) override; |
442 bool OnPingFrame(const QuicPingFrame& frame) override; | 439 bool OnPingFrame(const QuicPingFrame& frame) override; |
443 bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override; | 440 bool OnRstStreamFrame(const QuicRstStreamFrame& frame) override; |
444 bool OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) override; | 441 bool OnConnectionCloseFrame(const QuicConnectionCloseFrame& frame) override; |
445 bool OnGoAwayFrame(const QuicGoAwayFrame& frame) override; | 442 bool OnGoAwayFrame(const QuicGoAwayFrame& frame) override; |
446 bool OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) override; | 443 bool OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame) override; |
447 bool OnBlockedFrame(const QuicBlockedFrame& frame) override; | 444 bool OnBlockedFrame(const QuicBlockedFrame& frame) override; |
448 bool OnPathCloseFrame(const QuicPathCloseFrame& frame) override; | |
449 void OnPacketComplete() override; | 445 void OnPacketComplete() override; |
450 | 446 |
451 // QuicConnectionCloseDelegateInterface | 447 // QuicConnectionCloseDelegateInterface |
452 void OnUnrecoverableError(QuicErrorCode error, | 448 void OnUnrecoverableError(QuicErrorCode error, |
453 const std::string& error_details, | 449 const std::string& error_details, |
454 ConnectionCloseSource source) override; | 450 ConnectionCloseSource source) override; |
455 | 451 |
456 // QuicPacketGenerator::DelegateInterface | 452 // QuicPacketGenerator::DelegateInterface |
457 bool ShouldGeneratePacket(HasRetransmittableData retransmittable, | 453 bool ShouldGeneratePacket(HasRetransmittableData retransmittable, |
458 IsHandshake handshake) override; | 454 IsHandshake handshake) override; |
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1072 | 1068 |
1073 // The size of the largest packet received from peer. | 1069 // The size of the largest packet received from peer. |
1074 QuicByteCount largest_received_packet_size_; | 1070 QuicByteCount largest_received_packet_size_; |
1075 | 1071 |
1076 // Whether a GoAway has been sent. | 1072 // Whether a GoAway has been sent. |
1077 bool goaway_sent_; | 1073 bool goaway_sent_; |
1078 | 1074 |
1079 // Whether a GoAway has been received. | 1075 // Whether a GoAway has been received. |
1080 bool goaway_received_; | 1076 bool goaway_received_; |
1081 | 1077 |
1082 // If true, multipath is enabled for this connection. | |
1083 bool multipath_enabled_; | |
1084 | |
1085 // Indicates whether a write error is encountered currently. This is used to | 1078 // Indicates whether a write error is encountered currently. This is used to |
1086 // avoid infinite write errors. | 1079 // avoid infinite write errors. |
1087 bool write_error_occured_; | 1080 bool write_error_occured_; |
1088 | 1081 |
1089 // Indicates not to send or process stop waiting frames. | 1082 // Indicates not to send or process stop waiting frames. |
1090 bool no_stop_waiting_frames_; | 1083 bool no_stop_waiting_frames_; |
1091 | 1084 |
1092 DISALLOW_COPY_AND_ASSIGN(QuicConnection); | 1085 DISALLOW_COPY_AND_ASSIGN(QuicConnection); |
1093 }; | 1086 }; |
1094 | 1087 |
1095 } // namespace net | 1088 } // namespace net |
1096 | 1089 |
1097 #endif // NET_QUIC_CORE_QUIC_CONNECTION_H_ | 1090 #endif // NET_QUIC_CORE_QUIC_CONNECTION_H_ |
OLD | NEW |