#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/prefs/pref_member.h"
+#include "base/time/time.h"
#include "chrome/browser/net/ssl_config_service_manager.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/browser_thread_delegate.h"
Optional<bool> enable_quic;
Optional<bool> enable_quic_https;
Optional<bool> enable_quic_pacing;
+ Optional<bool> enable_quic_time_based_loss_detection;
Optional<bool> enable_quic_persist_server_info;
Optional<bool> enable_quic_port_selection;
Optional<size_t> quic_max_packet_length;
void InitializeNetworkSessionParams(net::HttpNetworkSession::Params* params);
+ base::TimeTicks creation_time() const;
+
private:
// Provide SystemURLRequestContextGetter with access to
// InitSystemRequestContext().
bool ShouldEnableQuicPacing(const base::CommandLine& command_line,
base::StringPiece quic_trial_group);
+ // Returns true if QUIC time-base loss detection should be negotiated during
+ // the QUIC handshake.
+ bool ShouldEnableQuicTimeBasedLossDetection(
+ const base::CommandLine& command_line,
+ base::StringPiece quic_trial_group);
+
// Returns true if Chromium should persist QUIC server config information to
// disk cache.
bool ShouldEnableQuicPersistServerInfo(const base::CommandLine& command_line);
base::WeakPtrFactory<IOThread> weak_factory_;
+ const base::TimeTicks creation_time_;
+
DISALLOW_COPY_AND_ASSIGN(IOThread);
};