diff --git a/include/ircd/m/feds.h b/include/ircd/m/feds.h index 27fa9c65e..8311bc1f6 100644 --- a/include/ircd/m/feds.h +++ b/include/ircd/m/feds.h @@ -35,6 +35,7 @@ namespace ircd::m::feds struct ircd::m::feds::acquire { + acquire(const vector_view &, const closure &); acquire(const opts &, const closure &); }; diff --git a/ircd/m.cc b/ircd/m.cc index 231cfd8cb..536a98f3c 100644 --- a/ircd/m.cc +++ b/ircd/m.cc @@ -1204,8 +1204,17 @@ ircd::m::app::exists(const string_view &id) ircd::m::feds::acquire::acquire(const opts &o, const closure &c) +:acquire { - using prototype = bool (const opts &, const closure &); + vector_view{&o, 1}, c +} +{ +} + +ircd::m::feds::acquire::acquire(const vector_view &o, + const closure &c) +{ + using prototype = bool (const vector_view &, const closure &); static mods::import call { diff --git a/modules/federation/federation.cc b/modules/federation/federation.cc index 56a3fccbb..3d03b0ec3 100644 --- a/modules/federation/federation.cc +++ b/modules/federation/federation.cc @@ -37,7 +37,7 @@ namespace ircd::m::feds static bool version(const opts &, const closure &); static bool keys(const opts &, const closure &); - bool execute(const opts &opts, const closure &closure); + bool execute(const vector_view &opts, const closure &closure); } template @@ -70,10 +70,10 @@ struct ircd::m::feds::request bool IRCD_MODULE_EXPORT -ircd::m::feds::execute(const opts &opts, +ircd::m::feds::execute(const vector_view &optsv, const closure &closure) { - switch(opts.op) + for(const auto &opts : optsv) switch(opts.op) { case op::head: return head(opts, closure); case op::auth: return auth(opts, closure);