tools: switch to Face::getIoContext()

Change-Id: I6be4c682d62e1061af45052d2141b9e5b9e897c5
diff --git a/.waf-tools/default-compiler-flags.py b/.waf-tools/default-compiler-flags.py
index 7746db9..f31b29d 100644
--- a/.waf-tools/default-compiler-flags.py
+++ b/.waf-tools/default-compiler-flags.py
@@ -128,7 +128,11 @@
 
     def getGeneralFlags(self, conf):
         """Get dict of CXXFLAGS, LINKFLAGS, and DEFINES that are always needed"""
-        return {'CXXFLAGS': [], 'LINKFLAGS': [], 'DEFINES': []}
+        return {
+            'CXXFLAGS': [],
+            'LINKFLAGS': [],
+            'DEFINES': ['BOOST_FILESYSTEM_NO_DEPRECATED'],
+        }
 
     def getDebugFlags(self, conf):
         """Get dict of CXXFLAGS, LINKFLAGS, and DEFINES that are needed only in debug mode"""
diff --git a/README-dev.md b/README-dev.md
index c559250..b5c4cf3 100644
--- a/README-dev.md
+++ b/README-dev.md
@@ -59,7 +59,7 @@
     # Run NFD RIB management tests
     ./build/unit-tests-rib
 
-The [Boost.Test framework](https://www.boost.org/doc/libs/1_65_1/libs/test/doc/html/index.html)
+The [Boost.Test framework](https://www.boost.org/doc/libs/1_71_0/libs/test/doc/html/index.html)
 is very flexible and allows a number of run-time customization of what tests should be run.
 For example, it is possible to choose to run only a specific test suite, only a specific
 test case within a suite, or specific test cases within specific test suites:
@@ -92,4 +92,4 @@
 
 There are many more command line options available, information about which can be obtained
 either from the command line using the `--help` switch, or online on the
-[Boost.Test website](https://www.boost.org/doc/libs/1_65_1/libs/test/doc/html/index.html).
+[Boost.Test website](https://www.boost.org/doc/libs/1_71_0/libs/test/doc/html/boost_test/runtime_config.html).
diff --git a/tests/daemon/mgmt/rib-manager.t.cpp b/tests/daemon/mgmt/rib-manager.t.cpp
index 417500e..ded13e2 100644
--- a/tests/daemon/mgmt/rib-manager.t.cpp
+++ b/tests/daemon/mgmt/rib-manager.t.cpp
@@ -185,7 +185,7 @@
       data->setContent(resp.wireEncode());
       m_keyChain.sign(*data, ndn::security::SigningInfo(ndn::security::SigningInfo::SIGNER_TYPE_SHA256));
 
-      boost::asio::post(m_face.getIoService(), [this, data] { m_face.receive(*data); });
+      boost::asio::post(m_face.getIoContext(), [this, data] { m_face.receive(*data); });
     };
 
     const Name commandPrefix("/localhost/nfd/fib/add-nexthop");
diff --git a/tests/tools/ndn-autoconfig-server/program.t.cpp b/tests/tools/ndn-autoconfig-server/program.t.cpp
index ee99740..cf81b7b 100644
--- a/tests/tools/ndn-autoconfig-server/program.t.cpp
+++ b/tests/tools/ndn-autoconfig-server/program.t.cpp
@@ -88,7 +88,7 @@
   }
   this->initialize(options);
 
-  DummyClientFace clientFace(face.getIoService());
+  DummyClientFace clientFace(face.getIoContext());
   clientFace.linkTo(face);
 
   Name baseName("/localhop/nfd/rib/routable-prefixes");
diff --git a/tests/tools/ndn-autoconfig/procedure.t.cpp b/tests/tools/ndn-autoconfig/procedure.t.cpp
index d6a024d..0f09eea 100644
--- a/tests/tools/ndn-autoconfig/procedure.t.cpp
+++ b/tests/tools/ndn-autoconfig/procedure.t.cpp
@@ -108,16 +108,16 @@
   boost::asio::io_context& m_io;
 };
 
-/** \brief Two-stage Procedure where the first stage succeeds and the second stage fails.
- *
- *  But the second stage shouldn't be invoked after the first stage succeeds.
+/**
+ * Two-stage Procedure where the first stage succeeds and the second stage fails,
+ * but the second stage shouldn't be invoked after the first stage succeeds.
  */
 class ProcedureSuccessFailure : public Procedure
 {
 public:
   ProcedureSuccessFailure(Face& face, KeyChain& keyChain)
     : Procedure(face, keyChain)
-    , m_io(face.getIoService())
+    , m_io(face.getIoContext())
   {
   }
 
@@ -137,14 +137,15 @@
   boost::asio::io_context& m_io;
 };
 
-/** \brief Two-stage Procedure where the first stage fails and the second stage succeeds.
+/**
+ * Two-stage Procedure where the first stage fails and the second stage succeeds.
  */
 class ProcedureFailureSuccess : public Procedure
 {
 public:
   ProcedureFailureSuccess(Face& face, KeyChain& keyChain)
     : Procedure(face, keyChain)
-    , m_io(face.getIoService())
+    , m_io(face.getIoContext())
   {
   }
 
diff --git a/tools/ndn-autoconfig/main.cpp b/tools/ndn-autoconfig/main.cpp
index 3b30001..9602a92 100644
--- a/tools/ndn-autoconfig/main.cpp
+++ b/tools/ndn-autoconfig/main.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2023,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -60,10 +60,10 @@
 static void
 runDaemon(Procedure& proc)
 {
-  boost::asio::signal_set terminateSignals(proc.getIoService());
+  boost::asio::signal_set terminateSignals(proc.getIoContext());
   terminateSignals.add(SIGINT);
   terminateSignals.add(SIGTERM);
-  terminateSignals.async_wait([&] (const boost::system::error_code& error, int signalNo) {
+  terminateSignals.async_wait([&] (const auto& error, int signalNo) {
     if (error) {
       return;
     }
@@ -76,10 +76,10 @@
       std::cerr << signalName;
     }
     std::cerr << std::endl;
-    proc.getIoService().stop();
+    proc.getIoContext().stop();
   });
 
-  Scheduler sched(proc.getIoService());
+  Scheduler sched(proc.getIoContext());
   scheduler::ScopedEventId runEvt;
   auto scheduleRerun = [&] (time::nanoseconds delay) {
     runEvt = sched.schedule(delay, [&] { proc.runOnce(); });
@@ -89,11 +89,11 @@
     scheduleRerun(DAEMON_UNCONDITIONAL_INTERVAL);
   });
 
-  net::NetworkMonitor netmon(proc.getIoService());
+  net::NetworkMonitor netmon(proc.getIoContext());
   netmon.onNetworkStateChanged.connect([&] { scheduleRerun(NETMON_DAMPEN_PERIOD); });
 
   scheduleRerun(DAEMON_INITIAL_DELAY);
-  proc.getIoService().run();
+  proc.getIoContext().run();
 }
 
 static int
diff --git a/tools/ndn-autoconfig/procedure.cpp b/tools/ndn-autoconfig/procedure.cpp
index f7295d3..ebeaae2 100644
--- a/tools/ndn-autoconfig/procedure.cpp
+++ b/tools/ndn-autoconfig/procedure.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2023,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -108,7 +108,7 @@
       std::cerr << "Failed to canonize HUB FaceUri: " << reason << std::endl;
       this->onComplete(false);
     },
-    m_face.getIoService(), FACEURI_CANONIZE_TIMEOUT);
+    m_face.getIoContext(), FACEURI_CANONIZE_TIMEOUT);
 }
 
 void
