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 // A client specific QuicSession subclass. This class owns the underlying | 5 // A client specific QuicSession subclass. This class owns the underlying |
6 // QuicConnection and QuicConnectionHelper objects. The connection stores | 6 // QuicConnection and QuicConnectionHelper objects. The connection stores |
7 // a non-owning pointer to the helper so this session needs to ensure that | 7 // a non-owning pointer to the helper so this session needs to ensure that |
8 // the helper outlives the connection. | 8 // the helper outlives the connection. |
9 | 9 |
10 #ifndef NET_QUIC_QUIC_CHROMIUM_CLIENT_SESSION_H_ | 10 #ifndef NET_QUIC_QUIC_CHROMIUM_CLIENT_SESSION_H_ |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
129 const QuicConfig& config, | 129 const QuicConfig& config, |
130 QuicCryptoClientConfig* crypto_config, | 130 QuicCryptoClientConfig* crypto_config, |
131 const char* const connection_description, | 131 const char* const connection_description, |
132 base::TimeTicks dns_resolution_end_time, | 132 base::TimeTicks dns_resolution_end_time, |
133 QuicClientPushPromiseIndex* push_promise_index, | 133 QuicClientPushPromiseIndex* push_promise_index, |
134 base::TaskRunner* task_runner, | 134 base::TaskRunner* task_runner, |
135 std::unique_ptr<SocketPerformanceWatcher> socket_performance_watcher, | 135 std::unique_ptr<SocketPerformanceWatcher> socket_performance_watcher, |
136 NetLog* net_log); | 136 NetLog* net_log); |
137 ~QuicChromiumClientSession() override; | 137 ~QuicChromiumClientSession() override; |
138 | 138 |
139 void Initialize() override; | |
140 | |
139 void AddObserver(Observer* observer); | 141 void AddObserver(Observer* observer); |
140 void RemoveObserver(Observer* observer); | 142 void RemoveObserver(Observer* observer); |
141 | 143 |
142 // Attempts to create a new stream. If the stream can be | 144 // Attempts to create a new stream. If the stream can be |
143 // created immediately, returns OK. If the open stream limit | 145 // created immediately, returns OK. If the open stream limit |
144 // has been reached, returns ERR_IO_PENDING, and |request| | 146 // has been reached, returns ERR_IO_PENDING, and |request| |
145 // will be added to the stream requets queue and will | 147 // will be added to the stream requets queue and will |
146 // be completed asynchronously. | 148 // be completed asynchronously. |
147 // TODO(rch): remove |stream| from this and use setter on |request| | 149 // TODO(rch): remove |stream| from this and use setter on |request| |
148 // and fix in spdy too. | 150 // and fix in spdy too. |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
270 | 272 |
271 protected: | 273 protected: |
272 // QuicSession methods: | 274 // QuicSession methods: |
273 bool ShouldCreateIncomingDynamicStream(QuicStreamId id) override; | 275 bool ShouldCreateIncomingDynamicStream(QuicStreamId id) override; |
274 bool ShouldCreateOutgoingDynamicStream() override; | 276 bool ShouldCreateOutgoingDynamicStream() override; |
275 | 277 |
276 QuicChromiumClientStream* CreateIncomingDynamicStream( | 278 QuicChromiumClientStream* CreateIncomingDynamicStream( |
277 QuicStreamId id) override; | 279 QuicStreamId id) override; |
278 | 280 |
279 private: | 281 private: |
282 class HpackEncoderDebugVisitor : public QuicHeadersStream::HpackDebugVisitor { | |
283 void OnUseEntry(const QuicTime::Delta elapsed) override; | |
284 }; | |
285 | |
286 class HpackDecoderDebugVisitor : public QuicHeadersStream::HpackDebugVisitor { | |
287 void OnUseEntry(const QuicTime::Delta elapsed) override; | |
288 }; | |
Ryan Hamilton
2016/05/20 21:27:18
Looks like these can be moved to the .cc file.
Buck
2016/05/20 21:41:31
Done.
| |
289 | |
280 friend class test::QuicChromiumClientSessionPeer; | 290 friend class test::QuicChromiumClientSessionPeer; |
281 | 291 |
282 typedef std::set<Observer*> ObserverSet; | 292 typedef std::set<Observer*> ObserverSet; |
283 typedef std::list<StreamRequest*> StreamRequestQueue; | 293 typedef std::list<StreamRequest*> StreamRequestQueue; |
284 | 294 |
285 QuicChromiumClientStream* CreateOutgoingReliableStreamImpl(); | 295 QuicChromiumClientStream* CreateOutgoingReliableStreamImpl(); |
286 QuicChromiumClientStream* CreateIncomingReliableStreamImpl(QuicStreamId id); | 296 QuicChromiumClientStream* CreateIncomingReliableStreamImpl(QuicStreamId id); |
287 // A completion callback invoked when a read completes. | 297 // A completion callback invoked when a read completes. |
288 void OnReadComplete(int result); | 298 void OnReadComplete(int result); |
289 | 299 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
349 int streams_pushed_count_; | 359 int streams_pushed_count_; |
350 int streams_pushed_and_claimed_count_; | 360 int streams_pushed_and_claimed_count_; |
351 base::WeakPtrFactory<QuicChromiumClientSession> weak_factory_; | 361 base::WeakPtrFactory<QuicChromiumClientSession> weak_factory_; |
352 | 362 |
353 DISALLOW_COPY_AND_ASSIGN(QuicChromiumClientSession); | 363 DISALLOW_COPY_AND_ASSIGN(QuicChromiumClientSession); |
354 }; | 364 }; |
355 | 365 |
356 } // namespace net | 366 } // namespace net |
357 | 367 |
358 #endif // NET_QUIC_QUIC_CHROMIUM_CLIENT_SESSION_H_ | 368 #endif // NET_QUIC_QUIC_CHROMIUM_CLIENT_SESSION_H_ |
OLD | NEW |