util: Introduce Scheduler::cancelAllEvents to cancel all previously scheduled events

Change-Id: I11e736bec855fe4122915486faec369237cf64a6
Refs: #1757
diff --git a/src/util/scheduler.cpp b/src/util/scheduler.cpp
index d51f83d..998728f 100644
--- a/src/util/scheduler.cpp
+++ b/src/util/scheduler.cpp
@@ -151,6 +151,13 @@
 }
 
 void
+Scheduler::cancelAllEvents()
+{
+  m_events.clear();
+  m_deadlineTimer.cancel();
+}
+
+void
 Scheduler::onEvent(const boost::system::error_code& error)
 {
   if (error) // e.g., cancelled
diff --git a/src/util/scheduler.hpp b/src/util/scheduler.hpp
index bf6ada5..4287556 100644
--- a/src/util/scheduler.hpp
+++ b/src/util/scheduler.hpp
@@ -58,6 +58,12 @@
   void
   cancelEvent(const EventId& eventId);
 
+  /**
+   * \brief Cancel all scheduled events
+   */
+  void
+  cancelAllEvents();
+
 private:
   void
   onEvent(const boost::system::error_code& code);