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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 virtual bool OnStreamFrames(const std::vector<QuicStreamFrame>& frames) = 0; | 68 virtual bool OnStreamFrames(const std::vector<QuicStreamFrame>& frames) = 0; |
69 | 69 |
70 // Called when the stream is reset by the peer. | 70 // Called when the stream is reset by the peer. |
71 virtual void OnRstStream(const QuicRstStreamFrame& frame) = 0; | 71 virtual void OnRstStream(const QuicRstStreamFrame& frame) = 0; |
72 | 72 |
73 // Called when the connection is going away according to the peer. | 73 // Called when the connection is going away according to the peer. |
74 virtual void OnGoAway(const QuicGoAwayFrame& frame) = 0; | 74 virtual void OnGoAway(const QuicGoAwayFrame& frame) = 0; |
75 | 75 |
76 // Called when the connection is closed either locally by the framer, or | 76 // Called when the connection is closed either locally by the framer, or |
77 // remotely by the peer. | 77 // remotely by the peer. |
78 virtual void OnConnectionClosed(QuicErrorCode error, | 78 virtual void OnConnectionClosed(QuicErrorCode error, bool from_peer) = 0; |
79 bool from_peer) = 0; | 79 |
| 80 // Called when the connection failed to write because the socket was blocked. |
| 81 virtual void OnWriteBlocked() = 0; |
80 | 82 |
81 // Called once a specific QUIC version is agreed by both endpoints. | 83 // Called once a specific QUIC version is agreed by both endpoints. |
82 virtual void OnSuccessfulVersionNegotiation(const QuicVersion& version) = 0; | 84 virtual void OnSuccessfulVersionNegotiation(const QuicVersion& version) = 0; |
83 | 85 |
84 // Indicates a new QuicConfig has been negotiated. | 86 // Indicates a new QuicConfig has been negotiated. |
85 virtual void OnConfigNegotiated() = 0; | 87 virtual void OnConfigNegotiated() = 0; |
86 | 88 |
87 // Called when a blocked socket becomes writable. If all pending bytes for | 89 // Called when a blocked socket becomes writable. If all pending bytes for |
88 // this visitor are consumed by the connection successfully this should | 90 // this visitor are consumed by the connection successfully this should |
89 // return true, otherwise it should return false. | 91 // return true, otherwise it should return false. |
(...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
711 // If non-empty this contains the set of versions received in a | 713 // If non-empty this contains the set of versions received in a |
712 // version negotiation packet. | 714 // version negotiation packet. |
713 QuicVersionVector server_supported_versions_; | 715 QuicVersionVector server_supported_versions_; |
714 | 716 |
715 DISALLOW_COPY_AND_ASSIGN(QuicConnection); | 717 DISALLOW_COPY_AND_ASSIGN(QuicConnection); |
716 }; | 718 }; |
717 | 719 |
718 } // namespace net | 720 } // namespace net |
719 | 721 |
720 #endif // NET_QUIC_QUIC_CONNECTION_H_ | 722 #endif // NET_QUIC_QUIC_CONNECTION_H_ |
OLD | NEW |