[ndnSIM] More intrusive changes removing use of boost::asio::io_service

Use of either removed or replaced with defunct DummyIoService for API
compatibility.

Change-Id: I9f99a944bf5cd082180e3f0ebccf977d5bf73f26
diff --git a/src/face.hpp b/src/face.hpp
index 99f6b5c..1909460 100644
--- a/src/face.hpp
+++ b/src/face.hpp
@@ -122,20 +122,6 @@
 
 public: // constructors
   /**
-   * @brief Create Face using given transport (or default transport if omitted)
-   * @param transport the transport for lower layer communication. If nullptr,
-   *                  a default transport will be used. The default transport is
-   *                  determined from a FaceUri in NDN_CLIENT_TRANSPORT environ,
-   *                  a FaceUri in configuration file 'transport' key, or UnixTransport.
-   *
-   * @throw ConfigFile::Error @p transport is nullptr, and the configuration file cannot be
-   *                          parsed or specifies an unsupported protocol
-   * @note shared_ptr is passed by value because ownership is shared with this class
-   */
-  explicit
-  Face(shared_ptr<Transport> transport = nullptr);
-
-  /**
    * @brief Create Face using default transport and given io_service
    *
    * Usage examples:
@@ -164,7 +150,21 @@
    * @throw ConfigFile::Error the configuration file cannot be parsed or specifies an unsupported protocol
    */
   explicit
-  Face(boost::asio::io_service& ioService);
+  Face(DummyIoService& ioService);
+
+  /**
+   * @brief Create Face using given transport (or default transport if omitted)
+   * @param transport the transport for lower layer communication. If nullptr,
+   *                  a default transport will be used. The default transport is
+   *                  determined from a FaceUri in NDN_CLIENT_TRANSPORT environ,
+   *                  a FaceUri in configuration file 'transport' key, or UnixTransport.
+   *
+   * @throw ConfigFile::Error @p transport is nullptr, and the configuration file cannot be
+   *                          parsed or specifies an unsupported protocol
+   * @note shared_ptr is passed by value because ownership is shared with this class
+   */
+  explicit
+  Face(shared_ptr<Transport> transport = nullptr);
 
   /**
    * @brief Create Face using given transport and KeyChain
@@ -180,37 +180,6 @@
    */
   Face(shared_ptr<Transport> transport, KeyChain& keyChain);
 
-  /**
-   * @brief Create Face using given transport and IO service
-   * @param transport the transport for lower layer communication. If nullptr,
-   *                  a default transport will be used.
-   * @param ioService the io_service that controls all IO operations
-   *
-   * @sa Face(boost::asio::io_service&)
-   * @sa Face(shared_ptr<Transport>)
-   *
-   * @throw ConfigFile::Error @p transport is nullptr, and the configuration file cannot be
-   *                          parsed or specifies an unsupported protocol
-   * @note shared_ptr is passed by value because ownership is shared with this class
-   */
-  Face(shared_ptr<Transport> transport, boost::asio::io_service& ioService);
-
-  /**
-   * @brief Create a new Face using given Transport and IO service
-   * @param transport the transport for lower layer communication. If nullptr,
-   *                  a default transport will be used.
-   * @param ioService the io_service that controls all IO operations
-   * @param keyChain the KeyChain to sign commands
-   *
-   * @sa Face(boost::asio::io_service&)
-   * @sa Face(shared_ptr<Transport>, KeyChain&)
-   *
-   * @throw ConfigFile::Error @p transport is nullptr, and the configuration file cannot be
-   *                          parsed or specifies an unsupported protocol
-   * @note shared_ptr is passed by value because ownership is shared with this class
-   */
-  Face(shared_ptr<Transport> transport, boost::asio::io_service& ioService, KeyChain& keyChain);
-
   virtual
   ~Face();
 
@@ -459,10 +428,11 @@
   /**
    * @brief Return nullptr (cannot use IoService in simulations), preserved for API compatibility
    */
-  boost::asio::io_service&
+  DummyIoService&
   getIoService()
   {
-    return *static_cast<boost::asio::io_service*>(nullptr);
+    static DummyIoService io;
+    return io;
   }
 
 NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED: