Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: net/quic/chromium/quic_stream_factory.h

Issue 2894303002: Change HttpStreamFactoryImpl::Job to take a AlternativeServiceInfo
Patch Set: Change QuicStreamFactory::CreateSession() to take a QUIC version. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/http/http_stream_factory_test_util.cc ('k') | net/quic/chromium/quic_stream_factory.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef NET_QUIC_CHROMIUM_QUIC_STREAM_FACTORY_H_ 5 #ifndef NET_QUIC_CHROMIUM_QUIC_STREAM_FACTORY_H_
6 #define NET_QUIC_CHROMIUM_QUIC_STREAM_FACTORY_H_ 6 #define NET_QUIC_CHROMIUM_QUIC_STREAM_FACTORY_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 class NET_EXPORT_PRIVATE QuicStreamRequest { 108 class NET_EXPORT_PRIVATE QuicStreamRequest {
109 public: 109 public:
110 explicit QuicStreamRequest(QuicStreamFactory* factory); 110 explicit QuicStreamRequest(QuicStreamFactory* factory);
111 ~QuicStreamRequest(); 111 ~QuicStreamRequest();
112 112
113 // |cert_verify_flags| is bitwise OR'd of CertVerifier::VerifyFlags and it is 113 // |cert_verify_flags| is bitwise OR'd of CertVerifier::VerifyFlags and it is
114 // passed to CertVerifier::Verify. 114 // passed to CertVerifier::Verify.
115 // |destination| will be resolved and resulting IPEndPoint used to open a 115 // |destination| will be resolved and resulting IPEndPoint used to open a
116 // QuicConnection. This can be different than HostPortPair::FromURL(url). 116 // QuicConnection. This can be different than HostPortPair::FromURL(url).
117 int Request(const HostPortPair& destination, 117 int Request(const HostPortPair& destination,
118 const QuicVersionVector& advertised_versions,
118 PrivacyMode privacy_mode, 119 PrivacyMode privacy_mode,
119 int cert_verify_flags, 120 int cert_verify_flags,
120 const GURL& url, 121 const GURL& url,
121 QuicStringPiece method, 122 QuicStringPiece method,
122 const NetLogWithSource& net_log, 123 const NetLogWithSource& net_log,
123 const CompletionCallback& callback); 124 const CompletionCallback& callback);
124 125
125 void OnRequestComplete(int rv); 126 void OnRequestComplete(int rv);
126 127
127 // Helper method that calls |factory_|'s GetTimeDelayForWaitingJob(). It 128 // Helper method that calls |factory_|'s GetTimeDelayForWaitingJob(). It
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 bool CanUseExistingSession(const QuicServerId& server_id, 227 bool CanUseExistingSession(const QuicServerId& server_id,
227 const HostPortPair& destination); 228 const HostPortPair& destination);
228 229
229 // Creates a new QuicHttpStream to |host_port_pair| which will be 230 // Creates a new QuicHttpStream to |host_port_pair| which will be
230 // owned by |request|. 231 // owned by |request|.
231 // If a matching session already exists, this method will return OK. If no 232 // If a matching session already exists, this method will return OK. If no
232 // matching session exists, this will return ERR_IO_PENDING and will invoke 233 // matching session exists, this will return ERR_IO_PENDING and will invoke
233 // OnRequestComplete asynchronously. 234 // OnRequestComplete asynchronously.
234 int Create(const QuicServerId& server_id, 235 int Create(const QuicServerId& server_id,
235 const HostPortPair& destination, 236 const HostPortPair& destination,
237 const QuicVersionVector& advertised_versions,
236 int cert_verify_flags, 238 int cert_verify_flags,
237 const GURL& url, 239 const GURL& url,
238 QuicStringPiece method, 240 QuicStringPiece method,
239 const NetLogWithSource& net_log, 241 const NetLogWithSource& net_log,
240 QuicStreamRequest* request); 242 QuicStreamRequest* request);
241 243
242 // Called when the handshake for |session| is confirmed. If QUIC is disabled 244 // Called when the handshake for |session| is confirmed. If QUIC is disabled
243 // currently disabled, then it closes the connection and returns true. 245 // currently disabled, then it closes the connection and returns true.
244 bool OnHandshakeConfirmed(QuicChromiumClientSession* session); 246 bool OnHandshakeConfirmed(QuicChromiumClientSession* session);
245 247
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 typedef std::map<QuicServerId, std::unique_ptr<CertVerifierJob>> 396 typedef std::map<QuicServerId, std::unique_ptr<CertVerifierJob>>
395 CertVerifierJobMap; 397 CertVerifierJobMap;
396 398
397 bool OnResolution(const QuicSessionKey& key, const AddressList& address_list); 399 bool OnResolution(const QuicSessionKey& key, const AddressList& address_list);
398 void OnJobComplete(Job* job, int rv); 400 void OnJobComplete(Job* job, int rv);
399 void OnCertVerifyJobComplete(CertVerifierJob* job, int rv); 401 void OnCertVerifyJobComplete(CertVerifierJob* job, int rv);
400 bool HasActiveSession(const QuicServerId& server_id) const; 402 bool HasActiveSession(const QuicServerId& server_id) const;
401 bool HasActiveJob(const QuicServerId& server_id) const; 403 bool HasActiveJob(const QuicServerId& server_id) const;
402 bool HasActiveCertVerifierJob(const QuicServerId& server_id) const; 404 bool HasActiveCertVerifierJob(const QuicServerId& server_id) const;
403 int CreateSession(const QuicSessionKey& key, 405 int CreateSession(const QuicSessionKey& key,
406 const QuicVersion& quic_version,
404 int cert_verify_flags, 407 int cert_verify_flags,
405 bool require_confirmation, 408 bool require_confirmation,
406 const AddressList& address_list, 409 const AddressList& address_list,
407 base::TimeTicks dns_resolution_start_time, 410 base::TimeTicks dns_resolution_start_time,
408 base::TimeTicks dns_resolution_end_time, 411 base::TimeTicks dns_resolution_end_time,
409 const NetLogWithSource& net_log, 412 const NetLogWithSource& net_log,
410 QuicChromiumClientSession** session); 413 QuicChromiumClientSession** session);
411 void ActivateSession(const QuicSessionKey& key, 414 void ActivateSession(const QuicSessionKey& key,
412 QuicChromiumClientSession* session); 415 QuicChromiumClientSession* session);
413 416
414 void ConfigureInitialRttEstimate(const QuicServerId& server_id, 417 void ConfigureInitialRttEstimate(const QuicServerId& server_id,
415 QuicConfig* config); 418 QuicConfig* config);
416 419
420 // Returns the first mutually supported QUIC version in |supported_versions_|.
421 // If there is no mutually supported QUIC version, return the first entry in
422 // |supported_versions_|.
423 // |supproted_versions_| should be listed in the order of most preferred QUIC
424 // versions.
425 QuicVersion SelectQuicVersion(
426 const QuicVersionVector& advertised_versions) const;
427
417 // Returns |srtt| in micro seconds from ServerNetworkStats. Returns 0 if there 428 // Returns |srtt| in micro seconds from ServerNetworkStats. Returns 0 if there
418 // is no |http_server_properties_| or if |http_server_properties_| doesn't 429 // is no |http_server_properties_| or if |http_server_properties_| doesn't
419 // have ServerNetworkStats for the given |server_id|. 430 // have ServerNetworkStats for the given |server_id|.
420 int64_t GetServerNetworkStatsSmoothedRttInMicroseconds( 431 int64_t GetServerNetworkStatsSmoothedRttInMicroseconds(
421 const QuicServerId& server_id) const; 432 const QuicServerId& server_id) const;
422 433
423 // Returns |srtt| from ServerNetworkStats. Returns null if there 434 // Returns |srtt| from ServerNetworkStats. Returns null if there
424 // is no |http_server_properties_| or if |http_server_properties_| doesn't 435 // is no |http_server_properties_| or if |http_server_properties_| doesn't
425 // have ServerNetworkStats for the given |server_id|. 436 // have ServerNetworkStats for the given |server_id|.
426 const base::TimeDelta* GetServerNetworkStatsSmoothedRtt( 437 const base::TimeDelta* GetServerNetworkStatsSmoothedRtt(
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 const scoped_refptr<SSLConfigService> ssl_config_service_; 584 const scoped_refptr<SSLConfigService> ssl_config_service_;
574 585
575 base::WeakPtrFactory<QuicStreamFactory> weak_factory_; 586 base::WeakPtrFactory<QuicStreamFactory> weak_factory_;
576 587
577 DISALLOW_COPY_AND_ASSIGN(QuicStreamFactory); 588 DISALLOW_COPY_AND_ASSIGN(QuicStreamFactory);
578 }; 589 };
579 590
580 } // namespace net 591 } // namespace net
581 592
582 #endif // NET_QUIC_CHROMIUM_QUIC_STREAM_FACTORY_H_ 593 #endif // NET_QUIC_CHROMIUM_QUIC_STREAM_FACTORY_H_
OLDNEW
« no previous file with comments | « net/http/http_stream_factory_test_util.cc ('k') | net/quic/chromium/quic_stream_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698