diff --git a/include/opendht/node.h b/include/opendht/node.h index d1a8ed464ddc8f10e8dfd8da1e1ae1bcaec88a55..7a4511c1985607249e5b62877c56730b713b9074 100644 --- a/include/opendht/node.h +++ b/include/opendht/node.h @@ -83,6 +83,8 @@ struct Node { */ void reset() { pinged = 0; } + std::string toString() const; + friend std::ostream& operator<< (std::ostream& s, const Node& h); static constexpr const std::chrono::minutes NODE_GOOD_TIME {120}; diff --git a/src/node.cpp b/src/node.cpp index 36b93ef26d58b002372d0dc92f6a2b08cee7359e..0da55411abdbcf3a6aa04b9a0831c2d71b41d3d0 100644 --- a/src/node.cpp +++ b/src/node.cpp @@ -21,6 +21,8 @@ #include "node.h" +#include <sstream> + namespace dht { constexpr std::chrono::minutes Node::NODE_EXPIRE_TIME; @@ -77,6 +79,14 @@ Node::received(time_point now, bool answer) } } +std::string +Node::toString() const +{ + std::stringstream ss; + ss << (*this); + return ss.str(); +} + std::ostream& operator<< (std::ostream& s, const Node& h) { s << h.id << " " << print_addr(h.ss, h.sslen);