#include <swcdb/db/client/Query/Select/Handlers/Common.h>
Public Types | |
typedef std::shared_ptr< Common > | Ptr |
typedef std::function< void(Ptr)> | Cb_t |
Public Types inherited from SWC::client::Query::Select::Handlers::BaseUnorderedMap | |
typedef std::shared_ptr< BaseUnorderedMap > | Ptr |
Public Types inherited from SWC::client::Query::Select::Handlers::Base | |
typedef std::shared_ptr< Base > | Ptr |
Public Member Functions | |
Common (const Clients::Ptr &clients, Cb_t &&cb, bool rsp_partials=false, const Comm::IoContextPtr &io=nullptr, Clients::Flag executor=Clients::DEFAULT) noexcept | |
virtual | ~Common () noexcept |
virtual bool | valid () noexcept override |
virtual bool | add_cells (const cid_t cid, StaticBuffer &buffer, bool reached_limit, DB::Specs::Interval &interval) override |
virtual void | get_cells (const cid_t cid, DB::Cells::Result &cells) override |
virtual void | free (const cid_t cid) override |
virtual void | response (int err) override |
void | wait () |
Public Member Functions inherited from SWC::client::Query::Select::Handlers::BaseUnorderedMap | |
SWC_CAN_INLINE | BaseUnorderedMap (const Clients::Ptr &a_clients, Clients::Flag a_executor=Clients::DEFAULT) noexcept |
virtual | ~BaseUnorderedMap () noexcept |
virtual void | error (const cid_t cid, int err) override |
virtual size_t | get_size_bytes () noexcept override |
void | add_column (const cid_t cid) |
Rsp::Ptr & | get_columnn (const cid_t cid) |
SWC_CAN_INLINE size_t | get_size (const cid_t cid) |
bool | empty () noexcept |
cids_t | get_cids () |
void | remove (const cid_t cid) |
virtual void | error (const cid_t cid, int err)=0 |
virtual int | error () noexcept |
virtual void | error (int err) noexcept |
Public Member Functions inherited from SWC::client::Query::Select::Handlers::Base | |
SWC_CAN_INLINE | Base (const Clients::Ptr &a_clients, Clients::Flag a_executor=Clients::DEFAULT) noexcept |
Base (Base &&)=delete | |
Base (const Base &)=delete | |
Base & | operator= (const Base &)=delete |
Base & | operator= (Base &&)=delete |
virtual void | error (int err) noexcept |
SWC_CAN_INLINE void | scan (const DB::Schema::Ptr &schema, const DB::Specs::Interval &intval) |
SWC_CAN_INLINE void | scan (const DB::Schema::Ptr &schema, DB::Specs::Interval &&intval) |
SWC_CAN_INLINE void | scan (DB::Types::KeySeq key_seq, cid_t cid, const DB::Specs::Interval &intval) |
SWC_CAN_INLINE void | scan (DB::Types::KeySeq key_seq, cid_t cid, DB::Specs::Interval &&intval) |
SWC_CAN_INLINE void | scan (int &err, const DB::Specs::Scan &specs) |
SWC_CAN_INLINE void | scan (int &err, DB::Specs::Scan &&specs) |
Static Public Member Functions | |
static SWC_CAN_INLINE Ptr | make (const Clients::Ptr &clients, Cb_t &&cb=nullptr, bool rsp_partials=false, const Comm::IoContextPtr &io=nullptr, Clients::Flag executor=Clients::DEFAULT) |
Public Attributes | |
Core::AtomicBool | valid_state |
Public Attributes inherited from SWC::client::Query::Select::Handlers::Base | |
Clients::Ptr | clients |
Profiling | profile |
Core::Atomic< int > | state_error |
Core::CompletionCounter< uint64_t > | completion |
Core::Atomic< uint32_t > | timeout |
Core::Atomic< uint32_t > | buff_sz |
Core::Atomic< uint8_t > | buff_ahead |
const Clients::Flag | executor |
Protected Attributes | |
std::mutex | m_mutex |
Private Member Functions | |
void | response_partials () |
bool | wait_on_partials () |
void | send_result () |
Private Attributes | |
const Cb_t | m_cb |
Comm::IoContextPtr | m_dispatcher_io |
const bool | m_notify |
std::condition_variable | m_cv |
Core::StateRunning | m_sending_result |
Additional Inherited Members | |
Protected Member Functions inherited from SWC::client::Query::Select::Handlers::Base | |
virtual void | _execute (DB::Types::KeySeq key_seq, cid_t cid, const DB::Specs::Interval &intval) |
virtual void | _execute (DB::Types::KeySeq key_seq, cid_t cid, DB::Specs::Interval &&intval) |
virtual void | _execute (int &err, const DB::Specs::Scan &specs) |
virtual void | _execute (int &err, DB::Specs::Scan &&specs) |
virtual | ~Base () noexcept |
typedef std::function<void(Ptr)> SWC::client::Query::Select::Handlers::Common::Cb_t |
typedef std::shared_ptr<Common> SWC::client::Query::Select::Handlers::Common::Ptr |
|
noexcept |
|
inlinevirtualnoexcept |
|
overridevirtual |
Reimplemented from SWC::client::Query::Select::Handlers::BaseUnorderedMap.
Definition at line 30 of file Common.cc.
References SWC::client::Query::Select::Handlers::BaseUnorderedMap::add_cells(), and response_partials().
|
overridevirtual |
Reimplemented from SWC::client::Query::Select::Handlers::BaseUnorderedMap.
Definition at line 46 of file Common.cc.
References SWC::client::Query::Select::Handlers::BaseUnorderedMap::free(), m_cv, m_mutex, and m_notify.
|
overridevirtual |
Reimplemented from SWC::client::Query::Select::Handlers::BaseUnorderedMap.
Definition at line 38 of file Common.cc.
References SWC::client::Query::Select::Handlers::BaseUnorderedMap::get_cells(), m_cv, m_mutex, and m_notify.
|
inlinestatic |
Definition at line 26 of file Common.h.
References SWC::client::Query::Select::Handlers::Base::clients, Common(), and SWC::client::Query::Select::Handlers::Base::executor.
Referenced by SWC::Manager::ColumnHealthCheck::finishing(), SWC::Manager::MngdColumns::remove(), SWC::Utils::LoadGenerator::select_data(), SWC::Utils::shell::Statistics::set_definitions(), SWC::Utils::shell::Statistics::show(), SWC::ThriftBroker::AppHandler::sync_select(), and SWC::Utils::shell::Statistics::truncate().
|
overridevirtual |
Implements SWC::client::Query::Select::Handlers::Base.
Definition at line 54 of file Common.cc.
References SWC::Core::AtomicBase< T, OrderT >::compare_exchange_weak(), SWC::client::Query::Profiling::finished(), m_cb, m_cv, m_mutex, m_sending_result, SWC::Error::OK, SWC::client::Query::Select::Handlers::Base::profile, SWC::Core::StateRunning::running(), send_result(), and SWC::client::Query::Select::Handlers::Base::state_error.
|
private |
Definition at line 75 of file Common.cc.
References m_cv, m_mutex, m_notify, m_sending_result, SWC::Core::StateRunning::running(), send_result(), and wait_on_partials().
Referenced by add_cells().
|
private |
Definition at line 115 of file Common.cc.
References SWC::client::Query::Select::Handlers::Base::clients, m_dispatcher_io, SWC::client::Query::Select::Handlers::Base::operator=(), and SWC_CAN_INLINE.
Referenced by response(), response_partials(), and wait().
|
overridevirtualnoexcept |
Implements SWC::client::Query::Select::Handlers::Base.
Definition at line 71 of file Common.cc.
References valid_state.
Referenced by wait(), and wait_on_partials().
void SWC::client::Query::Select::Handlers::Common::wait | ( | ) |
Definition at line 97 of file Common.cc.
References SWC::client::Query::Select::Handlers::Base::completion, SWC::Core::CompletionCounter< CountT >::count(), SWC::client::Query::Select::Handlers::BaseUnorderedMap::empty(), m_cv, m_mutex, m_notify, m_sending_result, SWC::Core::StateRunning::running(), send_result(), and valid().
|
private |
Definition at line 93 of file Common.cc.
References SWC::client::Query::Select::Handlers::Base::buff_ahead, SWC::client::Query::Select::Handlers::Base::buff_sz, SWC::client::Query::Select::Handlers::BaseUnorderedMap::get_size_bytes(), and valid().
Referenced by response_partials().
|
private |
Definition at line 68 of file Common.h.
Referenced by response().
|
private |
Definition at line 71 of file Common.h.
Referenced by free(), get_cells(), response(), response_partials(), and wait().
|
private |
Definition at line 69 of file Common.h.
Referenced by send_result().
|
protected |
Definition at line 58 of file Common.h.
Referenced by free(), get_cells(), response(), response_partials(), and wait().
|
private |
Definition at line 70 of file Common.h.
Referenced by free(), get_cells(), response_partials(), and wait().
|
private |
Definition at line 72 of file Common.h.
Referenced by response(), response_partials(), and wait().
Core::AtomicBool SWC::client::Query::Select::Handlers::Common::valid_state |