| OLD | NEW |
| (Empty) |
| 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. | |
| 4 | |
| 5 #ifndef NET_BASE_SOCKET_PERFORMANCE_WATCHER_H_ | |
| 6 #define NET_BASE_SOCKET_PERFORMANCE_WATCHER_H_ | |
| 7 | |
| 8 #include "net/base/net_export.h" | |
| 9 | |
| 10 namespace base { | |
| 11 class TimeDelta; | |
| 12 } // namespace base | |
| 13 | |
| 14 namespace net { | |
| 15 | |
| 16 // SocketPerformanceWatcher is the base class for recording and aggregating | |
| 17 // per-socket statistics. SocketPerformanceWatcher must be used on a single | |
| 18 // thread. | |
| 19 class NET_EXPORT_PRIVATE SocketPerformanceWatcher { | |
| 20 public: | |
| 21 virtual ~SocketPerformanceWatcher() {} | |
| 22 | |
| 23 // Returns true if |this| SocketPerformanceWatcher is interested in receiving | |
| 24 // an updated RTT estimate (via OnUpdatedRTTAvailable). | |
| 25 virtual bool ShouldNotifyUpdatedRTT() const = 0; | |
| 26 | |
| 27 // Notifies |this| SocketPerformanceWatcher of updated transport layer RTT | |
| 28 // from this device to the remote transport layer endpoint. This method is | |
| 29 // called immediately after the observation is made, hence no timestamp. | |
| 30 // There is no guarantee that OnUpdatedRTTAvailable will be called every time | |
| 31 // an updated RTT is available as the socket may throttle the | |
| 32 // OnUpdatedRTTAvailable call for various reasons, including performance. | |
| 33 virtual void OnUpdatedRTTAvailable(const base::TimeDelta& rtt) = 0; | |
| 34 | |
| 35 // Notifies that |this| watcher will be reused to watch a socket that belongs | |
| 36 // to a different transport layer connection. Note: The new connection shares | |
| 37 // the same protocol as the previously watched socket. | |
| 38 virtual void OnConnectionChanged() = 0; | |
| 39 }; | |
| 40 | |
| 41 } // namespace net | |
| 42 | |
| 43 #endif // NET_BASE_SOCKET_PERFORMANCE_WATCHER_H_ | |
| OLD | NEW |