// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "net/nqe/socket_watcher_factory.h" #include "base/time/time.h" #include "net/nqe/socket_watcher.h" namespace net { namespace nqe { namespace internal { SocketWatcherFactory::SocketWatcherFactory( scoped_refptr task_runner, base::TimeDelta min_notification_interval, OnUpdatedRTTAvailableCallback updated_rtt_observation_callback, ShouldNotifyRTTCallback should_notify_rtt_callback, const base::TickClock* tick_clock) : task_runner_(std::move(task_runner)), min_notification_interval_(min_notification_interval), allow_rtt_private_address_(false), updated_rtt_observation_callback_(updated_rtt_observation_callback), should_notify_rtt_callback_(should_notify_rtt_callback), tick_clock_(tick_clock) { DCHECK(tick_clock_); } SocketWatcherFactory::~SocketWatcherFactory() = default; std::unique_ptr SocketWatcherFactory::CreateSocketPerformanceWatcher( const Protocol protocol, const AddressList& address_list) { return std::make_unique( protocol, address_list, min_notification_interval_, allow_rtt_private_address_, task_runner_, updated_rtt_observation_callback_, should_notify_rtt_callback_, tick_clock_); } void SocketWatcherFactory::SetTickClockForTesting( const base::TickClock* tick_clock) { tick_clock_ = tick_clock; } } // namespace internal } // namespace nqe } // namespace net