Skip to content
Snippets Groups Projects
Commit 7915b987 authored by Adrien Béraud's avatar Adrien Béraud
Browse files

misc: use more string_view

parent 29bdc1a4
No related branches found
No related tags found
No related merge requests found
...@@ -22,6 +22,8 @@ ...@@ -22,6 +22,8 @@
#include <sstream> #include <sstream>
#include <cstdio> #include <cstdio>
using namespace std::literals;
namespace dht { namespace dht {
const HexMap hex_map = {}; const HexMap hex_map = {};
...@@ -33,9 +35,9 @@ NodeExport::msgpack_unpack(msgpack::object o) ...@@ -33,9 +35,9 @@ NodeExport::msgpack_unpack(msgpack::object o)
throw msgpack::type_error(); throw msgpack::type_error();
if (o.via.map.size < 2) if (o.via.map.size < 2)
throw msgpack::type_error(); throw msgpack::type_error();
if (o.via.map.ptr[0].key.as<std::string>() != "id") if (o.via.map.ptr[0].key.as<std::string_view>() != "id"sv)
throw msgpack::type_error(); throw msgpack::type_error();
if (o.via.map.ptr[1].key.as<std::string>() != "addr") if (o.via.map.ptr[1].key.as<std::string_view>() != "addr"sv)
throw msgpack::type_error(); throw msgpack::type_error();
const auto& addr = o.via.map.ptr[1].val; const auto& addr = o.via.map.ptr[1].val;
if (addr.type != msgpack::type::BIN) if (addr.type != msgpack::type::BIN)
......
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
#include <asio.hpp> #include <asio.hpp>
using namespace std::literals;
namespace dht { namespace dht {
// Organization-local Scope multicast // Organization-local Scope multicast
...@@ -61,7 +63,7 @@ private: ...@@ -61,7 +63,7 @@ private:
msgpack::sbuffer sbuf_; msgpack::sbuffer sbuf_;
std::map<std::string, msgpack::sbuffer> messages_; std::map<std::string, msgpack::sbuffer> messages_;
std::map<std::string, ServiceDiscoveredCallback> callbackmap_; std::map<std::string, ServiceDiscoveredCallback, std::less<>> callbackmap_;
bool lrunning_ {false}; bool lrunning_ {false};
bool drunning_ {false}; bool drunning_ {false};
...@@ -133,19 +135,18 @@ PeerDiscovery::DomainPeerDiscovery::loopListener() ...@@ -133,19 +135,18 @@ PeerDiscovery::DomainPeerDiscovery::loopListener()
msgpack::object obj = rcv.get(); msgpack::object obj = rcv.get();
if (obj.type == msgpack::type::STR) { if (obj.type == msgpack::type::STR) {
if (lrunning_ and obj.as<std::string>() == "q") if (lrunning_ and obj.as<std::string_view>() == "q"sv)
publish(receiveFrom_); publish(receiveFrom_);
} else if (obj.type == msgpack::type::MAP) { } else if (obj.type == msgpack::type::MAP) {
for (unsigned i = 0; i < obj.via.map.size; i++) { for (unsigned i = 0; i < obj.via.map.size; i++) {
auto& o = obj.via.map.ptr[i]; auto& o = obj.via.map.ptr[i];
if (o.key.type != msgpack::type::STR) if (o.key.type != msgpack::type::STR)
continue; continue;
auto key = o.key.as<std::string>();
ServiceDiscoveredCallback cb; ServiceDiscoveredCallback cb;
{ {
std::lock_guard<std::mutex> lck(dmtx_); std::lock_guard<std::mutex> lck(dmtx_);
if (drunning_) { if (drunning_) {
auto callback = callbackmap_.find(key); auto callback = callbackmap_.find(o.key.as<std::string_view>());
if (callback != callbackmap_.end()) if (callback != callbackmap_.end())
cb = callback->second; cb = callback->second;
} else } else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment