mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 06:16:30 +03:00
54 lines
1.6 KiB
C++
54 lines
1.6 KiB
C++
// 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<base::SingleThreadTaskRunner> 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<SocketPerformanceWatcher>
|
|
SocketWatcherFactory::CreateSocketPerformanceWatcher(
|
|
const Protocol protocol,
|
|
const AddressList& address_list) {
|
|
return std::make_unique<SocketWatcher>(
|
|
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
|