0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-09-27 11:18:51 +02:00

ircd::server: Add conf item to toggle whole unit.

This commit is contained in:
Jason Volk 2020-11-02 12:22:21 -08:00
parent b4613b8132
commit 857979744f
2 changed files with 17 additions and 1 deletions

View file

@ -25,6 +25,8 @@ namespace ircd::server
IRCD_EXCEPTION(error, buffer_overrun);
IRCD_EXCEPTION(error, unavailable);
IRCD_EXCEPTION(error, canceled);
extern conf::item<bool> enable;
}
#include "tag.h"

View file

@ -36,6 +36,14 @@ ircd::server::log
decltype(ircd::server::dock)
ircd::server::dock;
decltype(ircd::server::enable)
ircd::server::enable
{
{ "name", "ircd.server.enable" },
{ "default", true },
{ "persist", false },
};
decltype(ircd::server::close_all_timeout)
ircd::server::close_all_timeout
{
@ -510,10 +518,16 @@ ircd::server::submit(const hostport &hostport,
request &request)
{
assert(request.tag == nullptr);
if(unlikely(!server::enable))
throw unavailable
{
"Remote server requests are disabled by the configuration."
};
if(unlikely(ircd::run::level != ircd::run::level::RUN))
throw unavailable
{
"Unable to fulfill requests at this time."
"Unable to fulfill any further requests."
};
auto &peer