mgmt refactoring: Correct ForwarderStatus publishing
Change-Id: I8207af814757b5f4ce3ea9b8bb66d7f5a369af2f
Refs: #2107
diff --git a/daemon/mgmt/forwarder-status-manager.cpp b/daemon/mgmt/forwarder-status-manager.cpp
index 9f1e3a2..bf2372b 100644
--- a/daemon/mgmt/forwarder-status-manager.cpp
+++ b/daemon/mgmt/forwarder-status-manager.cpp
@@ -59,7 +59,11 @@
m_forwarder.getCounters().copyTo(status);
context.setExpiry(STATUS_SERVER_DEFAULT_FRESHNESS);
- context.append(status.wireEncode());
+
+ status.wireEncode().parse();
+ for (const auto& subblock : status.wireEncode().elements()) {
+ context.append(subblock);
+ }
context.end();
}
diff --git a/tests/daemon/mgmt/forwarder-status-manager.t.cpp b/tests/daemon/mgmt/forwarder-status-manager.t.cpp
index ba01396..104adaa 100644
--- a/tests/daemon/mgmt/forwarder-status-manager.t.cpp
+++ b/tests/daemon/mgmt/forwarder-status-manager.t.cpp
@@ -77,7 +77,7 @@
time::system_clock::TimePoint t4 = time::system_clock::now();
BOOST_REQUIRE_EQUAL(face->sentDatas.size(), 1);
ndn::nfd::ForwarderStatus status;
- BOOST_REQUIRE_NO_THROW(status.wireDecode(face->sentDatas[0].getContent().blockFromValue()));
+ BOOST_REQUIRE_NO_THROW(status.wireDecode(face->sentDatas[0].getContent()));
BOOST_CHECK_EQUAL(status.getNfdVersion(), NFD_VERSION_BUILD_STRING);
BOOST_CHECK_GE(time::toUnixTimestamp(status.getStartTimestamp()), time::toUnixTimestamp(t1));