mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-15 12:13:24 +00:00
b81f7025c9
Replaces custom logging system with spdlog-based oxen logging. This commit mainly replaces the backend logging with the spdlog-based system, but doesn't (yet) convert all the existing LogWarn, etc. to use the new format-based logging. New logging statements will look like: llarp::log::warning(cat, "blah: {}", val); where `cat` should be set up in each .cpp or cluster of .cpp files, as described in the oxen-logging README. As part of spdlog we get fmt, which gives us nice format strings, where are applied generously in this commit. Making types printable now requires two steps: - add a ToString() method - add this specialization: template <> constexpr inline bool llarp::IsToStringFormattable<llarp::Whatever> = true; This will then allow the type to be printed as a "{}" value in a fmt::format string. This is applied to all our printable types here, and all of the `operator<<` are removed. This commit also: - replaces various uses of `operator<<` to ToString() - replaces various uses of std::stringstream with either fmt::format or plain std::string - Rename some to_string and toString() methods to ToString() for consistency (and to work with fmt) - Replace `stringify(...)` and `make_exception` usage with fmt::format (and remove stringify/make_exception from util/str.hpp).
49 lines
1.0 KiB
C++
49 lines
1.0 KiB
C++
#include "address.hpp"
|
|
#include <cstring>
|
|
#include <iostream>
|
|
|
|
namespace llarp::quic
|
|
{
|
|
using namespace std::literals;
|
|
|
|
Address::Address(const SockAddr& addr) : saddr{*addr.operator const sockaddr_in6*()}
|
|
{}
|
|
|
|
Address&
|
|
Address::operator=(const Address& other)
|
|
{
|
|
std::memmove(&saddr, &other.saddr, sizeof(saddr));
|
|
a.addrlen = other.a.addrlen;
|
|
return *this;
|
|
}
|
|
|
|
Address::operator service::ConvoTag() const
|
|
{
|
|
service::ConvoTag tag{};
|
|
tag.FromV6(saddr);
|
|
return tag;
|
|
}
|
|
|
|
std::string
|
|
Address::ToString() const
|
|
{
|
|
if (a.addrlen != sizeof(sockaddr_in6))
|
|
return "(unknown-addr)";
|
|
std::string result;
|
|
result.resize(8 + INET6_ADDRSTRLEN);
|
|
result[0] = '[';
|
|
inet_ntop(AF_INET6, &saddr.sin6_addr, &result[1], INET6_ADDRSTRLEN);
|
|
result.resize(result.find(char{0}));
|
|
result += "]:";
|
|
result += std::to_string(ToHost(nuint16_t{saddr.sin6_port}).h);
|
|
return result;
|
|
}
|
|
|
|
std::string
|
|
Path::ToString() const
|
|
{
|
|
return local.ToString() + "<-" + remote.ToString();
|
|
}
|
|
|
|
} // namespace llarp::quic
|