lsdb: rebuild using boost::multi_index to replace 3 LSA lists
refs: #4127
Co-authored-by: Nick Gordon <nmgordon@memphis.edu>
Change-Id: Ic179f90019e472157b0d61c6db02a4afaf4843b6
diff --git a/src/lsa/coordinate-lsa.cpp b/src/lsa/coordinate-lsa.cpp
index b195e39..4109c64 100644
--- a/src/lsa/coordinate-lsa.cpp
+++ b/src/lsa/coordinate-lsa.cpp
@@ -26,7 +26,7 @@
namespace nlsr {
-CoordinateLsa::CoordinateLsa(const ndn::Name& originRouter, uint32_t seqNo,
+CoordinateLsa::CoordinateLsa(const ndn::Name& originRouter, uint64_t seqNo,
const ndn::time::system_clock::TimePoint& timepoint,
double radius, std::vector<double> angles)
: Lsa(originRouter, seqNo, timepoint)
@@ -84,7 +84,7 @@
const ndn::Block&
CoordinateLsa::wireEncode() const
{
- if (m_wire.hasWire() && m_baseWire.hasWire()) {
+ if (m_wire.hasWire()) {
return m_wire;
}
@@ -113,7 +113,7 @@
m_wire.parse();
- ndn::Block::element_const_iterator val = m_wire.elements_begin();
+ auto val = m_wire.elements_begin();
if (val != m_wire.elements_end() && val->type() == ndn::tlv::nlsr::Lsa) {
Lsa::wireDecode(*val);
@@ -143,17 +143,24 @@
m_hyperbolicAngles = angles;
}
-std::ostream&
-operator<<(std::ostream& os, const CoordinateLsa& lsa)
+std::string
+CoordinateLsa::toString() const
{
- os << lsa.toString();
- os << " Hyperbolic Radius : " << lsa.getCorRadius() << "\n";
+ std::ostringstream os;
+ os << Lsa::toString();
+ os << " Hyperbolic Radius : " << m_hyperbolicRadius << "\n";
int i = 0;
- for (const auto& value : lsa.getCorTheta()) {
+ for (const auto& value : m_hyperbolicAngles) {
os << " Hyperbolic Theta " << i++ << " : " << value << "\n";
}
- return os;
+ return os.str();
+}
+
+std::ostream&
+operator<<(std::ostream& os, const CoordinateLsa& lsa)
+{
+ return os << lsa.toString();
}
} // namespace nlsr