![SWC-DB logo](logo.svg) |
SWC-DB
v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
|
Go to the documentation of this file.
6 #ifndef swcdb_ranger_AppContext_h
7 #define swcdb_ranger_AppContext_h
35 namespace SWC {
namespace Ranger {
41 typedef std::shared_ptr<AppContext>
Ptr;
48 settings->get_str(
"swc.rgr.cfg",
""),
57 settings->get_bool(
"swc.rgr.concurrency.relative"),
58 settings->get_i32(
"swc.rgr.clients.handlers")
77 "swc.cfg.dyn.period");
89 std::shared_ptr<std::thread> d(
new std::thread);
90 *d.get() = std::thread([d, app]{ app->stop(); });
99 Env::Config::settings()->get<Config::Property::Value_enum_g>(
100 "swc.rgr.comm.encoder")),
107 void init(
const std::string& host,
119 m_metrics->configure_rgr(host.c_str(), endpoints);
131 m_srv->connection_add(conn);
137 m_srv->connection_del(conn);
145 #if defined(SWC_ENABLE_SANITIZER)
147 return conn->do_close();
240 m_metrics->net->command(conn, ev->header.command);
258 m_metrics->net->accepted(endpoint, secure);
266 Task(
AppContext* a_ptr) noexcept : ptr(a_ptr) { }
267 void operator()(
const std::error_code& ec,
const int &sig) {
268 if(ec == asio::error::operation_aborted)
271 sig, ec.message().c_str());
278 sig, ec.message().c_str());
283 sig, ec.message().c_str());
301 #if defined(SWC_ENABLE_SANITIZER)
314 #if defined(SWC_ENABLE_SANITIZER)
315 std::this_thread::sleep_for(std::chrono::seconds(2));
332 std::shared_ptr<Comm::IoContext::ExecutorWorkGuard>
m_guard;
341 #endif // swcdb_ranger_AppContext_h
static void init(const SWC::Config::Settings::Ptr &settings, FS::Type typ)
void column_compact(const ConnHandlerPtr &conn, const Event::Ptr &ev)
Type fs_type(const std::string &fs_name)
static SWC_CAN_INLINE client::Clients::Ptr & get() noexcept
#define SWC_LOGF(priority, fmt,...)
Comm::server::SerializedServer::Ptr m_srv
std::shared_ptr< ContextManager > Ptr
static SWC_CAN_INLINE DB::RgrData * rgr_data() noexcept
static SWC::Config::Settings::Ptr & settings()
void handle_established(Comm::ConnHandlerPtr conn) override
asio::ip::tcp::endpoint EndPoint
void shutting_down(const std::error_code &ec, const int &sig)
static SWC_CAN_INLINE FS::Interface::Ptr & interface() noexcept
void assign_id(const ConnHandlerPtr &conn, const Event::Ptr &ev, Mngr::Req::RgrMngId::Ptr id_mngr)
std::shared_ptr< ContextBroker > Ptr
void range_unload(const ConnHandlerPtr &conn, const Event::Ptr &ev)
static void init(const client::Clients::Ptr &clients)
Comm::Protocol::Mngr::Req::RgrMngId::Ptr id_mngr
std::shared_ptr< AppContext > Ptr
void range_query_update(const ConnHandlerPtr &conn, const Event::Ptr &ev)
static SWC_SHOULD_NOT_INLINE Ptr make()
#define SWC_LOG(priority, message)
void range_is_loaded(const ConnHandlerPtr &conn, const Event::Ptr &ev)
The SWC-DB C++ namespace 'SWC'.
void net_bytes_received(const Comm::ConnHandlerPtr &conn, size_t b) noexcept override
void column_update(const ConnHandlerPtr &conn, const Event::Ptr &ev)
void not_implemented(const ConnHandlerPtr &conn, const Event::Ptr &ev)
void net_accepted(const Comm::EndPoint &endpoint, bool secure) noexcept override
std::shared_ptr< SerializedServer > Ptr
void set_srv(Comm::server::SerializedServer::Ptr srv)
void init(const std::string &host, const Comm::EndPoints &endpoints) override
std::shared_ptr< Reporting > Ptr
std::shared_ptr< ConnHandler > ConnHandlerPtr
std::shared_ptr< AppContext > Ptr
#define SWC_QUICK_EXIT(_CODE_)
static void reset() noexcept
void column_delete(const ConnHandlerPtr &conn, const Event::Ptr &ev)
static SWC_CAN_INLINE bool is_shuttingdown() noexcept
void net_bytes_sent(const Comm::ConnHandlerPtr &conn, size_t b) noexcept override
static void reset() noexcept
static Ptr make(const Config::Settings &settings, const Comm::IoContextPtr &io_ctx, const ContextManager::Ptr &mngr_ctx, const ContextRanger::Ptr &rgr_ctx, const ContextBroker::Ptr &bkr_ctx)
Comm::EndPoints endpoints
std::shared_ptr< Event > Ptr
static void wait_if_in_process()
static SWC_CAN_INLINE void post(T_Handler &&handler)
std::shared_ptr< RgrMngId > Ptr
void handle(Comm::ConnHandlerPtr conn, const Comm::Event::Ptr &ev) override
void handle_disconnect(Comm::ConnHandlerPtr conn) noexcept override
std::shared_ptr< Comm::IoContext::ExecutorWorkGuard > m_guard
static IoContextPtr make(std::string &&_name, int32_t size)
static void shuttingdown()
Metric::Reporting::Ptr m_metrics
static SWC_CAN_INLINE Comm::IoContextPtr io() noexcept
static void reset() noexcept
virtual ~AppContext() noexcept
void columns_unload(const ConnHandlerPtr &conn, const Event::Ptr &ev)