diff --git a/include/ircd/m/sync/item.h b/include/ircd/m/sync/item.h index f6a7b365e..9f3c1875c 100644 --- a/include/ircd/m/sync/item.h +++ b/include/ircd/m/sync/item.h @@ -30,7 +30,7 @@ namespace ircd::m::sync /// and a linear handler. /// struct ircd::m::sync::item -:instance_multimap> +:instance_multimap> { using handle = std::function; @@ -52,10 +52,10 @@ struct ircd::m::sync::item bool linear(data &); bool polylog(data &); - item(std::string name, - handle polylog = {}, - handle linear = {}, - const json::members & = {}); + item(const string_view &name, + handle polylog = {}, + handle linear = {}, + const json::members & = {}); item(item &&) = delete; item(const item &) = delete; @@ -64,4 +64,4 @@ struct ircd::m::sync::item template<> decltype(ircd::m::sync::item::map) -ircd::instance_multimap>::map; +ircd::instance_multimap>::map; diff --git a/matrix/sync.cc b/matrix/sync.cc index cd6b7d24f..cd882ad4a 100644 --- a/matrix/sync.cc +++ b/matrix/sync.cc @@ -32,8 +32,8 @@ ircd::m::sync::pool }; template<> -decltype(ircd::util::instance_multimap>::map) -ircd::util::instance_multimap>::map +decltype(ircd::m::sync::item::map) +ircd::util::instance_multimap>::map {}; template<> @@ -195,13 +195,13 @@ ircd::m::sync::stats::info // item::item // -ircd::m::sync::item::item(std::string name, +ircd::m::sync::item::item(const string_view &name, handle polylog, handle linear, const json::members &feature) :instance_multimap { - std::move(name) + name } ,conf_name {