Add InterfaceInfo formatter

pull/2008/head
Jason Rhinelander 2 years ago
parent bd8dffc730
commit 4bf80833f4
No known key found for this signature in database
GPG Key ID: C4992CE7A88D4262

@ -33,6 +33,7 @@ add_library(lokinet-platform
# for networking
ev/ev.cpp
ev/libuv.cpp
net/interface_info.cpp
net/ip.cpp
net/ip_address.cpp
net/ip_packet.cpp

@ -0,0 +1,15 @@
#include "interface_info.hpp"
namespace llarp::net
{
std::string
InterfaceInfo::ToString() const
{
return fmt::format(
"{}[i={}; addrs={}; gw={}]",
name,
index,
fmt::join(addrs, ","),
gateway ? fmt::format("{}", *gateway) : "none");
}
} // namespace llarp::net

@ -1,7 +1,9 @@
#pragma once
#include <optional>
#include <string>
#include <vector>
#include <llarp/util/formattable.hpp>
#include "ip_range.hpp"
namespace llarp::net
@ -17,5 +19,11 @@ namespace llarp::net
std::vector<IPRange> addrs;
/// a gateway we can use if it exists
std::optional<ipaddr_t> gateway;
std::string
ToString() const;
};
} // namespace llarp::net
template <>
inline constexpr bool llarp::IsToStringFormattable<llarp::net::InterfaceInfo> = true;

Loading…
Cancel
Save