diff --git a/tools/ndn-autoconfig/procedure.hpp b/tools/ndn-autoconfig/procedure.hpp
index d9513ed..a15b117 100644
--- a/tools/ndn-autoconfig/procedure.hpp
+++ b/tools/ndn-autoconfig/procedure.hpp
@@ -52,15 +52,16 @@
   void
   initialize(const Options& options);
 
-  /** \brief Run HUB discovery procedure once.
+  /**
+   * \brief Run the HUB discovery procedure once.
    */
   void
   runOnce();
 
   boost::asio::io_context&
-  getIoService()
+  getIoContext() const noexcept
   {
-    return m_face.getIoService();
+    return m_face.getIoContext();
   }
 
 private:
diff --git a/tools/nfd-autoreg.cpp b/tools/nfd-autoreg.cpp
index 292ccc8..58ce2c7 100644
--- a/tools/nfd-autoreg.cpp
+++ b/tools/nfd-autoreg.cpp
@@ -173,7 +173,7 @@
     m_faceMonitor.onNotification.connect([this] (const auto& notif) { onNotification(notif); });
     m_faceMonitor.start();
 
-    boost::asio::signal_set signalSet(m_face.getIoService(), SIGINT, SIGTERM);
+    boost::asio::signal_set signalSet(m_face.getIoContext(), SIGINT, SIGTERM);
     signalSet.async_wait([this] (auto&&...) { m_face.shutdown(); });
 
     m_face.processEvents();
diff --git a/tools/nfdc/face-helpers.cpp b/tools/nfdc/face-helpers.cpp
index 36982a4..780422f 100644
--- a/tools/nfdc/face-helpers.cpp
+++ b/tools/nfdc/face-helpers.cpp
@@ -186,7 +186,7 @@
   uri.canonize(
     [&result] (const auto& canonicalUri) { result = canonicalUri; },
     [&error] (const auto& errorReason) { error = errorReason; },
-    ctx.face.getIoService(), ctx.getTimeout());
+    ctx.face.getIoContext(), ctx.getTimeout());
   ctx.face.processEvents();
 
   return {result, error};