OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // A server side dispatcher which dispatches a given client's data to their | 5 // A server side dispatcher which dispatches a given client's data to their |
6 // stream. | 6 // stream. |
7 | 7 |
8 #ifndef NET_QUIC_QUIC_DISPATCHER_H_ | 8 #ifndef NET_QUIC_QUIC_DISPATCHER_H_ |
9 #define NET_QUIC_QUIC_DISPATCHER_H_ | 9 #define NET_QUIC_QUIC_DISPATCHER_H_ |
10 | 10 |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 } | 130 } |
131 | 131 |
132 QuicTimeWaitListManager* time_wait_list_manager() { | 132 QuicTimeWaitListManager* time_wait_list_manager() { |
133 return time_wait_list_manager_.get(); | 133 return time_wait_list_manager_.get(); |
134 } | 134 } |
135 | 135 |
136 const QuicVersionVector& supported_versions() const { | 136 const QuicVersionVector& supported_versions() const { |
137 return supported_versions_; | 137 return supported_versions_; |
138 } | 138 } |
139 | 139 |
140 const QuicVersionVector& supported_versions_no_connection_flow_control() | |
141 const { | |
142 return supported_versions_no_connection_flow_control_; | |
143 } | |
144 | |
145 const IPEndPoint& current_server_address() { | 140 const IPEndPoint& current_server_address() { |
146 return current_server_address_; | 141 return current_server_address_; |
147 } | 142 } |
148 const IPEndPoint& current_client_address() { | 143 const IPEndPoint& current_client_address() { |
149 return current_client_address_; | 144 return current_client_address_; |
150 } | 145 } |
151 const QuicEncryptedPacket& current_packet() { | 146 const QuicEncryptedPacket& current_packet() { |
152 return *current_packet_; | 147 return *current_packet_; |
153 } | 148 } |
154 | 149 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 | 194 |
200 // The writer to write to the socket with. | 195 // The writer to write to the socket with. |
201 scoped_ptr<QuicServerPacketWriter> writer_; | 196 scoped_ptr<QuicServerPacketWriter> writer_; |
202 | 197 |
203 // This vector contains QUIC versions which we currently support. | 198 // This vector contains QUIC versions which we currently support. |
204 // This should be ordered such that the highest supported version is the first | 199 // This should be ordered such that the highest supported version is the first |
205 // element, with subsequent elements in descending order (versions can be | 200 // element, with subsequent elements in descending order (versions can be |
206 // skipped as necessary). | 201 // skipped as necessary). |
207 const QuicVersionVector supported_versions_; | 202 const QuicVersionVector supported_versions_; |
208 | 203 |
209 // Versions which do not support *connection* flow control (introduced in | |
210 // QUIC_VERSION_19). | |
211 // This is used to construct new QuicConnections when connection flow control | |
212 // is disabled via flag. | |
213 // TODO(rjshade): Remove this when | |
214 // FLAGS_enable_quic_connection_flow_control_2 is removed. | |
215 QuicVersionVector supported_versions_no_connection_flow_control_; | |
216 | |
217 // Information about the packet currently being handled. | 204 // Information about the packet currently being handled. |
218 IPEndPoint current_client_address_; | 205 IPEndPoint current_client_address_; |
219 IPEndPoint current_server_address_; | 206 IPEndPoint current_server_address_; |
220 const QuicEncryptedPacket* current_packet_; | 207 const QuicEncryptedPacket* current_packet_; |
221 | 208 |
222 QuicFramer framer_; | 209 QuicFramer framer_; |
223 scoped_ptr<QuicFramerVisitor> framer_visitor_; | 210 scoped_ptr<QuicFramerVisitor> framer_visitor_; |
224 | 211 |
225 DISALLOW_COPY_AND_ASSIGN(QuicDispatcher); | 212 DISALLOW_COPY_AND_ASSIGN(QuicDispatcher); |
226 }; | 213 }; |
227 | 214 |
228 } // namespace net | 215 } // namespace net |
229 | 216 |
230 #endif // NET_QUIC_QUIC_DISPATCHER_H_ | 217 #endif // NET_QUIC_QUIC_DISPATCHER_H_ |
OLD | NEW |