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 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 | 424 |
425 // Returns true if the connection has queued packets or frames. | 425 // Returns true if the connection has queued packets or frames. |
426 bool HasQueuedData() const; | 426 bool HasQueuedData() const; |
427 | 427 |
428 // TODO(ianswett): Remove when quic_unified_timeouts is removed. | 428 // TODO(ianswett): Remove when quic_unified_timeouts is removed. |
429 // Sets (or resets) the idle state connection timeout. Also, checks and times | 429 // Sets (or resets) the idle state connection timeout. Also, checks and times |
430 // out the connection if network timer has expired for |timeout|. | 430 // out the connection if network timer has expired for |timeout|. |
431 void SetIdleNetworkTimeout(QuicTime::Delta timeout); | 431 void SetIdleNetworkTimeout(QuicTime::Delta timeout); |
432 | 432 |
433 // Sets (or resets) the total time delta the connection can be alive for. | 433 // Sets (or resets) the total time delta the connection can be alive for. |
434 // Also, checks and times out the connection if timer has expired for | 434 // Used to limit the time a connection can be alive before crypto handshake |
435 // |timeout|. Used to limit the time a connection can be alive before crypto | 435 // finishes. |
436 // handshake finishes. | |
437 void SetOverallConnectionTimeout(QuicTime::Delta timeout); | 436 void SetOverallConnectionTimeout(QuicTime::Delta timeout); |
438 | 437 |
439 // Sets the overall and idle state connection timeouts. | 438 // Sets the overall and idle state connection timeouts. |
440 // Times out the connection if the timeout has been reached and | |
441 // the quic_timeouts_only_from_alarms flag is false. | |
442 void SetNetworkTimeouts(QuicTime::Delta overall_timeout, | 439 void SetNetworkTimeouts(QuicTime::Delta overall_timeout, |
443 QuicTime::Delta idle_timeout); | 440 QuicTime::Delta idle_timeout); |
444 | 441 |
445 // If the connection has timed out, this will close the connection. | 442 // If the connection has timed out, this will close the connection. |
446 // Otherwise, it will reschedule the timeout alarm. | 443 // Otherwise, it will reschedule the timeout alarm. |
447 void CheckForTimeout(); | 444 void CheckForTimeout(); |
448 | 445 |
449 // Sends a ping, and resets the ping alarm. | 446 // Sends a ping, and resets the ping alarm. |
450 void SendPing(); | 447 void SendPing(); |
451 | 448 |
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
839 // If non-empty this contains the set of versions received in a | 836 // If non-empty this contains the set of versions received in a |
840 // version negotiation packet. | 837 // version negotiation packet. |
841 QuicVersionVector server_supported_versions_; | 838 QuicVersionVector server_supported_versions_; |
842 | 839 |
843 DISALLOW_COPY_AND_ASSIGN(QuicConnection); | 840 DISALLOW_COPY_AND_ASSIGN(QuicConnection); |
844 }; | 841 }; |
845 | 842 |
846 } // namespace net | 843 } // namespace net |
847 | 844 |
848 #endif // NET_QUIC_QUIC_CONNECTION_H_ | 845 #endif // NET_QUIC_QUIC_CONNECTION_H_ |
OLD | NEW |