47 case LocalMessageType::NONE:
return "NONE";
48 case LocalMessageType::OK:
return "OK";
49 case LocalMessageType::FAIL:
return "FAIL";
50 case LocalMessageType::PROBE_REQ:
return "PROBE_REQ";
51 case LocalMessageType::PROBE_RES:
return "PROBE_RES";
52 case LocalMessageType::PUB:
return "PUB";
53 case LocalMessageType::SUB_REQ:
return "SUB_REQ";
54 case LocalMessageType::SUB_DATA:
return "SUB_DATA";
55 case LocalMessageType::UNSUB:
return "UNSUB";
56 case LocalMessageType::TIME_REQ:
return "TIME_REQ";
57 case LocalMessageType::TIME_RES:
return "TIME_RES";
58 default:
return "???";
69 template <
typename TLocalAddr>
72 using LocalAddrT = TLocalAddr;
89 (
addr.str.length() > 0 ?
addr.str :
"(no addr)") +
" " +
90 (
topic.length() > 0 ?
topic :
"(no topic)") +
" " +
91 "(" + std::to_string(
payload.length()) +
" B payload)";
105 template <
typename TLocalAddr>
106 struct std::hash<SPSP::LocalMessage<TLocalAddr>>
110 return std::hash<SPSP::LocalMessageType>{}(msg.
type)
111 + std::hash<TLocalAddr>{}(msg.
addr)
112 + std::hash<std::string>{}(msg.
topic)
113 + std::hash<std::string>{}(msg.
payload);