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 // Handles packets for guids in time wait state by discarding the packet and | 5 // Handles packets for guids in time wait state by discarding the packet and |
6 // sending the clients a public reset packet with exponential backoff. | 6 // sending the clients a public reset packet with exponential backoff. |
7 | 7 |
8 #ifndef NET_TOOLS_QUIC_QUIC_TIME_WAIT_LIST_MANAGER_H_ | 8 #ifndef NET_TOOLS_QUIC_QUIC_TIME_WAIT_LIST_MANAGER_H_ |
9 #define NET_TOOLS_QUIC_QUIC_TIME_WAIT_LIST_MANAGER_H_ | 9 #define NET_TOOLS_QUIC_QUIC_TIME_WAIT_LIST_MANAGER_H_ |
10 | 10 |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 virtual void OnPublicResetPacket( | 78 virtual void OnPublicResetPacket( |
79 const QuicPublicResetPacket& packet) OVERRIDE {} | 79 const QuicPublicResetPacket& packet) OVERRIDE {} |
80 virtual void OnVersionNegotiationPacket( | 80 virtual void OnVersionNegotiationPacket( |
81 const QuicVersionNegotiationPacket& /*packet*/) OVERRIDE {} | 81 const QuicVersionNegotiationPacket& /*packet*/) OVERRIDE {} |
82 | 82 |
83 virtual void OnPacketComplete() OVERRIDE {} | 83 virtual void OnPacketComplete() OVERRIDE {} |
84 // The following methods should never get called because we always return | 84 // The following methods should never get called because we always return |
85 // false from OnPacketHeader(). We never need to process body of a packet. | 85 // false from OnPacketHeader(). We never need to process body of a packet. |
86 virtual void OnRevivedPacket() OVERRIDE {} | 86 virtual void OnRevivedPacket() OVERRIDE {} |
87 virtual void OnFecProtectedPayload(base::StringPiece payload) OVERRIDE {} | 87 virtual void OnFecProtectedPayload(base::StringPiece payload) OVERRIDE {} |
88 virtual void OnStreamFrame(const QuicStreamFrame& frame) OVERRIDE {} | 88 virtual bool OnStreamFrame(const QuicStreamFrame& frame) OVERRIDE; |
89 virtual void OnAckFrame(const QuicAckFrame& frame) OVERRIDE {} | 89 virtual bool OnAckFrame(const QuicAckFrame& frame) OVERRIDE; |
90 virtual void OnCongestionFeedbackFrame( | 90 virtual bool OnCongestionFeedbackFrame( |
91 const QuicCongestionFeedbackFrame& frame) OVERRIDE {} | 91 const QuicCongestionFeedbackFrame& frame) OVERRIDE; |
92 virtual void OnRstStreamFrame(const QuicRstStreamFrame& frame) OVERRIDE {} | 92 virtual bool OnRstStreamFrame(const QuicRstStreamFrame& frame) OVERRIDE; |
93 virtual void OnConnectionCloseFrame( | 93 virtual bool OnConnectionCloseFrame( |
94 const QuicConnectionCloseFrame & frame) OVERRIDE {} | 94 const QuicConnectionCloseFrame & frame) OVERRIDE; |
95 virtual void OnGoAwayFrame( | 95 virtual bool OnGoAwayFrame(const QuicGoAwayFrame& frame) OVERRIDE; |
96 const QuicGoAwayFrame& frame) OVERRIDE {} | |
97 virtual void OnFecData(const QuicFecData& fec) OVERRIDE {} | 96 virtual void OnFecData(const QuicFecData& fec) OVERRIDE {} |
98 | 97 |
99 protected: | 98 protected: |
100 // Exposed for tests. | 99 // Exposed for tests. |
101 bool is_write_blocked() const { return is_write_blocked_; } | 100 bool is_write_blocked() const { return is_write_blocked_; } |
102 | 101 |
103 // Decides if public reset packet should be sent for this guid based on the | 102 // Decides if public reset packet should be sent for this guid based on the |
104 // number of received pacekts. | 103 // number of received pacekts. |
105 bool ShouldSendPublicReset(int received_packet_count); | 104 bool ShouldSendPublicReset(int received_packet_count); |
106 | 105 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 // on sendmsg. | 172 // on sendmsg. |
174 bool is_write_blocked_; | 173 bool is_write_blocked_; |
175 | 174 |
176 DISALLOW_COPY_AND_ASSIGN(QuicTimeWaitListManager); | 175 DISALLOW_COPY_AND_ASSIGN(QuicTimeWaitListManager); |
177 }; | 176 }; |
178 | 177 |
179 } // namespace tools | 178 } // namespace tools |
180 } // namespace net | 179 } // namespace net |
181 | 180 |
182 #endif // NET_TOOLS_QUIC_QUIC_TIME_WAIT_LIST_MANAGER_H_ | 181 #endif // NET_TOOLS_QUIC_QUIC_TIME_WAIT_LIST_MANAGER_H_ |
OLD | NEW |