Switch to Face::getIoContext() and simplify some code

Change-Id: Iba49171f6e59ead02283e8f975219ab97fcbeb00
diff --git a/src/adjacency-list.cpp b/src/adjacency-list.cpp
index 302d9b9..cb192eb 100644
--- a/src/adjacency-list.cpp
+++ b/src/adjacency-list.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2021,  The University of Memphis,
+ * Copyright (c) 2014-2023,  The University of Memphis,
  *                           Regents of the University of California,
  *                           Arizona Board of Regents.
  *
@@ -43,9 +43,9 @@
 AdjacencyList::getAdjacent(const ndn::Name& adjName)
 {
   Adjacent adj(adjName);
-  std::list<Adjacent>::iterator it = find(adjName);
+  auto it = find(adjName);
   if (it != m_adjList.end()) {
-    return (*it);
+    return *it;
   }
   return adj;
 }
@@ -60,56 +60,47 @@
 
   std::set<Adjacent> ourSet(m_adjList.cbegin(), m_adjList.cend());
   std::set<Adjacent> theirSet(theirList.cbegin(), theirList.cend());
-
   return ourSet == theirSet;
 }
 
 bool
 AdjacencyList::isNeighbor(const ndn::Name& adjName) const
 {
-  std::list<Adjacent>::const_iterator it = find(adjName);
-  if (it == m_adjList.end())
-  {
-    return false;
-  }
-  return true;
+  return find(adjName) != m_adjList.end();
 }
 
 void
 AdjacencyList::incrementTimedOutInterestCount(const ndn::Name& neighbor)
 {
-  std::list<Adjacent>::iterator it = find(neighbor);
-  if (it == m_adjList.end()) {
-    return ;
+  auto it = find(neighbor);
+  if (it != m_adjList.end()) {
+    it->setInterestTimedOutNo(it->getInterestTimedOutNo() + 1);
   }
-  (*it).setInterestTimedOutNo((*it).getInterestTimedOutNo() + 1);
 }
 
 void
-AdjacencyList::setTimedOutInterestCount(const ndn::Name& neighbor,
-                                        uint32_t count)
+AdjacencyList::setTimedOutInterestCount(const ndn::Name& neighbor, uint32_t count)
 {
-  std::list<Adjacent>::iterator it = find(neighbor);
+  auto it = find(neighbor);
   if (it != m_adjList.end()) {
-    (*it).setInterestTimedOutNo(count);
+    it->setInterestTimedOutNo(count);
   }
 }
 
 int32_t
 AdjacencyList::getTimedOutInterestCount(const ndn::Name& neighbor) const
 {
-  std::list<Adjacent>::const_iterator it = find(neighbor);
+  auto it = find(neighbor);
   if (it == m_adjList.end()) {
     return -1;
   }
-  return (*it).getInterestTimedOutNo();
+  return it->getInterestTimedOutNo();
 }
 
 Adjacent::Status
 AdjacencyList::getStatusOfNeighbor(const ndn::Name& neighbor) const
 {
-  std::list<Adjacent>::const_iterator it = find(neighbor);
-
+  auto it = find(neighbor);
   if (it == m_adjList.end()) {
     return Adjacent::STATUS_UNKNOWN;
   }
@@ -121,7 +112,7 @@
 void
 AdjacencyList::setStatusOfNeighbor(const ndn::Name& neighbor, Adjacent::Status status)
 {
-  std::list<Adjacent>::iterator it = find(neighbor);
+  auto it = find(neighbor);
   if (it != m_adjList.end()) {
     it->setStatus(status);
   }
@@ -144,8 +135,7 @@
 {
   uint32_t nTimedOutNeighbors = 0;
 
-  for (const Adjacent& adjacency : m_adjList) {
-
+  for (const auto& adjacency : m_adjList) {
     if (adjacency.getStatus() == Adjacent::STATUS_ACTIVE) {
       return true;
     }
@@ -154,12 +144,7 @@
     }
   }
 
-  if (nTimedOutNeighbors == m_adjList.size()) {
-    return true;
-  }
-  else {
-    return false;
-  }
+  return nTimedOutNeighbors == m_adjList.size();
 }
 
 int32_t
@@ -177,54 +162,43 @@
 std::list<Adjacent>::iterator
 AdjacencyList::find(const ndn::Name& adjName)
 {
-  return std::find_if(m_adjList.begin(),
-                      m_adjList.end(),
+  return std::find_if(m_adjList.begin(), m_adjList.end(),
                       std::bind(&Adjacent::compare, _1, std::cref(adjName)));
 }
 
 std::list<Adjacent>::const_iterator
 AdjacencyList::find(const ndn::Name& adjName) const
 {
-  return std::find_if(m_adjList.cbegin(),
-                      m_adjList.cend(),
+  return std::find_if(m_adjList.cbegin(), m_adjList.cend(),
                       std::bind(&Adjacent::compare, _1, std::cref(adjName)));
 }
 
 AdjacencyList::iterator
 AdjacencyList::findAdjacent(const ndn::Name& adjName)
 {
-  return std::find_if(m_adjList.begin(),
-                      m_adjList.end(),
-                      std::bind(&Adjacent::compare,
-                                _1, std::cref(adjName)));
+  return std::find_if(m_adjList.begin(), m_adjList.end(),
+                      std::bind(&Adjacent::compare, _1, std::cref(adjName)));
 }
 
 AdjacencyList::iterator
 AdjacencyList::findAdjacent(uint64_t faceId)
 {
-  return std::find_if(m_adjList.begin(),
-                      m_adjList.end(),
-                      std::bind(&Adjacent::compareFaceId,
-                                _1, faceId));
+  return std::find_if(m_adjList.begin(), m_adjList.end(),
+                      std::bind(&Adjacent::compareFaceId, _1, faceId));
 }
 
 AdjacencyList::iterator
 AdjacencyList::findAdjacent(const ndn::FaceUri& faceUri)
 {
-  return std::find_if(m_adjList.begin(),
-                      m_adjList.end(),
-                      std::bind(&Adjacent::compareFaceUri,
-                                _1, faceUri));
+  return std::find_if(m_adjList.begin(), m_adjList.end(),
+                      std::bind(&Adjacent::compareFaceUri, _1, faceUri));
 }
 
 uint64_t
 AdjacencyList::getFaceId(const ndn::FaceUri& faceUri)
 {
-  std::list<Adjacent>::iterator it = std::find_if(m_adjList.begin(),
-                                                  m_adjList.end(),
-                                                  std::bind(&Adjacent::compareFaceUri,
-                                                            _1, faceUri));
-
+  auto it = std::find_if(m_adjList.begin(), m_adjList.end(),
+                         std::bind(&Adjacent::compareFaceUri, _1, faceUri));
   return it != m_adjList.end() ? it->getFaceId() : 0;
 }
 
diff --git a/src/hello-protocol.cpp b/src/hello-protocol.cpp
index ec03da7..49722fe 100644
--- a/src/hello-protocol.cpp
+++ b/src/hello-protocol.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  The University of Memphis,
+ * Copyright (c) 2014-2023,  The University of Memphis,
  *                           Regents of the University of California
  *
  * This file is part of NLSR (Named-data Link State Routing).
@@ -34,7 +34,7 @@
                              ConfParameter& confParam, RoutingTable& routingTable,
                              Lsdb& lsdb)
   : m_face(face)
-  , m_scheduler(m_face.getIoService())
+  , m_scheduler(m_face.getIoContext())
   , m_keyChain(keyChain)
   , m_signingInfo(confParam.getSigningInfo())
   , m_confParam(confParam)
@@ -72,8 +72,7 @@
   interest.setCanBePrefix(true);
   m_face.expressInterest(interest,
     std::bind(&HelloProtocol::onContent, this, _1, _2),
-    [this, seconds] (const ndn::Interest& interest, const ndn::lp::Nack& nack)
-    {
+    [this, seconds] (const auto& interest, const auto& nack) {
       NDN_LOG_TRACE("Received Nack with reason: " << nack.getReason());
       NDN_LOG_TRACE("Will treat as timeout in " << 2 * seconds << " seconds");
       m_scheduler.schedule(ndn::time::seconds(2 * seconds),
@@ -89,7 +88,6 @@
 HelloProtocol::sendHelloInterest(const ndn::Name& neighbor)
 {
   auto adjacent = m_adjacencyList.findAdjacent(neighbor);
-
   if (adjacent == m_adjacencyList.end()) {
     return;
   }
@@ -119,10 +117,10 @@
   // increment RCV_HELLO_INTEREST
   hpIncrementSignal(Statistics::PacketType::RCV_HELLO_INTEREST);
 
-  NLSR_LOG_DEBUG("Interest Received for Name: " << interestName);
+  NLSR_LOG_DEBUG("Interest received for Name: " << interestName);
   if (interestName.get(-2).toUri() != INFO_COMPONENT) {
-    NLSR_LOG_DEBUG("INFO_COMPONENT not found or interestName: " << interestName
-               << " does not match expression");
+    NLSR_LOG_DEBUG("INFO_COMPONENT not found or Interest Name " << interestName
+                   << " does not match expression");
     return;
   }
 
@@ -130,9 +128,9 @@
   neighbor.wireDecode(interestName.get(-1).blockFromValue());
   NLSR_LOG_DEBUG("Neighbor: " << neighbor);
   if (m_adjacencyList.isNeighbor(neighbor)) {
-    std::shared_ptr<ndn::Data> data = std::make_shared<ndn::Data>();
+    auto data = std::make_shared<ndn::Data>();
     data->setName(ndn::Name(interest.getName()).appendVersion());
-    data->setFreshnessPeriod(ndn::time::seconds(10)); // 10 sec
+    data->setFreshnessPeriod(10_s);
     data->setContent(ndn::make_span(reinterpret_cast<const uint8_t*>(INFO_COMPONENT.data()),
                                     INFO_COMPONENT.size()));
 
@@ -233,8 +231,8 @@
     m_adjacencyList.setTimedOutInterestCount(neighbor, 0);
     Adjacent::Status newStatus = m_adjacencyList.getStatusOfNeighbor(neighbor);
 
-    NLSR_LOG_DEBUG("Neighbor : " << neighbor);
-    NLSR_LOG_DEBUG("Old Status: " << oldStatus << " New Status: " << newStatus);
+    NLSR_LOG_DEBUG("Neighbor: " << neighbor);
+    NLSR_LOG_DEBUG("Old Status: " << oldStatus << ", New Status: " << newStatus);
     // change in Adjacency list
     if ((oldStatus - newStatus) != 0) {
       if (m_confParam.getHyperbolicState() == HYPERBOLIC_STATE_ON) {
@@ -254,7 +252,7 @@
 HelloProtocol::onContentValidationFailed(const ndn::Data& data,
                                          const ndn::security::ValidationError& ve)
 {
-  NLSR_LOG_DEBUG("Validation Error: " << ve);
+  NLSR_LOG_DEBUG("Validation error: " << ve);
 }
 
 } // namespace nlsr
diff --git a/src/lsdb.cpp b/src/lsdb.cpp
index 876fa57..f672a41 100644
--- a/src/lsdb.cpp
+++ b/src/lsdb.cpp
@@ -33,7 +33,7 @@
 
 Lsdb::Lsdb(ndn::Face& face, ndn::KeyChain& keyChain, ConfParameter& confParam)
   : m_face(face)
-  , m_scheduler(face.getIoService())
+  , m_scheduler(face.getIoContext())
   , m_confParam(confParam)
   , m_sync(m_face, keyChain,
            [this] (const auto& routerName, const Lsa::Type& lsaType,
@@ -203,7 +203,7 @@
   }
   // else the interest is for other router's LSA, serve signed data from LsaSegmentStorage
   else if (auto lsaSegment = m_lsaStorage.find(interest); lsaSegment) {
-    NLSR_LOG_TRACE("Found data in lsa storage. Sending data for " << interest.getName());
+    NLSR_LOG_TRACE("Found data in LSA storage. Sending data for " << interest.getName());
     m_face.put(*lsaSegment);
   }
 }
@@ -256,19 +256,16 @@
 
   auto chkLsa = findLsa(lsa->getOriginRouter(), lsa->getType());
   if (chkLsa == nullptr) {
-    NLSR_LOG_DEBUG("Adding " << lsa->getType() << " LSA");
-    NLSR_LOG_DEBUG(lsa->toString());
+    NLSR_LOG_DEBUG("Adding LSA:\n" << lsa->toString());
 
     m_lsdb.emplace(lsa);
-
     onLsdbModified(lsa, LsdbUpdate::INSTALLED, {}, {});
 
     lsa->setExpiringEventId(scheduleLsaExpiration(lsa, timeToExpire));
   }
   // Else this is a known name LSA, so we are updating it.
   else if (chkLsa->getSeqNo() < lsa->getSeqNo()) {
-    NLSR_LOG_DEBUG("Updating " << lsa->getType() << " LSA:");
-    NLSR_LOG_DEBUG(chkLsa->toString());
+    NLSR_LOG_DEBUG("Updating LSA:\n" << chkLsa->toString());
     chkLsa->setSeqNo(lsa->getSeqNo());
     chkLsa->setExpirationTimePoint(lsa->getExpirationTimePoint());
 
@@ -278,8 +275,7 @@
     }
 
     chkLsa->setExpiringEventId(scheduleLsaExpiration(chkLsa, timeToExpire));
-    NLSR_LOG_DEBUG("Updated " << lsa->getType() << " LSA:");
-    NLSR_LOG_DEBUG(chkLsa->toString());
+    NLSR_LOG_DEBUG("Updated LSA:\n" << chkLsa->toString());
   }
 }
 
@@ -288,8 +284,7 @@
 {
   if (lsaIt != m_lsdb.end()) {
     auto lsaPtr = *lsaIt;
-    NLSR_LOG_DEBUG("Removing " << lsaPtr->getType() << " LSA:");
-    NLSR_LOG_DEBUG(lsaPtr->toString());
+    NLSR_LOG_DEBUG("Removing LSA:\n" << lsaPtr->toString());
     m_lsdb.erase(lsaIt);
     onLsdbModified(lsaPtr, LsdbUpdate::REMOVED, {}, {});
   }
@@ -385,13 +380,11 @@
     if (lsaPtr->getSeqNo() == lsa->getSeqNo()) {
       if (lsaPtr->getOriginRouter() == m_thisRouterPrefix) {
         NLSR_LOG_DEBUG("Own " << lsaPtr->getType() << " LSA, so refreshing it");
-        NLSR_LOG_DEBUG("Current LSA:");
-        NLSR_LOG_DEBUG(lsaPtr->toString());
+        NLSR_LOG_DEBUG("Current LSA:\n" << lsaPtr->toString());
         lsaPtr->setSeqNo(lsaPtr->getSeqNo() + 1);
         m_sequencingManager.setLsaSeq(lsaPtr->getSeqNo(), lsaPtr->getType());
         lsaPtr->setExpirationTimePoint(getLsaExpirationTimePoint());
-        NLSR_LOG_DEBUG("Updated LSA:");
-        NLSR_LOG_DEBUG(lsaPtr->toString());
+        NLSR_LOG_DEBUG("Updated LSA:\n" << lsaPtr->toString());
         // schedule refreshing event again
         lsaPtr->setExpiringEventId(scheduleLsaExpiration(lsaPtr, m_lsaRefreshTime));
         m_sequencingManager.writeSeqNoToFile();
@@ -490,13 +483,12 @@
       // immediately since at the least the LSA Interest lifetime has elapsed.
       // Otherwise, it is necessary to delay the Interest re-expression to prevent
       // the potential for constant Interest flooding.
-      ndn::time::seconds delay = m_confParam.getLsaInterestLifetime();
-
+      auto delay = m_confParam.getLsaInterestLifetime();
       if (errorCode == ndn::SegmentFetcher::ErrorCode::INTEREST_TIMEOUT) {
-        delay = ndn::time::seconds(0);
+        delay = 0_s;
       }
-      m_scheduler.schedule(delay, std::bind(&Lsdb::expressInterest, this,
-                                            interestName, retransmitNo + 1, /*Multicast FaceID*/0, deadline));
+      m_scheduler.schedule(delay, std::bind(&Lsdb::expressInterest, this, interestName,
+                                            retransmitNo + 1, /*Multicast FaceID*/0, deadline));
     }
   }
 }
@@ -559,7 +551,7 @@
       }
     }
     catch (const std::exception& e) {
-      NLSR_LOG_TRACE("LSA data decoding error :( " << e.what());
+      NLSR_LOG_TRACE("LSA data decoding error: " << e.what());
     }
   }
 }
diff --git a/src/lsdb.hpp b/src/lsdb.hpp
index 2c9008d..1116e98 100644
--- a/src/lsdb.hpp
+++ b/src/lsdb.hpp
@@ -220,11 +220,11 @@
     \param seqNo The sequence number to check.
   */
   bool
-  isLsaNew(const ndn::Name& originRouter, const Lsa::Type& lsaType, uint64_t lsSeqNo) const
+  isLsaNew(const ndn::Name& originRouter, const Lsa::Type& lsaType, uint64_t seqNo) const
   {
     // Is the name in the LSDB and the supplied seq no is the highest so far
     auto lsaPtr = findLsa(originRouter, lsaType);
-    return lsaPtr ? lsaPtr->getSeqNo() < lsSeqNo : true;
+    return lsaPtr ? lsaPtr->getSeqNo() < seqNo : true;
   }
 
   void
diff --git a/src/nlsr.cpp b/src/nlsr.cpp
index 8c4033a..f135636 100644
--- a/src/nlsr.cpp
+++ b/src/nlsr.cpp
@@ -36,7 +36,7 @@
 
 Nlsr::Nlsr(ndn::Face& face, ndn::KeyChain& keyChain, ConfParameter& confParam)
   : m_face(face)
-  , m_scheduler(face.getIoService())
+  , m_scheduler(face.getIoContext())
   , m_confParam(confParam)
   , m_adjacencyList(confParam.getAdjacencyList())
   , m_namePrefixList(confParam.getNamePrefixList())
@@ -259,7 +259,7 @@
 Nlsr::initializeFaces(const FetchDatasetCallback& onFetchSuccess,
                       const FetchDatasetTimeoutCallback& onFetchFailure)
 {
-  NLSR_LOG_TRACE("Initializing Faces...");
+  NLSR_LOG_TRACE("Initializing faces");
   m_faceDatasetController.fetch<ndn::nfd::FaceDataset>(onFetchSuccess, onFetchFailure);
 }
 
@@ -317,14 +317,12 @@
                                 const std::string& msg,
                                 uint32_t nRetriesSoFar)
 {
-  NLSR_LOG_DEBUG("onFaceDatasetFetchTimeout");
   // If we have exceeded the maximum attempt count, do not try again.
   if (nRetriesSoFar++ < m_confParam.getFaceDatasetFetchTries()) {
     NLSR_LOG_DEBUG("Failed to fetch dataset: " << msg << ". Attempting retry #" << nRetriesSoFar);
-    m_faceDatasetController.fetch<ndn::nfd::FaceDataset>(std::bind(&Nlsr::processFaceDataset,
-                                                        this, _1),
-                                              std::bind(&Nlsr::onFaceDatasetFetchTimeout,
-                                                        this, _1, _2, nRetriesSoFar));
+    m_faceDatasetController.fetch<ndn::nfd::FaceDataset>(std::bind(&Nlsr::processFaceDataset, this, _1),
+                                                         std::bind(&Nlsr::onFaceDatasetFetchTimeout,
+                                                                   this, _1, _2, nRetriesSoFar));
   }
   else {
     NLSR_LOG_ERROR("Failed to fetch dataset: " << msg << ". Exceeded limit of " <<
@@ -339,17 +337,12 @@
 void
 Nlsr::scheduleDatasetFetch()
 {
-  NLSR_LOG_DEBUG("Scheduling Dataset Fetch in " << m_confParam.getFaceDatasetFetchInterval());
+  NLSR_LOG_DEBUG("Scheduling dataset fetch in " << m_confParam.getFaceDatasetFetchInterval());
 
-  m_scheduler.schedule(m_confParam.getFaceDatasetFetchInterval(),
-    [this] {
-      this->initializeFaces(
-        [this] (const std::vector<ndn::nfd::FaceStatus>& faces) {
-         this->processFaceDataset(faces);
-        },
-        [this] (uint32_t code, const std::string& msg) {
-         this->onFaceDatasetFetchTimeout(code, msg, 0);
-        });
+  m_scheduler.schedule(m_confParam.getFaceDatasetFetchInterval(), [this] {
+    initializeFaces(
+      [this] (const auto& faces) { processFaceDataset(faces); },
+      [this] (uint32_t code, const std::string& msg) { onFaceDatasetFetchTimeout(code, msg, 0); });
   });
 }
 
diff --git a/src/route/routing-table-calculator.cpp b/src/route/routing-table-calculator.cpp
index 54c8a47..474604a 100644
--- a/src/route/routing-table-calculator.cpp
+++ b/src/route/routing-table-calculator.cpp
@@ -435,7 +435,7 @@
 
   // Iterate over directly connected neighbors
   std::list<Adjacent> neighbors = adjacencies.getAdjList();
-  for (std::list<Adjacent>::iterator adj = neighbors.begin(); adj != neighbors.end(); ++adj) {
+  for (auto adj = neighbors.begin(); adj != neighbors.end(); ++adj) {
 
     // Don't calculate nexthops using an inactive router
     if (adj->getStatus() == Adjacent::STATUS_INACTIVE) {