SWC-DB  v0.5.9 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
SWC::client::Query::Update::Committer Class Referencefinal

#include <swcdb/db/client/Query/Update/Committer.h>

+ Inheritance diagram for SWC::client::Query::Update::Committer:
+ Collaboration diagram for SWC::client::Query::Update::Committer:

Public Types

typedef std::shared_ptr< CommitterPtr
 

Public Member Functions

 Committer (const DB::Types::Range type, const cid_t cid, Handlers::Base::Column *colp, const DB::Cell::Key::Ptr &key_start, const Handlers::Base::Ptr &hdlr, const ReqBase::Ptr &parent=nullptr, const rid_t rid=0) noexcept
 
 Committer (const DB::Types::Range type, const cid_t cid, Handlers::Base::Column *colp, const DB::Cell::Key::Ptr &key_start, const Handlers::Base::Ptr &hdlr, const ReqBase::Ptr &parent, const rid_t rid, const DB::Cell::Key &key_finish)
 
 ~Committer () noexcept
 
SWC_CAN_INLINE bool valid () noexcept
 
SWC_CAN_INLINE Clients::Ptrget_clients () noexcept
 
SWC_CAN_INLINE Profilingget_profile () noexcept
 
void print (std::ostream &out)
 
void locate_on_manager ()
 

Static Public Member Functions

static SWC_CAN_INLINE void execute (const Handlers::Base::Ptr &hdlr, Handlers::Base::Column *colp)
 

Public Attributes

const DB::Types::Range type
 
const cid_t master_cid
 
Core::CompletionCounter< uint32_t > workload
 
const cid_t cid
 
Handlers::Base::Columncolp
 
DB::Cell::Key::Ptr key_start
 
Handlers::Base::Ptr hdlr
 
ReqBase::Ptr parent
 
const rid_t rid
 
const DB::Cell::Key key_finish
 

Private Member Functions

void located_on_manager (const ReqBase::Ptr &base, Comm::Protocol::Mngr::Params::RgrGetRsp &rsp)
 
void locate_on_ranger (Comm::EndPoints &&endpoints, int64_t revision=0)
 
void located_on_ranger (const Comm::EndPoints &endpoints, const ReqBase::Ptr &base, const Comm::Protocol::Rgr::Params::RangeLocateRsp &rsp)
 
void resolve_on_manager ()
 
void located_ranger (const ReqBase::Ptr &base, Comm::Protocol::Mngr::Params::RgrGetRsp &rsp)
 
void proceed_on_ranger (const ReqBase::Ptr &base, Comm::Protocol::Mngr::Params::RgrGetRsp &rsp)
 
void commit_data (const Comm::EndPoints &endpoints, const ReqBase::Ptr &base)
 
void committed_data (const DynamicBuffer &cells_buff, const ReqBase::Ptr &base, const ReqBase::Ptr &req, const Comm::Protocol::Rgr::Params::RangeQueryUpdateRsp &rsp)
 

Detailed Description

Definition at line 25 of file Committer.h.

Member Typedef Documentation

◆ Ptr

Definition at line 38 of file Committer.h.

Constructor & Destructor Documentation

◆ Committer() [1/2]

SWC::client::Query::Update::Committer::Committer ( const DB::Types::Range  type,
const cid_t  cid,
Handlers::Base::Column colp,
const DB::Cell::Key::Ptr key_start,
const Handlers::Base::Ptr hdlr,
const ReqBase::Ptr parent = nullptr,
const rid_t  rid = 0 
)
noexcept

Definition at line 30 of file Committer.cc.

Referenced by committed_data(), execute(), locate_on_manager(), located_on_manager(), located_on_ranger(), and proceed_on_ranger().

+ Here is the caller graph for this function:

◆ Committer() [2/2]

SWC::client::Query::Update::Committer::Committer ( const DB::Types::Range  type,
const cid_t  cid,
Handlers::Base::Column colp,
const DB::Cell::Key::Ptr key_start,
const Handlers::Base::Ptr hdlr,
const ReqBase::Ptr parent,
const rid_t  rid,
const DB::Cell::Key key_finish 
)

Definition at line 45 of file Committer.cc.

◆ ~Committer()

SWC::client::Query::Update::Committer::~Committer ( )
noexcept

Definition at line 61 of file Committer.cc.

Member Function Documentation

◆ commit_data()

void SWC::client::Query::Update::Committer::commit_data ( const Comm::EndPoints endpoints,
const ReqBase::Ptr base 
)
private

Definition at line 469 of file Committer.cc.

