mirror of
https://github.com/matrix-construct/construct
synced 2024-11-24 15:52:34 +01:00
Add noexcept to various lambdas (gcc-11).
This commit is contained in:
parent
b677eeb4b7
commit
5a4a395fc2
52 changed files with 170 additions and 124 deletions
|
@ -56,7 +56,7 @@ template<class value>
|
|||
void
|
||||
ircd::ctx::concurrent<value>::wait()
|
||||
{
|
||||
d.wait([this]
|
||||
d.wait([this]() noexcept
|
||||
{
|
||||
return snd == fin;
|
||||
});
|
||||
|
@ -68,7 +68,7 @@ void
|
|||
ircd::ctx::concurrent<value>::operator()(V&& v)
|
||||
{
|
||||
++snd;
|
||||
p([this, v(std::move(v))]
|
||||
p([this, v(std::move(v))]() noexcept
|
||||
{
|
||||
++rcv; try
|
||||
{
|
||||
|
|
|
@ -125,7 +125,7 @@ struct ircd::json::value
|
|||
value(const json::object &);
|
||||
value(const json::array &);
|
||||
value(const nullptr_t &);
|
||||
value();
|
||||
value() noexcept;
|
||||
value(value &&) noexcept;
|
||||
value(const value &);
|
||||
value &operator=(value &&) noexcept;
|
||||
|
@ -137,6 +137,7 @@ static_assert(sizeof(ircd::json::value) == 16, "");
|
|||
|
||||
inline
|
||||
ircd::json::value::value()
|
||||
noexcept
|
||||
:string{nullptr}
|
||||
,len{0}
|
||||
,type{STRING}
|
||||
|
|
|
@ -68,7 +68,8 @@ ircd::m::event::auth::ids(event::id (&out)[N])
|
|||
const
|
||||
{
|
||||
size_t i(0);
|
||||
m::for_each(*this, [&i, &out](const event::id &event_id)
|
||||
m::for_each(*this, [&i, &out]
|
||||
(const event::id &event_id) noexcept
|
||||
{
|
||||
out[i++] = event_id;
|
||||
return i < N;
|
||||
|
|
|
@ -18,15 +18,15 @@ namespace ircd
|
|||
// to allocate and copy the token with null termination.
|
||||
using token_view = closure_bool<std::function, const string_view &>;
|
||||
|
||||
bool tokens(const string_view &str, const char sep, const token_view &);
|
||||
bool tokens(const string_view &str, const string_view &sep, const token_view &);
|
||||
bool tokens(const string_view &, const char sep, const token_view &) noexcept;
|
||||
bool tokens(const string_view &, const string_view &sep, const token_view &) noexcept;
|
||||
|
||||
size_t tokens(const string_view &str, const char sep, const size_t limit, const token_view &);
|
||||
size_t tokens(const string_view &str, const string_view &sep, const size_t limit, const token_view &);
|
||||
size_t tokens(const string_view &, const char sep, const size_t lim, const token_view &) noexcept;
|
||||
size_t tokens(const string_view &, const string_view &sep, const size_t lim, const token_view &) noexcept;
|
||||
|
||||
// Copies tokens into your buffer and null terminates strtok() style. Returns BYTES of buf consumed.
|
||||
size_t tokens(const string_view &str, const char sep, const mutable_buffer &buf, const token_view &);
|
||||
size_t tokens(const string_view &str, const string_view &sep, const mutable_buffer &buf, const token_view &);
|
||||
size_t tokens(const string_view &, const char sep, const mutable_buffer &, const token_view &) noexcept;
|
||||
size_t tokens(const string_view &, const string_view &sep, const mutable_buffer &, const token_view &) noexcept;
|
||||
|
||||
// Receive token view into iterator range
|
||||
template<class it,
|
||||
|
@ -81,17 +81,17 @@ namespace ircd
|
|||
// Tools
|
||||
namespace ircd
|
||||
{
|
||||
size_t token_count(const string_view &str, const char sep);
|
||||
size_t token_count(const string_view &str, const string_view &sep);
|
||||
size_t token_count(const string_view &str, const char sep) noexcept;
|
||||
size_t token_count(const string_view &str, const string_view &sep) noexcept;
|
||||
|
||||
bool token_exists(const string_view &str, const char sep, const string_view &token);
|
||||
bool token_exists(const string_view &str, const string_view &sep, const string_view &token);
|
||||
bool token_exists(const string_view &str, const char sep, const string_view &token) noexcept;
|
||||
bool token_exists(const string_view &str, const string_view &sep, const string_view &token) noexcept;
|
||||
|
||||
string_view token(const string_view &str, const char sep, const size_t at);
|
||||
string_view token(const string_view &str, const string_view &sep, const size_t at);
|
||||
|
||||
string_view token(const string_view &str, const char sep, const size_t at, const string_view &def);
|
||||
string_view token(const string_view &str, const string_view &sep, const size_t at, const string_view &def);
|
||||
string_view token(const string_view &str, const char sep, const size_t at, const string_view &def) noexcept;
|
||||
string_view token(const string_view &str, const string_view &sep, const size_t at, const string_view &def) noexcept;
|
||||
|
||||
string_view token_last(const string_view &str, const char sep);
|
||||
string_view token_last(const string_view &str, const string_view &sep);
|
||||
|
@ -99,11 +99,11 @@ namespace ircd
|
|||
string_view token_first(const string_view &str, const char sep);
|
||||
string_view token_first(const string_view &str, const string_view &sep);
|
||||
|
||||
string_view tokens_after(const string_view &str, const char sep, const ssize_t at = 0);
|
||||
string_view tokens_after(const string_view &str, const string_view &sep, const ssize_t at = 0);
|
||||
string_view tokens_after(const string_view &str, const char sep, const ssize_t at = 0) noexcept;
|
||||
string_view tokens_after(const string_view &str, const string_view &sep, const ssize_t at = 0) noexcept;
|
||||
|
||||
string_view tokens_before(const string_view &str, const char sep, const size_t at = 0);
|
||||
string_view tokens_before(const string_view &str, const string_view &sep, const size_t at = 0);
|
||||
string_view tokens_before(const string_view &str, const char sep, const size_t at = 0) noexcept;
|
||||
string_view tokens_before(const string_view &str, const string_view &sep, const size_t at = 0) noexcept;
|
||||
}
|
||||
|
||||
template<size_t N,
|
||||
|
|
|
@ -204,7 +204,7 @@ const
|
|||
size_t j{i};
|
||||
string_view ret;
|
||||
for_each_posarg([&ret, &j]
|
||||
(const string_view &token)
|
||||
(const string_view &token) noexcept
|
||||
{
|
||||
if(j-- == 0)
|
||||
{
|
||||
|
@ -225,7 +225,7 @@ const
|
|||
{
|
||||
string_view ret;
|
||||
for_each_pararg([&ret, &arg]
|
||||
(const string_view &token)
|
||||
(const string_view &token) noexcept
|
||||
{
|
||||
if(startswith(token, arg))
|
||||
{
|
||||
|
@ -246,7 +246,7 @@ const
|
|||
{
|
||||
if(prefix && startswith(arg, prefix))
|
||||
return !for_each_pararg([&arg]
|
||||
(const string_view &token)
|
||||
(const string_view &token) noexcept
|
||||
{
|
||||
return !startswith(token, arg);
|
||||
});
|
||||
|
@ -259,7 +259,8 @@ ircd::util::params::count()
|
|||
const
|
||||
{
|
||||
size_t ret{0};
|
||||
for_each_posarg([&ret](const string_view &)
|
||||
for_each_posarg([&ret]
|
||||
(const string_view &) noexcept
|
||||
{
|
||||
++ret;
|
||||
return true;
|
||||
|
@ -273,7 +274,8 @@ ircd::util::params::count_pararg()
|
|||
const
|
||||
{
|
||||
size_t ret{0};
|
||||
for_each_pararg([&ret](const string_view &)
|
||||
for_each_pararg([&ret]
|
||||
(const string_view &) noexcept
|
||||
{
|
||||
++ret;
|
||||
return true;
|
||||
|
|
|
@ -2486,7 +2486,8 @@ ircd::cl::wait_event_callback(work &work,
|
|||
};
|
||||
|
||||
// Completion condition closure to be satisfied.
|
||||
const auto condition{[&c, &desired]() -> bool
|
||||
const auto condition{[&c, &desired]
|
||||
() noexcept -> bool
|
||||
{
|
||||
return !c.event || c.status <= desired;
|
||||
}};
|
||||
|
|
|
@ -184,7 +184,7 @@ ircd::client::wait_all()
|
|||
|
||||
static const auto is_empty
|
||||
{
|
||||
[] { return client::map.empty(); }
|
||||
[]() noexcept { return client::map.empty(); }
|
||||
};
|
||||
|
||||
while(!dock.wait_for(seconds(3), is_empty))
|
||||
|
|
|
@ -106,6 +106,7 @@ ircd::ctx::ole::offload::offload(const opts &opts,
|
|||
// synchronization we need to hit the latch from this thread.
|
||||
assert(context);
|
||||
signal(*context, [&latch]
|
||||
() noexcept
|
||||
{
|
||||
assert(!latch.is_ready());
|
||||
latch.count_down();
|
||||
|
|
18
ircd/db.cc
18
ircd/db.cc
|
@ -579,7 +579,7 @@ noexcept
|
|||
queue.size(),
|
||||
};
|
||||
|
||||
dock.wait_for(seconds(5), [this]
|
||||
dock.wait_for(seconds(5), [this]() noexcept
|
||||
{
|
||||
return queue.empty();
|
||||
});
|
||||
|
@ -640,7 +640,7 @@ size_t
|
|||
ircd::db::prefetcher::cancel(column &c)
|
||||
{
|
||||
return cancel([&c]
|
||||
(const auto &request)
|
||||
(const auto &request) noexcept
|
||||
{
|
||||
return request.cid == id(c);
|
||||
});
|
||||
|
@ -650,7 +650,7 @@ size_t
|
|||
ircd::db::prefetcher::cancel(database &d)
|
||||
{
|
||||
return cancel([&d]
|
||||
(const auto &request)
|
||||
(const auto &request) noexcept
|
||||
{
|
||||
return request.d == std::addressof(d);
|
||||
});
|
||||
|
@ -693,7 +693,7 @@ try
|
|||
{
|
||||
while(1)
|
||||
{
|
||||
dock.wait([this]
|
||||
dock.wait([this]() noexcept
|
||||
{
|
||||
if(queue.empty())
|
||||
return false;
|
||||
|
@ -893,7 +893,7 @@ ircd::db::prefetcher::wait_pending()
|
|||
fetched_counter + request_workers
|
||||
};
|
||||
|
||||
dock.wait([this, &fetched_target]
|
||||
dock.wait([this, &fetched_target]() noexcept
|
||||
{
|
||||
return this->ticker->fetched >= fetched_target;
|
||||
});
|
||||
|
@ -1415,7 +1415,7 @@ ircd::db::txn::has(const op &op,
|
|||
const
|
||||
{
|
||||
return !for_each(*this, delta_closure_bool{[&op, &col]
|
||||
(const auto &delta)
|
||||
(const auto &delta) noexcept
|
||||
{
|
||||
return std::get<delta::OP>(delta) != op &&
|
||||
std::get<delta::COL>(delta) != col;
|
||||
|
@ -1463,7 +1463,7 @@ ircd::db::txn::has(const op &op,
|
|||
const
|
||||
{
|
||||
return !for_each(*this, delta_closure_bool{[&op, &col, &key]
|
||||
(const auto &delta)
|
||||
(const auto &delta) noexcept
|
||||
{
|
||||
return std::get<delta::OP>(delta) != op &&
|
||||
std::get<delta::COL>(delta) != col &&
|
||||
|
@ -3009,7 +3009,7 @@ ircd::db::bytes_value(column &column,
|
|||
{
|
||||
size_t ret{0};
|
||||
column(key, std::nothrow, gopts, [&ret]
|
||||
(const string_view &value)
|
||||
(const string_view &value) noexcept
|
||||
{
|
||||
ret = value.size();
|
||||
});
|
||||
|
@ -4057,7 +4057,7 @@ ircd::db::count(const rocksdb::Cache &cache)
|
|||
{
|
||||
size_t ret(0);
|
||||
for_each(cache, [&ret]
|
||||
(const const_buffer &)
|
||||
(const const_buffer &) noexcept
|
||||
{
|
||||
++ret;
|
||||
});
|
||||
|
|
|
@ -297,7 +297,7 @@ ircd::db::database::mergeop final
|
|||
bool Merge(const rocksdb::Slice &, const rocksdb::Slice *, const rocksdb::Slice &, std::string *, rocksdb::Logger *) const noexcept override;
|
||||
const char *Name() const noexcept override;
|
||||
|
||||
mergeop(database *const &d, merge_closure merger = nullptr);
|
||||
mergeop(database *const &d, merge_closure merger = nullptr) noexcept;
|
||||
~mergeop() noexcept;
|
||||
};
|
||||
|
||||
|
@ -506,7 +506,7 @@ ircd::db::database::logger final
|
|||
|
||||
rocksdb::Status Close() noexcept override;
|
||||
|
||||
logger(database *const &d);
|
||||
logger(database *const &d) noexcept;
|
||||
~logger() noexcept override;
|
||||
};
|
||||
|
||||
|
|
|
@ -2144,6 +2144,7 @@ noexcept
|
|||
//
|
||||
|
||||
ircd::db::database::logger::logger(database *const &d)
|
||||
noexcept
|
||||
:rocksdb::Logger{}
|
||||
,d{d}
|
||||
{
|
||||
|
@ -2248,6 +2249,7 @@ noexcept
|
|||
|
||||
ircd::db::database::mergeop::mergeop(database *const &d,
|
||||
merge_closure merger)
|
||||
noexcept
|
||||
:d{d}
|
||||
,merger
|
||||
{
|
||||
|
|
|
@ -84,7 +84,7 @@ ircd::exec::~exec()
|
|||
noexcept try
|
||||
{
|
||||
join(SIGKILL);
|
||||
dock.wait([this]
|
||||
dock.wait([this]() noexcept
|
||||
{
|
||||
return this->pid <= 0;
|
||||
});
|
||||
|
@ -150,7 +150,7 @@ try
|
|||
};
|
||||
|
||||
//child->wait();
|
||||
dock.wait([this]
|
||||
dock.wait([this]() noexcept
|
||||
{
|
||||
return this->pid <= 0;
|
||||
});
|
||||
|
|
|
@ -648,7 +648,7 @@ ircd::fs::aio::request::queued()
|
|||
const
|
||||
{
|
||||
return !for_each_queued([this]
|
||||
(const auto &request)
|
||||
(const auto &request) noexcept
|
||||
{
|
||||
return &request != this; // true to continue and return true
|
||||
});
|
||||
|
@ -853,7 +853,7 @@ ircd::fs::aio::system::wait()
|
|||
log, "Waiting for AIO context %p", this
|
||||
};
|
||||
|
||||
dock.wait([this]
|
||||
dock.wait([this]() noexcept
|
||||
{
|
||||
return ecount == uint64_t(-1);
|
||||
});
|
||||
|
|
|
@ -478,7 +478,7 @@ ircd::fs::iou::system::wait()
|
|||
log, "Waiting for iou context %p", this
|
||||
};
|
||||
|
||||
dock.wait([this]
|
||||
dock.wait([this]() noexcept
|
||||
{
|
||||
return ev_count == uint64_t(-1);
|
||||
});
|
||||
|
|
|
@ -914,7 +914,7 @@ ircd::gpt::samp::tokenize()
|
|||
}
|
||||
|
||||
ircd::tokens(str, delim, [this, &count, &p, &phrases]
|
||||
(const string_view &phrase) -> bool
|
||||
(const string_view &phrase) noexcept -> bool
|
||||
{
|
||||
assert(!empty(phrase));
|
||||
const vector_view<u16> buf
|
||||
|
|
|
@ -590,7 +590,7 @@ ircd::ios::dispatch::dispatch(descriptor &descriptor,
|
|||
yield_t)
|
||||
:dispatch
|
||||
{
|
||||
descriptor, defer, yield, []
|
||||
descriptor, defer, yield, []() noexcept
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
|
@ -258,7 +258,7 @@ noexcept
|
|||
};
|
||||
|
||||
call_ready = false;
|
||||
call_dock.wait([]
|
||||
call_dock.wait([]() noexcept
|
||||
{
|
||||
return !call_mutex.locked();
|
||||
});
|
||||
|
|
|
@ -172,7 +172,8 @@ size_t
|
|||
ircd::mods::ldso::count()
|
||||
{
|
||||
size_t ret(0);
|
||||
for_each([&ret](const struct link_map &)
|
||||
for_each([&ret]
|
||||
(const struct link_map &) noexcept
|
||||
{
|
||||
++ret;
|
||||
return true;
|
||||
|
|
12
ircd/net.cc
12
ircd/net.cc
|
@ -643,7 +643,7 @@ const ircd::net::close_opts_default
|
|||
/// of close(). This callback does nothing.
|
||||
ircd::net::close_callback
|
||||
const ircd::net::close_ignore{[]
|
||||
(std::exception_ptr eptr)
|
||||
(std::exception_ptr eptr) noexcept
|
||||
{
|
||||
return;
|
||||
}};
|
||||
|
@ -1550,7 +1550,7 @@ try
|
|||
{
|
||||
assert(!fini);
|
||||
const auto interruption{[this]
|
||||
(ctx::ctx *const &)
|
||||
(ctx::ctx *const &) noexcept
|
||||
{
|
||||
this->cancel();
|
||||
}};
|
||||
|
@ -1742,7 +1742,7 @@ try
|
|||
|
||||
assert(!fini);
|
||||
const auto interruption{[this]
|
||||
(ctx::ctx *const &)
|
||||
(ctx::ctx *const &) noexcept
|
||||
{
|
||||
this->cancel();
|
||||
}};
|
||||
|
@ -1781,7 +1781,7 @@ try
|
|||
{
|
||||
assert(!fini);
|
||||
const auto interruption{[this]
|
||||
(ctx::ctx *const &)
|
||||
(ctx::ctx *const &) noexcept
|
||||
{
|
||||
this->cancel();
|
||||
}};
|
||||
|
@ -1887,7 +1887,7 @@ try
|
|||
assert(!fini);
|
||||
assert(!blocking(*this));
|
||||
const auto interruption{[this]
|
||||
(ctx::ctx *const &)
|
||||
(ctx::ctx *const &) noexcept
|
||||
{
|
||||
this->cancel();
|
||||
}};
|
||||
|
@ -1921,7 +1921,7 @@ try
|
|||
assert(!fini);
|
||||
assert(!blocking(*this));
|
||||
const auto interruption{[this]
|
||||
(ctx::ctx *const &)
|
||||
(ctx::ctx *const &) noexcept
|
||||
{
|
||||
this->cancel();
|
||||
}};
|
||||
|
|
|
@ -15,7 +15,8 @@ bool
|
|||
ircd::net::addrs::has_usable_ipv6_interface()
|
||||
try
|
||||
{
|
||||
return !for_each([](const addr &a)
|
||||
return !for_each([]
|
||||
(const addr &a) noexcept
|
||||
{
|
||||
if(a.family != AF_INET6)
|
||||
return true;
|
||||
|
|
|
@ -126,7 +126,7 @@ ircd::net::dns::resolver::~resolver()
|
|||
noexcept
|
||||
{
|
||||
const ctx::uninterruptible::nothrow ui;
|
||||
done.wait([this]
|
||||
done.wait([this]() noexcept
|
||||
{
|
||||
if(!tags.empty())
|
||||
log::warning
|
||||
|
@ -231,7 +231,7 @@ ircd::net::dns::resolver::sendq_worker()
|
|||
{
|
||||
while(1)
|
||||
{
|
||||
dock.wait([this]
|
||||
dock.wait([this]() noexcept
|
||||
{
|
||||
assert(sendq.empty() || !tags.empty());
|
||||
return !sendq.empty() && !server.empty();
|
||||
|
@ -289,7 +289,7 @@ ircd::net::dns::resolver::timeout_worker()
|
|||
// Dock here until somebody submits a request into the tag map. Also
|
||||
// wait until recv_idle is asserted which indicates the UDP queue has
|
||||
// been exhausted.
|
||||
dock.wait([this]
|
||||
dock.wait([this]() noexcept
|
||||
{
|
||||
return !tags.empty() && recv_idle;
|
||||
});
|
||||
|
|
|
@ -439,7 +439,7 @@ noexcept try
|
|||
if(!ctx::current)
|
||||
return;
|
||||
|
||||
joining.wait([this]
|
||||
joining.wait([this]() noexcept
|
||||
{
|
||||
return !accepting && handshaking.empty();
|
||||
});
|
||||
|
|
|
@ -153,7 +153,7 @@ ircd::net::acceptor_udp::join()
|
|||
noexcept try
|
||||
{
|
||||
interrupt();
|
||||
joining.wait([this]
|
||||
joining.wait([this]() noexcept
|
||||
{
|
||||
return waiting == 0;
|
||||
});
|
||||
|
@ -194,7 +194,7 @@ ircd::net::acceptor_udp::operator()(datagram &datagram)
|
|||
};
|
||||
|
||||
const auto interruption{[this]
|
||||
(ctx::ctx *const &)
|
||||
(ctx::ctx *const &) noexcept
|
||||
{
|
||||
this->interrupt();
|
||||
}};
|
||||
|
|
|
@ -256,7 +256,8 @@ const
|
|||
char allow_methods_buf[48];
|
||||
const string_view &allow_methods
|
||||
{
|
||||
method_list(allow_methods_buf, [&](const method &method)
|
||||
method_list(allow_methods_buf, [&]
|
||||
(const method &method) noexcept
|
||||
{
|
||||
return true;
|
||||
})
|
||||
|
@ -281,7 +282,7 @@ ircd::resource::method_list(const mutable_buffer &buf)
|
|||
const
|
||||
{
|
||||
return method_list(buf, []
|
||||
(const method &)
|
||||
(const method &) noexcept
|
||||
{
|
||||
return true;
|
||||
});
|
||||
|
@ -474,7 +475,7 @@ noexcept
|
|||
};
|
||||
|
||||
const ctx::uninterruptible::nothrow ui;
|
||||
idle_dock.wait([this]
|
||||
idle_dock.wait([this]() noexcept
|
||||
{
|
||||
return !stats || stats->pending == 0;
|
||||
});
|
||||
|
|
|
@ -637,7 +637,8 @@ try
|
|||
return {};
|
||||
|
||||
parse::buffer pb{request.in.head};
|
||||
parse::capstan pc{pb, [](char *&read, char *stop)
|
||||
parse::capstan pc{pb, []
|
||||
(char *&read, char *stop) noexcept
|
||||
{
|
||||
read = stop;
|
||||
}};
|
||||
|
@ -670,7 +671,8 @@ try
|
|||
return {};
|
||||
|
||||
parse::buffer pb{request.out.head};
|
||||
parse::capstan pc{pb, [](char *&read, char *stop)
|
||||
parse::capstan pc{pb, []
|
||||
(char *&read, char *stop) noexcept
|
||||
{
|
||||
read = stop;
|
||||
}};
|
||||
|
@ -759,7 +761,8 @@ ircd::server::peer::only_ipv6
|
|||
{
|
||||
{ "name", "ircd.server.peer.ipv6.only" },
|
||||
{ "default", net::sock_opts::IGN },
|
||||
}, []
|
||||
},
|
||||
[]() noexcept
|
||||
{
|
||||
sock_opts.v6only = ssize_t(only_ipv6);
|
||||
}
|
||||
|
@ -771,7 +774,8 @@ ircd::server::peer::sock_nodelay
|
|||
{
|
||||
{ "name", "ircd.server.peer.sock.nodelay" },
|
||||
{ "default", true },
|
||||
}, []
|
||||
},
|
||||
[]() noexcept
|
||||
{
|
||||
sock_opts.nodelay = ssize_t(sock_nodelay);
|
||||
}
|
||||
|
@ -783,7 +787,8 @@ ircd::server::peer::sock_read_bufsz
|
|||
{
|
||||
{ "name", "ircd.server.peer.sock.read.bufsz" },
|
||||
{ "default", net::sock_opts::IGN },
|
||||
}, []
|
||||
},
|
||||
[]() noexcept
|
||||
{
|
||||
sock_opts.read_bufsz = ssize_t(sock_read_bufsz);
|
||||
}
|
||||
|
@ -795,7 +800,8 @@ ircd::server::peer::sock_read_lowat
|
|||
{
|
||||
{ "name", "ircd.server.peer.sock.read.lowat" },
|
||||
{ "default", net::sock_opts::IGN },
|
||||
}, []
|
||||
},
|
||||
[]() noexcept
|
||||
{
|
||||
sock_opts.read_lowat = ssize_t(sock_read_lowat);
|
||||
}
|
||||
|
@ -807,7 +813,8 @@ ircd::server::peer::sock_write_bufsz
|
|||
{
|
||||
{ "name", "ircd.server.peer.sock.write.bufsz" },
|
||||
{ "default", net::sock_opts::IGN },
|
||||
}, []
|
||||
},
|
||||
[]() noexcept
|
||||
{
|
||||
sock_opts.write_bufsz = ssize_t(sock_write_bufsz);
|
||||
}
|
||||
|
@ -819,7 +826,8 @@ ircd::server::peer::sock_write_lowat
|
|||
{
|
||||
{ "name", "ircd.server.peer.sock.write.lowat" },
|
||||
{ "default", net::sock_opts::IGN },
|
||||
}, []
|
||||
},
|
||||
[]() noexcept
|
||||
{
|
||||
sock_opts.write_lowat = ssize_t(sock_write_lowat);
|
||||
}
|
||||
|
|
|
@ -52,6 +52,7 @@ ircd::string_view
|
|||
ircd::tokens_before(const string_view &str,
|
||||
const char sep,
|
||||
const size_t i)
|
||||
noexcept
|
||||
{
|
||||
assert(sep != '\0');
|
||||
const char _sep[2]
|
||||
|
@ -66,6 +67,7 @@ ircd::string_view
|
|||
ircd::tokens_before(const string_view &str,
|
||||
const string_view &sep,
|
||||
const size_t i)
|
||||
noexcept
|
||||
{
|
||||
using type = string_view;
|
||||
using iter = typename type::const_iterator;
|
||||
|
@ -92,6 +94,7 @@ ircd::string_view
|
|||
ircd::tokens_after(const string_view &str,
|
||||
const char sep,
|
||||
const ssize_t i)
|
||||
noexcept
|
||||
{
|
||||
assert(sep != '\0');
|
||||
const char _sep[2]
|
||||
|
@ -106,6 +109,7 @@ ircd::string_view
|
|||
ircd::tokens_after(const string_view &str,
|
||||
const string_view &sep,
|
||||
const ssize_t i)
|
||||
noexcept
|
||||
{
|
||||
using type = string_view;
|
||||
using iter = typename type::const_iterator;
|
||||
|
@ -191,7 +195,7 @@ ircd::token(const string_view &str,
|
|||
const char sep,
|
||||
const size_t i,
|
||||
const string_view &def)
|
||||
try
|
||||
noexcept try
|
||||
{
|
||||
return token(str, sep, i);
|
||||
}
|
||||
|
@ -205,7 +209,7 @@ ircd::token(const string_view &str,
|
|||
const string_view &sep,
|
||||
const size_t i,
|
||||
const string_view &def)
|
||||
try
|
||||
noexcept try
|
||||
{
|
||||
return token(str, sep, i);
|
||||
}
|
||||
|
@ -254,6 +258,7 @@ bool
|
|||
ircd::token_exists(const string_view &str,
|
||||
const char sep,
|
||||
const string_view &tok)
|
||||
noexcept
|
||||
{
|
||||
using type = string_view;
|
||||
using iter = typename type::const_iterator;
|
||||
|
@ -272,6 +277,7 @@ bool
|
|||
ircd::token_exists(const string_view &str,
|
||||
const string_view &sep,
|
||||
const string_view &tok)
|
||||
noexcept
|
||||
{
|
||||
using type = string_view;
|
||||
using iter = typename type::const_iterator;
|
||||
|
@ -289,6 +295,7 @@ ircd::token_exists(const string_view &str,
|
|||
size_t
|
||||
ircd::token_count(const string_view &str,
|
||||
const char sep)
|
||||
noexcept
|
||||
{
|
||||
using type = string_view;
|
||||
using iter = typename type::const_iterator;
|
||||
|
@ -306,6 +313,7 @@ ircd::token_count(const string_view &str,
|
|||
size_t
|
||||
ircd::token_count(const string_view &str,
|
||||
const string_view &sep)
|
||||
noexcept
|
||||
{
|
||||
using type = string_view;
|
||||
using iter = typename type::const_iterator;
|
||||
|
@ -325,6 +333,7 @@ ircd::tokens(const string_view &str,
|
|||
const char sep_,
|
||||
const mutable_buffer &buf,
|
||||
const token_view &closure)
|
||||
noexcept
|
||||
{
|
||||
assert(sep_ != '\0');
|
||||
const char _sep[2]
|
||||
|
@ -345,6 +354,7 @@ ircd::tokens(const string_view &str,
|
|||
const string_view &sep,
|
||||
const mutable_buffer &buf,
|
||||
const token_view &closure)
|
||||
noexcept
|
||||
{
|
||||
char *ptr(data(buf));
|
||||
char *const stop(data(buf) + size(buf));
|
||||
|
@ -369,6 +379,7 @@ ircd::tokens(const string_view &str,
|
|||
const char sep,
|
||||
const size_t limit,
|
||||
const token_view &closure)
|
||||
noexcept
|
||||
{
|
||||
using type = string_view;
|
||||
using iter = typename type::const_iterator;
|
||||
|
@ -393,6 +404,7 @@ ircd::tokens(const string_view &str,
|
|||
const string_view &sep,
|
||||
const size_t limit,
|
||||
const token_view &closure)
|
||||
noexcept
|
||||
{
|
||||
using type = string_view;
|
||||
using iter = typename type::const_iterator;
|
||||
|
@ -416,6 +428,7 @@ bool
|
|||
ircd::tokens(const string_view &str,
|
||||
const char sep,
|
||||
const token_view &closure)
|
||||
noexcept
|
||||
{
|
||||
using type = string_view;
|
||||
using iter = typename type::const_iterator;
|
||||
|
@ -438,6 +451,7 @@ bool
|
|||
ircd::tokens(const string_view &str,
|
||||
const string_view &sep,
|
||||
const token_view &closure)
|
||||
noexcept
|
||||
{
|
||||
using type = string_view;
|
||||
using iter = typename type::const_iterator;
|
||||
|
|
|
@ -81,12 +81,12 @@ const ircd::db::prefix_transform
|
|||
ircd::m::dbs::desc::event_refs__pfx
|
||||
{
|
||||
"_event_refs",
|
||||
[](const string_view &key)
|
||||
[](const string_view &key) noexcept
|
||||
{
|
||||
return size(key) >= sizeof(event::idx) * 2;
|
||||
},
|
||||
|
||||
[](const string_view &key)
|
||||
[](const string_view &key) noexcept
|
||||
{
|
||||
assert(size(key) >= sizeof(event::idx));
|
||||
return string_view
|
||||
|
|
|
@ -83,7 +83,7 @@ const
|
|||
{
|
||||
size_t ret(0);
|
||||
for_each([&ret]
|
||||
(const auto &, const auto &)
|
||||
(const auto &, const auto &) noexcept
|
||||
{
|
||||
++ret;
|
||||
return true;
|
||||
|
@ -97,7 +97,7 @@ ircd::m::event::horizon::has(const event::idx &event_idx)
|
|||
const
|
||||
{
|
||||
return !for_each([&event_idx]
|
||||
(const auto &, const auto &_event_idx)
|
||||
(const auto &, const auto &_event_idx) noexcept
|
||||
{
|
||||
// false to break; true to continue.
|
||||
return _event_idx == event_idx? false : true;
|
||||
|
|
|
@ -117,7 +117,7 @@ ircd::m::fed::well_known::worker_context
|
|||
decltype(ircd::m::fed::well_known::handle_quit)
|
||||
ircd::m::fed::well_known::handle_quit
|
||||
{
|
||||
run::level::QUIT, []
|
||||
run::level::QUIT, []() noexcept
|
||||
{
|
||||
worker_dock.notify_all();
|
||||
}
|
||||
|
@ -316,7 +316,7 @@ try
|
|||
run::barrier<ctx::interrupted>{};
|
||||
while(!request::list.empty() || run::level == run::level::RUN)
|
||||
{
|
||||
worker_dock.wait([]
|
||||
worker_dock.wait([]() noexcept
|
||||
{
|
||||
return !request::list.empty() || run::level != run::level::RUN;
|
||||
});
|
||||
|
|
|
@ -88,7 +88,7 @@ bool
|
|||
ircd::m::myself(const m::user::id &user_id)
|
||||
{
|
||||
return !for_each([&user_id]
|
||||
(const auto &homeserver)
|
||||
(const auto &homeserver) noexcept
|
||||
{
|
||||
return homeserver.self != user_id;
|
||||
});
|
||||
|
@ -581,7 +581,8 @@ const
|
|||
|
||||
bool dup{false}, exists{false};
|
||||
if(!force)
|
||||
get(key, [&exists, &dup, &val](const string_view &val_)
|
||||
get(key, [&exists, &dup, &val]
|
||||
(const string_view &val_) noexcept
|
||||
{
|
||||
exists = true;
|
||||
dup = val == val_;
|
||||
|
|
|
@ -290,7 +290,7 @@ try
|
|||
// All rooms have been submitted to the pool but the pool workers might
|
||||
// still be busy. If we unwind now the pool's dtor will kill the workers
|
||||
// so we synchronize their completion here.
|
||||
dock.wait([]
|
||||
dock.wait([]() noexcept
|
||||
{
|
||||
return complete >= count;
|
||||
});
|
||||
|
|
|
@ -157,7 +157,7 @@ ircd::m::node::mitsein::has(const m::node &other,
|
|||
const
|
||||
{
|
||||
return !for_each(other, membership, []
|
||||
(const auto &, const auto &)
|
||||
(const auto &, const auto &) noexcept
|
||||
{
|
||||
return false;
|
||||
});
|
||||
|
@ -170,7 +170,7 @@ const
|
|||
{
|
||||
size_t ret(0);
|
||||
for_each(other, membership, [&ret]
|
||||
(const auto &, const auto &)
|
||||
(const auto &, const auto &) noexcept
|
||||
{
|
||||
++ret;
|
||||
return true;
|
||||
|
|
|
@ -791,7 +791,7 @@ ircd::m::contains(const id::room &room_id,
|
|||
const event::idx &event_idx)
|
||||
{
|
||||
return m::query(event_idx, "room_id", [&room_id]
|
||||
(const string_view &_room_id) -> bool
|
||||
(const string_view &_room_id) noexcept -> bool
|
||||
{
|
||||
return _room_id == room_id;
|
||||
});
|
||||
|
@ -1088,7 +1088,7 @@ const
|
|||
{
|
||||
size_t ret(0);
|
||||
for_each(event::closure_idx_bool{[&ret]
|
||||
(const event::idx &event_idx)
|
||||
(const event::idx &event_idx) noexcept
|
||||
{
|
||||
++ret;
|
||||
return true;
|
||||
|
@ -1103,7 +1103,7 @@ const
|
|||
{
|
||||
size_t ret(0);
|
||||
for_each(type, event::closure_idx_bool{[&ret]
|
||||
(const event::idx &event_idx)
|
||||
(const event::idx &event_idx) noexcept
|
||||
{
|
||||
++ret;
|
||||
return true;
|
||||
|
@ -1122,7 +1122,7 @@ const
|
|||
(const event::idx &event_idx)
|
||||
{
|
||||
ret += query(std::nothrow, event_idx, "state_key", [&state_key]
|
||||
(const string_view &_state_key) -> bool
|
||||
(const string_view &_state_key) noexcept -> bool
|
||||
{
|
||||
return state_key == _state_key;
|
||||
});
|
||||
|
@ -1201,7 +1201,7 @@ const
|
|||
{
|
||||
event::idx ret{0};
|
||||
for_each(type, event::closure_idx_bool{[&ret]
|
||||
(const event::idx &event_idx)
|
||||
(const event::idx &event_idx) noexcept
|
||||
{
|
||||
ret = event_idx;
|
||||
return false;
|
||||
|
|
|
@ -105,7 +105,7 @@ try
|
|||
{
|
||||
for(;; ctx::sleep(milliseconds(timeout_int)))
|
||||
{
|
||||
dock.wait([]
|
||||
dock.wait([]() noexcept
|
||||
{
|
||||
return !typists.empty();
|
||||
});
|
||||
|
|
|
@ -45,7 +45,7 @@ const
|
|||
|
||||
const auto match
|
||||
{
|
||||
[this](const string_view &sender)
|
||||
[this](const string_view &sender) noexcept
|
||||
{
|
||||
return sender == this->user.user_id;
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ const
|
|||
};
|
||||
|
||||
return event_idx && m::query(std::nothrow, event_idx, "sender", [this]
|
||||
(const string_view &sender)
|
||||
(const string_view &sender) noexcept
|
||||
{
|
||||
return sender == this->user.user_id;
|
||||
});
|
||||
|
@ -120,7 +120,7 @@ const
|
|||
{
|
||||
const auto match
|
||||
{
|
||||
[this](const string_view &sender)
|
||||
[this](const string_view &sender) noexcept
|
||||
{
|
||||
return sender == this->user.user_id;
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ noexcept
|
|||
sequence::pending,
|
||||
};
|
||||
|
||||
vm::dock.wait([]
|
||||
vm::dock.wait([]() noexcept
|
||||
{
|
||||
return !eval::executing && !eval::injecting;
|
||||
});
|
||||
|
@ -81,7 +81,7 @@ noexcept
|
|||
sequence::uncommitted,
|
||||
};
|
||||
|
||||
sequence::dock.wait([]
|
||||
sequence::dock.wait([]() noexcept
|
||||
{
|
||||
return !sequence::pending;
|
||||
});
|
||||
|
|
|
@ -153,7 +153,7 @@ noexcept
|
|||
{
|
||||
eval *ret {nullptr};
|
||||
eval::for_each(&c, [&ret, &a]
|
||||
(eval &eval)
|
||||
(eval &eval) noexcept
|
||||
{
|
||||
const bool cond
|
||||
{
|
||||
|
@ -377,7 +377,8 @@ ircd::m::vm::eval *
|
|||
ircd::m::vm::eval::find(const event::id &event_id)
|
||||
{
|
||||
eval *ret{nullptr};
|
||||
for_each([&event_id, &ret](eval &e)
|
||||
for_each([&event_id, &ret]
|
||||
(eval &e) noexcept
|
||||
{
|
||||
if(e.event_)
|
||||
if(e.event_->event_id == event_id)
|
||||
|
@ -393,7 +394,8 @@ size_t
|
|||
ircd::m::vm::eval::count(const event::id &event_id)
|
||||
{
|
||||
size_t ret(0);
|
||||
for_each([&event_id, &ret](eval &e)
|
||||
for_each([&event_id, &ret]
|
||||
(eval &e) noexcept
|
||||
{
|
||||
if(e.event_)
|
||||
if(e.event_->event_id == event_id)
|
||||
|
@ -410,7 +412,7 @@ ircd::m::vm::eval::find_pdu(const event::id &event_id)
|
|||
{
|
||||
const m::event *ret{nullptr};
|
||||
for_each_pdu([&ret, &event_id]
|
||||
(const m::event &event)
|
||||
(const m::event &event) noexcept
|
||||
{
|
||||
if(event.event_id != event_id)
|
||||
return true;
|
||||
|
|
|
@ -250,7 +250,7 @@ ircd::m::vm::inject(eval &eval,
|
|||
{
|
||||
event, opts.prop_mask.has("depth") && !event.has("depth"),
|
||||
{
|
||||
"depth", [&depth]
|
||||
"depth", [&depth]() noexcept
|
||||
{
|
||||
// When the depth value is undefined_number it was intended
|
||||
// that no depth should appear in the event JSON so that value
|
||||
|
|
|
@ -194,7 +194,7 @@ get__events(client &client,
|
|||
)
|
||||
};
|
||||
|
||||
dock.wait_for(timeout, [&event, &eid]
|
||||
dock.wait_for(timeout, [&event, &eid]() noexcept
|
||||
{
|
||||
return !empty(event) && !empty(eid);
|
||||
});
|
||||
|
|
|
@ -104,7 +104,7 @@ put__profile(client &client,
|
|||
|
||||
bool modified{true};
|
||||
profile.get(std::nothrow, param, [&value, &modified]
|
||||
(const string_view ¶m, const string_view &existing)
|
||||
(const string_view ¶m, const string_view &existing) noexcept
|
||||
{
|
||||
modified = existing != value;
|
||||
});
|
||||
|
@ -202,7 +202,7 @@ get__profile(client &client,
|
|||
const bool empty
|
||||
{
|
||||
profile.for_each([]
|
||||
(const string_view &, const string_view &)
|
||||
(const string_view &, const string_view &) noexcept
|
||||
{
|
||||
return false;
|
||||
})
|
||||
|
|
|
@ -279,7 +279,7 @@ check_transaction_id(const m::user::id &user_id,
|
|||
{
|
||||
static const auto type_match
|
||||
{
|
||||
[](const string_view &type)
|
||||
[](const string_view &type) noexcept
|
||||
{
|
||||
return type == "ircd.client.txnid";
|
||||
}
|
||||
|
|
|
@ -43,7 +43,9 @@ namespace ircd::m::sync::longpoll
|
|||
ircd::mapi::header
|
||||
IRCD_MODULE
|
||||
{
|
||||
"Client 6.2.1 :Sync", nullptr, []
|
||||
"Client 6.2.1 :Sync",
|
||||
nullptr,
|
||||
[]() noexcept
|
||||
{
|
||||
ircd::m::sync::longpoll::fini();
|
||||
}
|
||||
|
@ -635,7 +637,7 @@ catch(const std::exception &e)
|
|||
int
|
||||
ircd::m::sync::longpoll::poll(data &data)
|
||||
{
|
||||
const auto ready{[&data]
|
||||
const auto ready{[&data]() noexcept
|
||||
{
|
||||
assert(data.range.second <= m::vm::sequence::retired + 1);
|
||||
return data.range.second <= m::vm::sequence::retired;
|
||||
|
|
|
@ -574,7 +574,7 @@ console_cmd__restart(opt &out, const string_view &line)
|
|||
|
||||
size_t swargs(0), posargs(0);
|
||||
ircd::tokens(line, ' ', [&swargs, &posargs]
|
||||
(const auto &token)
|
||||
(const string_view &token)
|
||||
{
|
||||
swargs += startswith(token, '-');
|
||||
posargs += !startswith(token, '-');
|
||||
|
@ -1871,6 +1871,7 @@ console_cmd__ios__depth(opt &out, const string_view &line)
|
|||
{
|
||||
started = ios::epoch();
|
||||
ios::dispatch(dispatch_desc, ios::yield, [&executed]
|
||||
() noexcept
|
||||
{
|
||||
executed = ios::epoch();
|
||||
});
|
||||
|
@ -1888,6 +1889,7 @@ console_cmd__ios__depth(opt &out, const string_view &line)
|
|||
{
|
||||
started = ios::epoch();
|
||||
ios::dispatch(post_desc, ios::defer, ios::yield, [&executed]
|
||||
() noexcept
|
||||
{
|
||||
executed = ios::epoch();
|
||||
});
|
||||
|
@ -1905,6 +1907,7 @@ console_cmd__ios__depth(opt &out, const string_view &line)
|
|||
{
|
||||
started = ios::epoch();
|
||||
ios::dispatch(defer_desc, ios::defer, ios::yield, [&executed]
|
||||
() noexcept
|
||||
{
|
||||
executed = ios::epoch();
|
||||
});
|
||||
|
@ -1980,6 +1983,7 @@ console_cmd__ios__latency(opt &out, const string_view &line)
|
|||
asm volatile ("lfence");
|
||||
|
||||
ios::dispatch(dispatch_desc, ios::yield, [&executed]
|
||||
() noexcept
|
||||
{
|
||||
__sync_synchronize();
|
||||
asm volatile ("lfence");
|
||||
|
@ -2010,6 +2014,7 @@ console_cmd__ios__latency(opt &out, const string_view &line)
|
|||
asm volatile ("lfence");
|
||||
|
||||
ios::dispatch(post_desc, ios::defer, ios::yield, [&executed]
|
||||
() noexcept
|
||||
{
|
||||
__sync_synchronize();
|
||||
asm volatile ("lfence");
|
||||
|
@ -2040,6 +2045,7 @@ console_cmd__ios__latency(opt &out, const string_view &line)
|
|||
asm volatile ("lfence");
|
||||
|
||||
ios::dispatch(defer_desc, ios::defer, ios::yield, [&executed]
|
||||
() noexcept
|
||||
{
|
||||
__sync_synchronize();
|
||||
asm volatile ("lfence");
|
||||
|
@ -4776,7 +4782,7 @@ console_cmd__db__sst__scan__count(opt &out, const string_view &line)
|
|||
db::database::sst::scan
|
||||
{
|
||||
database, path, [&out, &i]
|
||||
(const auto &key, const auto &val)
|
||||
(const auto &key, const auto &val) noexcept
|
||||
{
|
||||
++i;
|
||||
return true;
|
||||
|
@ -6359,7 +6365,7 @@ console_cmd__net__host(opt &out, const string_view &line)
|
|||
net::dns::resolve(hostport, opts, cbarr);
|
||||
|
||||
const ctx::uninterruptible ui;
|
||||
dock.wait([&done]
|
||||
dock.wait([&done]() noexcept
|
||||
{
|
||||
return done;
|
||||
});
|
||||
|
@ -7787,7 +7793,7 @@ console_cmd__events__type__counts(opt &out, const string_view &line)
|
|||
{
|
||||
size_t i(0);
|
||||
m::events::type::for_each_in(type, [&i]
|
||||
(const string_view &type, const m::event::idx &event_idx)
|
||||
(const string_view &type, const m::event::idx &event_idx) noexcept
|
||||
{
|
||||
++i;
|
||||
return true;
|
||||
|
@ -10052,7 +10058,7 @@ console_cmd__room__members__origin(opt &out, const string_view &line)
|
|||
const bool same_origin
|
||||
{
|
||||
m::query(std::nothrow, event_idx, "origin", [&origin]
|
||||
(const auto &_origin)
|
||||
(const auto &_origin) noexcept
|
||||
{
|
||||
return _origin == origin;
|
||||
})
|
||||
|
@ -11572,6 +11578,7 @@ console_cmd__room__type__count(opt &out, const string_view &line)
|
|||
size_t ret(0);
|
||||
events.for_each([&ret]
|
||||
(const string_view &type, const uint64_t &depth, const m::event::idx &event_idx)
|
||||
noexcept
|
||||
{
|
||||
++ret;
|
||||
return true;
|
||||
|
@ -12940,7 +12947,8 @@ console_cmd__user__read__count(opt &out, const string_view &line)
|
|||
|
||||
size_t count {0};
|
||||
space.for_each("ircd.read", room_id, [&out, &count]
|
||||
(const auto &type, const auto &state_key, const auto &depth, const auto &event_idx) -> bool
|
||||
(const auto &type, const auto &state_key, const auto &depth, const auto &event_idx)
|
||||
noexcept -> bool
|
||||
{
|
||||
++count;
|
||||
return true;
|
||||
|
|
|
@ -101,7 +101,7 @@ get__make_join(client &client,
|
|||
const bool version_mismatch
|
||||
{
|
||||
request.query.for_each("ver", [&room_version]
|
||||
(const auto &val)
|
||||
(const auto &val) noexcept
|
||||
{
|
||||
return val.second != room_version;
|
||||
})
|
||||
|
|
|
@ -224,7 +224,7 @@ handle_put(client &client,
|
|||
size_t evals{0};
|
||||
bool txn_in_progress{false};
|
||||
m::vm::eval::for_each([&txn_id, &request, &evals, &txn_in_progress]
|
||||
(const auto &eval)
|
||||
(const auto &eval) noexcept
|
||||
{
|
||||
assert(eval.opts);
|
||||
const bool match_node
|
||||
|
|
|
@ -180,7 +180,7 @@ send_worker()
|
|||
{
|
||||
while(1) try
|
||||
{
|
||||
notified_dock.wait([]
|
||||
notified_dock.wait([]() noexcept
|
||||
{
|
||||
return !notified_queue.empty();
|
||||
});
|
||||
|
@ -503,7 +503,7 @@ recv_worker()
|
|||
{
|
||||
while(1)
|
||||
{
|
||||
recv_action.wait([]
|
||||
recv_action.wait([]() noexcept
|
||||
{
|
||||
return !txns.empty();
|
||||
});
|
||||
|
|
|
@ -84,7 +84,7 @@ post__user_keys_claim(client &client,
|
|||
const json::string &algorithm{algorithm_};
|
||||
const json::string &device_id{device_id_};
|
||||
const auto match{[&device_id]
|
||||
(const string_view &state_key)
|
||||
(const string_view &state_key) noexcept
|
||||
{
|
||||
return state_key == device_id;
|
||||
}};
|
||||
|
|
|
@ -211,7 +211,7 @@ try
|
|||
|
||||
auto since {vm::sequence::retired}; do
|
||||
{
|
||||
worker_dock.wait([&since]
|
||||
worker_dock.wait([&since]() noexcept
|
||||
{
|
||||
return since < vm::sequence::retired;
|
||||
});
|
||||
|
|
|
@ -566,7 +566,7 @@ command__read(const mutable_buffer &buf,
|
|||
|
||||
// return true if the expression is not matched for this room.
|
||||
const auto without_match{[&match]
|
||||
(const string_view &key, const json::object &object)
|
||||
(const string_view &key, const json::object &object) noexcept
|
||||
{
|
||||
return !match(key);
|
||||
}};
|
||||
|
|
|
@ -241,12 +241,12 @@ _listener_allow
|
|||
{
|
||||
while(1)
|
||||
{
|
||||
client::dock.wait([]
|
||||
client::dock.wait([]() noexcept
|
||||
{
|
||||
return !client::pool.avail();
|
||||
});
|
||||
|
||||
client::dock.wait([]
|
||||
client::dock.wait([]() noexcept
|
||||
{
|
||||
if(!client::pool.avail())
|
||||
return false;
|
||||
|
|
|
@ -65,7 +65,7 @@ ircd::net::dns::cache::fini()
|
|||
waiting.size(),
|
||||
};
|
||||
|
||||
dock.wait([]
|
||||
dock.wait([]() noexcept
|
||||
{
|
||||
return waiting.empty();
|
||||
});
|
||||
|
|
|
@ -1419,7 +1419,7 @@ github_handle__status(std::ostream &out,
|
|||
|
||||
static const auto type_match
|
||||
{
|
||||
[](const string_view &type)
|
||||
[](const string_view &type) noexcept
|
||||
{
|
||||
return type == "m.room.message";
|
||||
}
|
||||
|
@ -1427,7 +1427,7 @@ github_handle__status(std::ostream &out,
|
|||
|
||||
const auto user_match
|
||||
{
|
||||
[&_webhook_user](const string_view &sender)
|
||||
[&_webhook_user](const string_view &sender) noexcept
|
||||
{
|
||||
return sender && sender == _webhook_user;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue