diff --git a/modules/m_fetch.cc b/modules/m_fetch.cc index 0d9887071..83eca3eef 100644 --- a/modules/m_fetch.cc +++ b/modules/m_fetch.cc @@ -1,14 +1,54 @@ // Matrix Construct // // Copyright (C) Matrix Construct Developers, Authors & Contributors -// Copyright (C) 2016-2018 Jason Volk +// Copyright (C) 2016-2019 Jason Volk // // Permission to use, copy, modify, and/or distribute this software for any // purpose with or without fee is hereby granted, provided that the above // copyright notice and this permission notice is present in all copies. The // full license for this software is available in the LICENSE file. -#include "m_fetch.h" +namespace ircd::m::fetch +{ + static bool operator<(const request &a, const request &b) noexcept; + static bool operator<(const request &a, const string_view &b) noexcept; + static bool operator<(const string_view &a, const request &b) noexcept; + + extern ctx::dock dock; + extern ctx::mutex requests_mutex; + extern std::set> requests; + extern std::multimap rooms; + extern ctx::context request_context; + extern conf::item requests_max; + extern conf::item auth_timeout; + extern conf::item timeout; + extern conf::item enable; + extern log::log log; + + static bool timedout(const request &, const time_t &now); + static string_view select_origin(request &, const string_view &); + static string_view select_random_origin(request &); + static void finish(request &); + static void retry(request &); + static bool start(request &, m::v1::event::opts &); + static bool start(request &); + static bool handle(request &); + + static void request_handle(const decltype(requests)::iterator &); + static void request_handle(); + static size_t request_cleanup(); + static void request_worker(); + + template + static ctx::future + submit(const event::id &, + const room::id &, + const size_t &bufsz = 8_KiB, + args&&...); + + static void init(); + static void fini(); +} ircd::mapi::header IRCD_MODULE diff --git a/modules/m_fetch.h b/modules/m_fetch.h deleted file mode 100644 index a1dfdf8f6..000000000 --- a/modules/m_fetch.h +++ /dev/null @@ -1,52 +0,0 @@ -// Matrix Construct -// -// Copyright (C) Matrix Construct Developers, Authors & Contributors -// Copyright (C) 2016-2018 Jason Volk -// -// Permission to use, copy, modify, and/or distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice is present in all copies. The -// full license for this software is available in the LICENSE file. - -// Fetch unit state -namespace ircd::m::fetch -{ - static bool operator<(const request &a, const request &b) noexcept; - static bool operator<(const request &a, const string_view &b) noexcept; - static bool operator<(const string_view &a, const request &b) noexcept; - - extern ctx::dock dock; - extern ctx::mutex requests_mutex; - extern std::set> requests; - extern std::multimap rooms; - extern ctx::context request_context; - extern conf::item requests_max; - extern conf::item auth_timeout; - extern conf::item timeout; - extern conf::item enable; - extern log::log log; - - static bool timedout(const request &, const time_t &now); - static string_view select_origin(request &, const string_view &); - static string_view select_random_origin(request &); - static void finish(request &); - static void retry(request &); - static bool start(request &, m::v1::event::opts &); - static bool start(request &); - static bool handle(request &); - - static void request_handle(const decltype(requests)::iterator &); - static void request_handle(); - static size_t request_cleanup(); - static void request_worker(); - - template - static ctx::future - submit(const event::id &, - const room::id &, - const size_t &bufsz = 8_KiB, - args&&...); - - static void init(); - static void fini(); -}