diff --git a/.waf-tools/default-compiler-flags.py b/.waf-tools/default-compiler-flags.py index 7746db93..f31b29df 100644 --- a/.waf-tools/default-compiler-flags.py +++ b/.waf-tools/default-compiler-flags.py @@ -128,7 +128,11 @@ class CompilerFlags: 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 c559250f..b5c4cf3d 100644 --- a/README-dev.md +++ b/README-dev.md @@ -59,7 +59,7 @@ The simplest way to run the tests is to launch the compiled binary without any p # 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 @@ or `-p` to show a progress bar: 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 417500e1..ded13e23 100644 --- a/tests/daemon/mgmt/rib-manager.t.cpp +++ b/tests/daemon/mgmt/rib-manager.t.cpp @@ -185,7 +185,7 @@ private: 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 ee99740a..cf81b7bf 100644 --- a/tests/tools/ndn-autoconfig-server/program.t.cpp +++ b/tests/tools/ndn-autoconfig-server/program.t.cpp @@ -88,7 +88,7 @@ BOOST_AUTO_TEST_CASE(RoutablePrefixesDataset) } 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 d6a024da..0f09eea7 100644 --- a/tests/tools/ndn-autoconfig/procedure.t.cpp +++ b/tests/tools/ndn-autoconfig/procedure.t.cpp @@ -108,16 +108,16 @@ private: 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 @@ private: 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 3b300014..9602a920 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 @@ usage(std::ostream& os, 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 @@ runDaemon(Procedure& proc) 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 @@ runDaemon(Procedure& proc) 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 f7295d3b..ebeaae29 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 @@ Procedure::connect(const FaceUri& hubFaceUri) 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 d9513edc..a15b1176 100644 --- a/tools/ndn-autoconfig/procedure.hpp +++ b/tools/ndn-autoconfig/procedure.hpp @@ -52,15 +52,16 @@ public: 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 292ccc8e..58ce2c7c 100644 --- a/tools/nfd-autoreg.cpp +++ b/tools/nfd-autoreg.cpp @@ -173,7 +173,7 @@ public: 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 36982a42..780422f8 100644 --- a/tools/nfdc/face-helpers.cpp +++ b/tools/nfdc/face-helpers.cpp @@ -186,7 +186,7 @@ canonize(ExecuteContext& ctx, const FaceUri& uri) 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};