0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-08 03:28:40 +02:00

modules/client/sync: Reorg / deinline sync args related.

This commit is contained in:
Jason Volk 2019-01-26 13:19:16 -08:00
parent a30c808b0e
commit 80b3cd678e
2 changed files with 47 additions and 41 deletions

View file

@ -35,27 +35,6 @@ on the server, and then continue to call this API to get incremental deltas
to the state, and to receive new messages.
)"};
ircd::conf::item<ircd::milliseconds>
ircd::m::sync::args::timeout_max
{
{ "name", "ircd.client.sync.timeout.max" },
{ "default", 15 * 1000L },
};
ircd::conf::item<ircd::milliseconds>
ircd::m::sync::args::timeout_min
{
{ "name", "ircd.client.sync.timeout.min" },
{ "default", 5 * 1000L },
};
ircd::conf::item<ircd::milliseconds>
ircd::m::sync::args::timeout_default
{
{ "name", "ircd.client.sync.timeout.default" },
{ "default", 10 * 1000L },
};
decltype(ircd::m::sync::flush_hiwat)
ircd::m::sync::flush_hiwat
{
@ -402,3 +381,48 @@ ircd::m::sync::longpoll::handle(data &data,
{
return false;
}
//
// sync/args.h
//
ircd::conf::item<ircd::milliseconds>
ircd::m::sync::args::timeout_max
{
{ "name", "ircd.client.sync.timeout.max" },
{ "default", 15 * 1000L },
};
ircd::conf::item<ircd::milliseconds>
ircd::m::sync::args::timeout_min
{
{ "name", "ircd.client.sync.timeout.min" },
{ "default", 5 * 1000L },
};
ircd::conf::item<ircd::milliseconds>
ircd::m::sync::args::timeout_default
{
{ "name", "ircd.client.sync.timeout.default" },
{ "default", 10 * 1000L },
};
//
// args::args
//
ircd::m::sync::args::args(const resource::request &request)
try
:request
{
request
}
{
}
catch(const bad_lex_cast &e)
{
throw m::BAD_REQUEST
{
"Since parameter invalid :%s", e.what()
};
}

View file

@ -77,11 +77,8 @@ namespace ircd::m::sync::polylog
static bool handle(data &);
}
/// Argument parser for the client's /sync request
struct ircd::m::sync::args
{
args(const resource::request &request);
static conf::item<milliseconds> timeout_max;
static conf::item<milliseconds> timeout_min;
static conf::item<milliseconds> timeout_default;
@ -132,21 +129,6 @@ struct ircd::m::sync::args
// marked as being online when it uses this API. One of: ["offline"]
request.query.get("set_presence", true)
};
};
inline
ircd::m::sync::args::args(const resource::request &request)
try
:request
{
request
}
{
}
catch(const bad_lex_cast &e)
{
throw m::BAD_REQUEST
{
"Since parameter invalid :%s", e.what()
};
}
args(const resource::request &request);
};