| Index: net/tools/quic/quic_dispatcher.cc
 | 
| diff --git a/net/tools/quic/quic_dispatcher.cc b/net/tools/quic/quic_dispatcher.cc
 | 
| index 6d08fbe2dd8e9d22fe10df7d02c0729e4a372090..bda974192a84500ce63813e1d4a4ccb191c5a0ed 100644
 | 
| --- a/net/tools/quic/quic_dispatcher.cc
 | 
| +++ b/net/tools/quic/quic_dispatcher.cc
 | 
| @@ -41,17 +41,20 @@ class DeleteSessionsAlarm : public QuicAlarm::Delegate {
 | 
|  
 | 
|  }  // namespace
 | 
|  
 | 
| -QuicDispatcher::QuicDispatcher(const QuicConfig& config,
 | 
| -                               const QuicCryptoServerConfig* crypto_config,
 | 
| -                               const QuicVersionVector& supported_versions,
 | 
| -                               QuicConnectionHelperInterface* helper)
 | 
| +QuicDispatcher::QuicDispatcher(
 | 
| +    const QuicConfig& config,
 | 
| +    const QuicCryptoServerConfig* crypto_config,
 | 
| +    const QuicVersionVector& supported_versions,
 | 
| +    std::unique_ptr<QuicConnectionHelperInterface> helper,
 | 
| +    std::unique_ptr<QuicAlarmFactory> alarm_factory)
 | 
|      : config_(config),
 | 
|        crypto_config_(crypto_config),
 | 
|        compressed_certs_cache_(
 | 
|            QuicCompressedCertsCache::kQuicCompressedCertsCacheSize),
 | 
| -      helper_(helper),
 | 
| +      helper_(std::move(helper)),
 | 
| +      alarm_factory_(std::move(alarm_factory)),
 | 
|        delete_sessions_alarm_(
 | 
| -          helper_->CreateAlarm(new DeleteSessionsAlarm(this))),
 | 
| +          alarm_factory_->CreateAlarm(new DeleteSessionsAlarm(this))),
 | 
|        supported_versions_(supported_versions),
 | 
|        current_packet_(nullptr),
 | 
|        framer_(supported_versions,
 | 
| @@ -449,7 +452,8 @@ QuicServerSessionBase* QuicDispatcher::CreateQuicSession(
 | 
|      const IPEndPoint& client_address) {
 | 
|    // The QuicServerSessionBase takes ownership of |connection| below.
 | 
|    QuicConnection* connection = new QuicConnection(
 | 
| -      connection_id, client_address, helper_.get(), CreatePerConnectionWriter(),
 | 
| +      connection_id, client_address, helper_.get(), alarm_factory_.get(),
 | 
| +      CreatePerConnectionWriter(),
 | 
|        /* owns_writer= */ true, Perspective::IS_SERVER, supported_versions_);
 | 
|  
 | 
|    QuicServerSessionBase* session = new QuicSimpleServerSession(
 | 
| @@ -459,7 +463,8 @@ QuicServerSessionBase* QuicDispatcher::CreateQuicSession(
 | 
|  }
 | 
|  
 | 
|  QuicTimeWaitListManager* QuicDispatcher::CreateQuicTimeWaitListManager() {
 | 
| -  return new QuicTimeWaitListManager(writer_.get(), this, helper_.get());
 | 
| +  return new QuicTimeWaitListManager(writer_.get(), this, helper_.get(),
 | 
| +                                     alarm_factory_.get());
 | 
|  }
 | 
|  
 | 
|  bool QuicDispatcher::HandlePacketForTimeWait(
 | 
| 
 |