Changeset View
Changeset View
Standalone View
Standalone View
src/protocol.cpp
Show First 20 Lines • Show All 276 Lines • ▼ Show 20 Lines | switch (ServiceFlags(service_flag)) { | ||||
case NODE_NETWORK_LIMITED: | case NODE_NETWORK_LIMITED: | ||||
return "NETWORK_LIMITED"; | return "NETWORK_LIMITED"; | ||||
case NODE_AVALANCHE: | case NODE_AVALANCHE: | ||||
return "AVALANCHE"; | return "AVALANCHE"; | ||||
default: | default: | ||||
std::ostringstream stream; | std::ostringstream stream; | ||||
stream.imbue(std::locale::classic()); | stream.imbue(std::locale::classic()); | ||||
stream << "UNKNOWN["; | stream << "UNKNOWN["; | ||||
if (bit < 8) { | |||||
stream << mask; | |||||
} else { | |||||
stream << "2^" << bit; | stream << "2^" << bit; | ||||
} | |||||
stream << "]"; | stream << "]"; | ||||
return stream.str(); | return stream.str(); | ||||
} | } | ||||
} | } | ||||
std::vector<std::string> serviceFlagsToStr(const uint64_t flags) { | std::vector<std::string> serviceFlagsToStr(const uint64_t flags) { | ||||
std::vector<std::string> str_flags; | std::vector<std::string> str_flags; | ||||
for (size_t i = 0; i < sizeof(flags) * 8; ++i) { | for (size_t i = 0; i < sizeof(flags) * 8; ++i) { | ||||
if (flags & (1ULL << i)) { | if (flags & (1ULL << i)) { | ||||
str_flags.emplace_back(serviceFlagToStr(i)); | str_flags.emplace_back(serviceFlagToStr(i)); | ||||
} | } | ||||
} | } | ||||
return str_flags; | return str_flags; | ||||
} | } |