diff --git a/src/rpc/net.cpp b/src/rpc/net.cpp index 56b1e09a4b903..5a67baecab6f2 100644 --- a/src/rpc/net.cpp +++ b/src/rpc/net.cpp @@ -688,9 +688,9 @@ static RPCHelpMan getnetworkinfo() obj.pushKV("connections_mn", (int)node.connman->GetNodeCount(ConnectionDirection::Verified)); obj.pushKV("connections_mn_in", (int)node.connman->GetNodeCount(ConnectionDirection::VerifiedIn)); obj.pushKV("connections_mn_out", (int)node.connman->GetNodeCount(ConnectionDirection::VerifiedOut)); - std::string sem_str = SEMToString(node.connman->GetSocketEventsMode()); + std::string_view sem_str = SEMToString(node.connman->GetSocketEventsMode()); CHECK_NONFATAL(sem_str != "unknown"); - obj.pushKV("socketevents", sem_str); + obj.pushKV("socketevents", std::string(sem_str)); } obj.pushKV("networks", GetNetworksInfo()); obj.pushKV("relayfee", ValueFromAmount(::minRelayTxFee.GetFeePerK())); diff --git a/src/util/sock.h b/src/util/sock.h index 4d32d50e5e733..5c7fc05fd53de 100644 --- a/src/util/sock.h +++ b/src/util/sock.h @@ -29,8 +29,7 @@ enum class SocketEventsMode : int8_t { }; /* Converts SocketEventsMode value to string with additional check to report modes not compiled for as unknown */ -static std::string SEMToString(const SocketEventsMode val) -{ +constexpr std::string_view SEMToString(const SocketEventsMode val) { switch (val) { case (SocketEventsMode::Select): return "select"; @@ -52,19 +51,18 @@ static std::string SEMToString(const SocketEventsMode val) } /* Converts string to SocketEventsMode value with additional check to report modes not compiled for as unknown */ -static SocketEventsMode SEMFromString(const std::string str) -{ +constexpr SocketEventsMode SEMFromString(std::string_view str) { if (str == "select") { return SocketEventsMode::Select; } #ifdef USE_POLL - else if (str == "poll") { return SocketEventsMode::Poll; } + if (str == "poll") { return SocketEventsMode::Poll; } #endif /* USE_POLL */ #ifdef USE_EPOLL - else if (str == "epoll") { return SocketEventsMode::EPoll; } + if (str == "epoll") { return SocketEventsMode::EPoll; } #endif /* USE_EPOLL */ #ifdef USE_KQUEUE - else if (str == "kqueue") { return SocketEventsMode::KQueue; } + if (str == "kqueue") { return SocketEventsMode::KQueue; } #endif /* USE_KQUEUE */ - else { return SocketEventsMode::Unknown; } + return SocketEventsMode::Unknown; } /**