| Index: net/base/socket_performance_watcher.h
|
| diff --git a/net/base/socket_performance_watcher.h b/net/base/socket_performance_watcher.h
|
| index e0e76327ce63541e8d0dc2ba23215d34f953df41..8d69367f4149dbe3a908ec2f1b529cf17cf326a5 100644
|
| --- a/net/base/socket_performance_watcher.h
|
| +++ b/net/base/socket_performance_watcher.h
|
| @@ -5,9 +5,7 @@
|
| #ifndef NET_BASE_SOCKET_PERFORMANCE_WATCHER_H_
|
| #define NET_BASE_SOCKET_PERFORMANCE_WATCHER_H_
|
|
|
| -#include "base/macros.h"
|
| #include "net/base/net_export.h"
|
| -#include "net/base/socket_performance_watcher_factory.h"
|
|
|
| namespace base {
|
| class TimeDelta;
|
| @@ -16,32 +14,27 @@ class TimeDelta;
|
| namespace net {
|
|
|
| // SocketPerformanceWatcher is the base class for recording and aggregating
|
| -// socket statistics.
|
| +// per-socket statistics.
|
| class NET_EXPORT_PRIVATE SocketPerformanceWatcher {
|
| public:
|
| - // |socket_performance_watcher_factory| is the factory that constructed
|
| - // |this| watcher.
|
| - SocketPerformanceWatcher(
|
| - const SocketPerformanceWatcherFactory::Protocol protocol,
|
| - SocketPerformanceWatcherFactory* socket_performance_watcher_factory);
|
| -
|
| - virtual ~SocketPerformanceWatcher();
|
| -
|
| - // Called when updated transport layer RTT information is available. This
|
| - // must be the transport layer RTT from this device to the remote transport
|
| - // layer endpoint. This method is called immediately after the observation is
|
| - // made, hence no timestamp.
|
| - void OnUpdatedRTTAvailable(const base::TimeDelta& rtt) const;
|
| -
|
| - private:
|
| - // Transport layer protocol used by the socket that |this| is watching.
|
| - const SocketPerformanceWatcherFactory::Protocol protocol_;
|
| -
|
| - // |socket_performance_watcher_factory_| is the factory that created
|
| - // |this| watcher.
|
| - SocketPerformanceWatcherFactory* socket_performance_watcher_factory_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SocketPerformanceWatcher);
|
| + ~SocketPerformanceWatcher() {}
|
| +
|
| + // Notifies |this| SocketPerformanceWatcher of updated transport layer RTT
|
| + // from this device to the remote transport layer endpoint. This method is
|
| + // called immediately after the observation is made, hence no timestamp.
|
| + // There is no guarantee that OnUpdatedRTTAvailable will be called every time
|
| + // an updated RTT is available as the socket may throttle
|
| + // OnUpdatedRTTAvailable call for various reasons (including performance).
|
| + virtual void OnUpdatedRTTAvailable(const base::TimeDelta& rtt) = 0;
|
| +
|
| + // Returns true if |this| SocketPerformanceWatcher is interested in receiving
|
| + // an updated RTT estimate (via OnUpdatedRTTAvailable).
|
| + virtual bool ShouldNotifyUpdatedRTT() const = 0;
|
| +
|
| + // Notifies that |this| watcher will be reused to watch a different socket.
|
| + // Note: The new socket shares the same protocol as the previously watched
|
| + // socket.
|
| + virtual void Reset() = 0;
|
| };
|
|
|
| } // namespace net
|
|
|