From 9ecbdc95c5e45b90f9616b5145cf8ef4684d4092 Mon Sep 17 00:00:00 2001 From: Ashlesh Gawande Date: Mon, 11 Mar 2019 13:18:45 -0700 Subject: [PATCH] src: fix canonization by resetting io service after each neighbor refs: #4872 Change-Id: I87e83eb36f1a17d0dc2633f04c529f71d751a497 --- src/conf-file-processor.cpp | 1 + tests/test-conf-file-processor.cpp | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/conf-file-processor.cpp b/src/conf-file-processor.cpp index a468e6c..d3e75be 100644 --- a/src/conf-file-processor.cpp +++ b/src/conf-file-processor.cpp @@ -489,6 +489,7 @@ ConfFileProcessor::processConfSectionNeighbors(const ConfigSection& section) m_io, TIME_ALLOWED_FOR_CANONIZATION); m_io.run(); + m_io.reset(); if (failedToCanonize) { return false; diff --git a/tests/test-conf-file-processor.cpp b/tests/test-conf-file-processor.cpp index 4f0d8a7..2d5958d 100644 --- a/tests/test-conf-file-processor.cpp +++ b/tests/test-conf-file-processor.cpp @@ -292,6 +292,32 @@ BOOST_AUTO_TEST_CASE(DefaultValuesNeighbors) static_cast(ADJ_LSA_BUILD_INTERVAL_DEFAULT)); } +BOOST_AUTO_TEST_CASE(CanonizeNeighbors) +{ + std::string config = std::string(R"INFO(neighbors + { + neighbor + { + name /ndn/edu/arizona/%C1.Router/hobo + face-uri udp4://hobo.cs.arizona.edu + link-cost 20 + } + neighbor + { + name /ndn/edu/umich/%C1.Router/ndn0 + face-uri udp4://michigan.testbed.named-data.net + link-cost 30 + } + })INFO"); + + BOOST_CHECK_EQUAL(processConfigurationString(config), true); + + BOOST_CHECK_EQUAL(conf.m_adjl.getAdjacent("/ndn/edu/arizona/%C1.Router/hobo").getFaceUri().toString(), + "udp4://128.196.203.36:6363"); + BOOST_CHECK_EQUAL(conf.m_adjl.getAdjacent("/ndn/edu/umich/%C1.Router/ndn0").getFaceUri().toString(), + "udp4://198.111.224.197:6363"); +} + BOOST_AUTO_TEST_CASE(DefaultValuesFib) { std::string config = SECTION_FIB;