Roll src/third_party/WebKit 29324ab:10b2b4a (svn 202547:202548)
[chromium-blink-merge.git] / net / base / socket_performance_watcher.h
blob6034e4473a593569390eab4e2a01dac1b7e71600
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef NET_BASE_SOCKET_PERFORMANCE_WATCHER_H_
6 #define NET_BASE_SOCKET_PERFORMANCE_WATCHER_H_
8 #include "base/macros.h"
9 #include "net/base/net_export.h"
11 namespace base {
12 class TimeDelta;
13 } // namespace base
15 namespace net {
17 // SocketPerformanceWatcher is the base class for recording and aggregating
18 // socket statistics.
19 class NET_EXPORT_PRIVATE SocketPerformanceWatcher {
20 public:
21 virtual ~SocketPerformanceWatcher() {}
23 // Called when updated transport layer RTT information is available. This
24 // must be the transport layer RTT from this device to the remote transport
25 // layer endpoint. If the request goes through a HTTP proxy, it should
26 // provide the RTT to the proxy.
27 virtual void OnUpdatedRTTAvailable(const base::TimeDelta& rtt) = 0;
29 protected:
30 SocketPerformanceWatcher() {}
32 private:
33 DISALLOW_COPY_AND_ASSIGN(SocketPerformanceWatcher);
36 } // namespace net
38 #endif // NET_BASE_SOCKET_PERFORMANCE_WATCHER_H_