| // 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.h" |
| |
| #include "base/bind.h" |
| #include "base/location.h" |
| #include "base/single_thread_task_runner.h" |
| #include "base/time/time.h" |
| |
| namespace net { |
| |
| namespace nqe { |
| |
| namespace internal { |
| |
| SocketWatcher::SocketWatcher( |
| SocketPerformanceWatcherFactory::Protocol protocol, |
| scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
| OnUpdatedRTTAvailableCallback updated_rtt_observation_callback) |
| : protocol_(protocol), |
| task_runner_(std::move(task_runner)), |
| updated_rtt_observation_callback_(updated_rtt_observation_callback) {} |
| |
| SocketWatcher::~SocketWatcher() {} |
| |
| bool SocketWatcher::ShouldNotifyUpdatedRTT() const { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| |
| return true; |
| } |
| |
| void SocketWatcher::OnUpdatedRTTAvailable(const base::TimeDelta& rtt) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| |
| task_runner_->PostTask( |
| FROM_HERE, base::Bind(updated_rtt_observation_callback_, protocol_, rtt)); |
| } |
| |
| void SocketWatcher::OnConnectionChanged() { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| } |
| |
| } // namespace internal |
| |
| } // namespace nqe |
| |
| } // namespace net |