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 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 virtual bool OnProtocolVersionMismatch( | 267 virtual bool OnProtocolVersionMismatch( |
268 QuicVersionTag received_version) OVERRIDE; | 268 QuicVersionTag received_version) OVERRIDE; |
269 virtual void OnPacket() OVERRIDE; | 269 virtual void OnPacket() OVERRIDE; |
270 virtual void OnPublicResetPacket( | 270 virtual void OnPublicResetPacket( |
271 const QuicPublicResetPacket& packet) OVERRIDE; | 271 const QuicPublicResetPacket& packet) OVERRIDE; |
272 virtual void OnVersionNegotiationPacket( | 272 virtual void OnVersionNegotiationPacket( |
273 const QuicVersionNegotiationPacket& packet) OVERRIDE; | 273 const QuicVersionNegotiationPacket& packet) OVERRIDE; |
274 virtual void OnRevivedPacket() OVERRIDE; | 274 virtual void OnRevivedPacket() OVERRIDE; |
275 virtual bool OnPacketHeader(const QuicPacketHeader& header) OVERRIDE; | 275 virtual bool OnPacketHeader(const QuicPacketHeader& header) OVERRIDE; |
276 virtual void OnFecProtectedPayload(base::StringPiece payload) OVERRIDE; | 276 virtual void OnFecProtectedPayload(base::StringPiece payload) OVERRIDE; |
277 virtual void OnStreamFrame(const QuicStreamFrame& frame) OVERRIDE; | 277 virtual bool OnStreamFrame(const QuicStreamFrame& frame) OVERRIDE; |
278 virtual void OnAckFrame(const QuicAckFrame& frame) OVERRIDE; | 278 virtual bool OnAckFrame(const QuicAckFrame& frame) OVERRIDE; |
279 virtual void OnCongestionFeedbackFrame( | 279 virtual bool OnCongestionFeedbackFrame( |
280 const QuicCongestionFeedbackFrame& frame) OVERRIDE; | 280 const QuicCongestionFeedbackFrame& frame) OVERRIDE; |
281 virtual void OnRstStreamFrame(const QuicRstStreamFrame& frame) OVERRIDE; | 281 virtual bool OnRstStreamFrame(const QuicRstStreamFrame& frame) OVERRIDE; |
282 virtual void OnGoAwayFrame(const QuicGoAwayFrame& frame) OVERRIDE; | 282 virtual bool OnConnectionCloseFrame( |
283 virtual void OnConnectionCloseFrame( | |
284 const QuicConnectionCloseFrame& frame) OVERRIDE; | 283 const QuicConnectionCloseFrame& frame) OVERRIDE; |
| 284 virtual bool OnGoAwayFrame(const QuicGoAwayFrame& frame) OVERRIDE; |
285 virtual void OnFecData(const QuicFecData& fec) OVERRIDE; | 285 virtual void OnFecData(const QuicFecData& fec) OVERRIDE; |
286 virtual void OnPacketComplete() OVERRIDE; | 286 virtual void OnPacketComplete() OVERRIDE; |
287 | 287 |
288 // QuicPacketGenerator::DelegateInterface | 288 // QuicPacketGenerator::DelegateInterface |
289 virtual bool CanWrite( | 289 virtual bool CanWrite( |
290 Retransmission is_retransmission, | 290 Retransmission is_retransmission, |
291 HasRetransmittableData has_retransmittable_data) OVERRIDE; | 291 HasRetransmittableData has_retransmittable_data) OVERRIDE; |
292 virtual QuicAckFrame* CreateAckFrame() OVERRIDE; | 292 virtual QuicAckFrame* CreateAckFrame() OVERRIDE; |
293 virtual QuicCongestionFeedbackFrame* CreateFeedbackFrame() OVERRIDE; | 293 virtual QuicCongestionFeedbackFrame* CreateFeedbackFrame() OVERRIDE; |
294 virtual bool OnSerializedPacket(const SerializedPacket& packet) OVERRIDE; | 294 virtual bool OnSerializedPacket(const SerializedPacket& packet) OVERRIDE; |
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
572 | 572 |
573 // Statistics for this session. | 573 // Statistics for this session. |
574 QuicConnectionStats stats_; | 574 QuicConnectionStats stats_; |
575 | 575 |
576 // The time that we got a packet for this connection. | 576 // The time that we got a packet for this connection. |
577 QuicTime time_of_last_received_packet_; | 577 QuicTime time_of_last_received_packet_; |
578 | 578 |
579 // The time that we last sent a packet for this connection. | 579 // The time that we last sent a packet for this connection. |
580 QuicTime time_of_last_sent_packet_; | 580 QuicTime time_of_last_sent_packet_; |
581 | 581 |
| 582 // Member holding the time we received the largest_observed sequence number. |
| 583 // Needed for calculating delta_time_largest_observed. |
| 584 QuicTime time_largest_observed_; |
| 585 |
582 // Congestion manager which controls the rate the connection sends packets | 586 // Congestion manager which controls the rate the connection sends packets |
583 // as well as collecting and generating congestion feedback. | 587 // as well as collecting and generating congestion feedback. |
584 QuicCongestionManager congestion_manager_; | 588 QuicCongestionManager congestion_manager_; |
585 | 589 |
586 // The state of connection in version negotiation finite state machine. | 590 // The state of connection in version negotiation finite state machine. |
587 QuicVersionNegotiationState version_negotiation_state_; | 591 QuicVersionNegotiationState version_negotiation_state_; |
588 | 592 |
589 // The version of the protocol this connection is using. | 593 // The version of the protocol this connection is using. |
590 QuicVersionTag quic_version_; | 594 QuicVersionTag quic_version_; |
591 | 595 |
592 // Tracks if the connection was created by the server. | 596 // Tracks if the connection was created by the server. |
593 bool is_server_; | 597 bool is_server_; |
594 | 598 |
595 // True by default. False if we've received or sent an explicit connection | 599 // True by default. False if we've received or sent an explicit connection |
596 // close. | 600 // close. |
597 bool connected_; | 601 bool connected_; |
598 | 602 |
599 // True if the last ack received from the peer may have been truncated. False | 603 // True if the last ack received from the peer may have been truncated. False |
600 // otherwise. | 604 // otherwise. |
601 bool received_truncated_ack_; | 605 bool received_truncated_ack_; |
602 | 606 |
603 bool send_ack_in_response_to_packet_; | 607 bool send_ack_in_response_to_packet_; |
604 | 608 |
605 DISALLOW_COPY_AND_ASSIGN(QuicConnection); | 609 DISALLOW_COPY_AND_ASSIGN(QuicConnection); |
606 }; | 610 }; |
607 | 611 |
608 } // namespace net | 612 } // namespace net |
609 | 613 |
610 #endif // NET_QUIC_QUIC_CONNECTION_H_ | 614 #endif // NET_QUIC_QUIC_CONNECTION_H_ |
OLD | NEW |