util: DummyClientFace can override processEvents

refs #3769

Change-Id: Idf8b674ed238f296c7c4293b19a6f769cbd7e332
diff --git a/src/face.hpp b/src/face.hpp
index 27af415..6c6c957 100644
--- a/src/face.hpp
+++ b/src/face.hpp
@@ -676,7 +676,10 @@
    */
   void
   processEvents(const time::milliseconds& timeout = time::milliseconds::zero(),
-                bool keepThread = false);
+                bool keepThread = false)
+  {
+    this->doProcessEvents(timeout, keepThread);
+  }
 
   /**
    * @brief Shutdown face operations
@@ -705,6 +708,10 @@
   shared_ptr<Transport>
   getTransport();
 
+protected:
+  virtual void
+  doProcessEvents(const time::milliseconds& timeout, bool keepThread);
+
 private:
   /**
    * @throw ConfigFile::Error on parse error and unsupported protocols