shill: LinkMonitor: Add Metrics
BUG=chromium-os:32600
TEST=Unit tests
Change-Id: I4a7625fb006e939a5ea63efeede8ca9982115332
Reviewed-on: https://gerrit.chromium.org/gerrit/29421
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
diff --git a/link_monitor.h b/link_monitor.h
index 9a3276b..a3e0a79 100644
--- a/link_monitor.h
+++ b/link_monitor.h
@@ -20,6 +20,7 @@
class DeviceInfo;
class EventDispatcher;
class IOHandler;
+class Metrics;
class Time;
// LinkMonitor tracks the status of a connection by sending ARP
@@ -31,8 +32,12 @@
public:
typedef base::Closure FailureCallback;
+ // The number of milliseconds between ARP requests. Needed by Metrics.
+ static const unsigned int kTestPeriodMilliseconds;
+
LinkMonitor(const ConnectionRefPtr &connection,
EventDispatcher *dispatcher,
+ Metrics *metrics,
DeviceInfo *device_info,
const FailureCallback &failure_callback);
virtual ~LinkMonitor();
@@ -52,9 +57,6 @@
friend class LinkMonitorForTest;
friend class LinkMonitorTest;
- // The number of milliseconds between ARP requests.
- static const unsigned int kTestPeriodMilliseconds;
-
// When the sum of consecutive unicast and broadcast failures
// equals this value, the failure callback is called, the counters
// are reset, and the link monitoring quiesces.
@@ -87,6 +89,7 @@
ConnectionRefPtr connection_;
EventDispatcher *dispatcher_;
+ Metrics *metrics_;
DeviceInfo *device_info_;
FailureCallback failure_callback_;
ByteString local_mac_address_;