References SWC::client::Query::Profiling::Component::Start::add(), colp, SWC::Comm::Protocol::Rgr::Params::RangeQueryUpdateRsp::err, SWC::Core::BufferDyn< BufferT >::fill(), SWC::client::Query::Update::Handlers::Base::Column::get_buff(), SWC::client::Query::Update::Handlers::Base::Column::get_cid(), hdlr, SWC::Core::CompletionCounter< CountT >::increment(), SWC::Core::CompletionCounter< CountT >::is_last(), key_finish, key_start, SWC::Comm::Protocol::Rgr::Req::RangeQueryUpdate< DataT >::request(), rid, SWC_CAN_INLINE, and workload.

Referenced by proceed_on_ranger().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ committed_data()

◆ execute()

static SWC_CAN_INLINE void SWC::client::Query::Update::Committer::execute ( const Handlers::Base::Ptr hdlr,
Handlers::Base::Column colp 
)
inlinestatic

Definition at line 29 of file Committer.h.

References colp, Committer(), SWC::client::Query::Update::Handlers::Base::Column::get_cid(), SWC::client::Query::Update::Handlers::Base::Column::get_first_key(), and hdlr.

Referenced by SWC::client::Query::Update::Handlers::Base::default_executor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_clients()

SWC_CAN_INLINE Clients::Ptr& SWC::client::Query::Update::Committer::get_clients ( )
inlinenoexcept

Definition at line 75 of file Committer.h.

References hdlr.

◆ get_profile()

SWC_CAN_INLINE Profiling& SWC::client::Query::Update::Committer::get_profile ( )
inlinenoexcept

Definition at line 80 of file Committer.h.

References hdlr.

◆ locate_on_manager()

◆ locate_on_ranger()

◆ located_on_manager()

◆ located_on_ranger()

◆ located_ranger()

◆ print()

void SWC::client::Query::Update::Committer::print ( std::ostream &  out)

Definition at line 63 of file Committer.cc.

References cid, colp, hdlr, key_finish, key_start, SWC::DB::Cell::Key::print(), SWC::client::Query::Update::Handlers::Base::Column::print(), rid, SWC::DB::Types::to_string(), and type.

+ Here is the call graph for this function:

◆ proceed_on_ranger()

void SWC::client::Query::Update::Committer::proceed_on_ranger ( const ReqBase::Ptr base,
Comm::Protocol::Mngr::Params::RgrGetRsp rsp 
)
private

Definition at line 422 of file Committer.cc.

References cid, SWC::Comm::Protocol::Mngr::Params::RgrGetRsp::cid, colp, commit_data(), Committer(), SWC::Comm::Protocol::Mngr::Params::RgrGetRsp::endpoints, SWC::client::Query::Update::Handlers::Base::Column::get_cid(), hdlr, SWC::DB::Types::SystemColumn::is_master(), SWC::DB::Types::SystemColumn::is_meta(), key_start, SWC::DB::Types::MASTER, parent, SWC::Comm::Protocol::Mngr::Params::RgrGetRsp::range_end, rid, SWC::Comm::Protocol::Mngr::Params::RgrGetRsp::rid, SWC_LOCATOR_RSP_DEBUG, and type.

Referenced by located_ranger(), and resolve_on_manager().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resolve_on_manager()

◆ valid()

SWC_CAN_INLINE bool SWC::client::Query::Update::Committer::valid ( )
inlinenoexcept

Definition at line 70 of file Committer.h.

References hdlr.

Member Data Documentation

◆ cid

const cid_t SWC::client::Query::Update::Committer::cid

◆ colp

◆ hdlr

◆ key_finish

const DB::Cell::Key SWC::client::Query::Update::Committer::key_finish

Definition at line 48 of file Committer.h.

Referenced by commit_data(), and print().

◆ key_start

DB::Cell::Key::Ptr SWC::client::Query::Update::Committer::key_start

◆ master_cid

const cid_t SWC::client::Query::Update::Committer::master_cid

Definition at line 40 of file Committer.h.

Referenced by locate_on_manager(), located_on_manager(), and located_on_ranger().

◆ parent

ReqBase::Ptr SWC::client::Query::Update::Committer::parent

Definition at line 46 of file Committer.h.

Referenced by located_on_ranger(), located_ranger(), and proceed_on_ranger().

◆ rid

const rid_t SWC::client::Query::Update::Committer::rid

◆ type

const DB::Types::Range SWC::client::Query::Update::Committer::type

Definition at line 39 of file Committer.h.

Referenced by locate_on_ranger(), located_on_ranger(), print(), and proceed_on_ranger().

◆ workload

Core::CompletionCounter<uint32_t> SWC::client::Query::Update::Committer::workload

Definition at line 41 of file Committer.h.

Referenced by commit_data(), and committed_data().


The documentation for this class was generated from the following files: