SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
BrokerCommitter.h
Go to the documentation of this file.
1 /*
2  * SWC-DB© Copyright since 2019 Alex Kashirin <kashirin.alex@gmail.com>
3  * License details at <https://github.com/kashirin-alex/swc-db/#license>
4  */
5 
6 
7 #ifndef swcdb_db_client_Query_Update_BrokerCommitter_h
8 #define swcdb_db_client_Query_Update_BrokerCommitter_h
9 
10 
13 
14 
15 
16 namespace SWC { namespace client { namespace Query { namespace Update {
17 
18 
19 
20 class BrokerCommitter final
21  : public std::enable_shared_from_this<BrokerCommitter> {
22  public:
23 
25  static void execute(const Handlers::Base::Ptr& hdlr,
27  Ptr(new BrokerCommitter(hdlr, colp))->commit();
28  }
29 
30 
31  typedef std::shared_ptr<BrokerCommitter> Ptr;
35 
39  : hdlr(a_hdlr), colp(a_colp), workload() {
40  }
41 
42  BrokerCommitter(const BrokerCommitter&) = delete;
43 
45 
46  ~BrokerCommitter() noexcept;
47 
48  void print(std::ostream& out);
49 
50  private:
51 
52  void commit();
53 
54  void committed(ReqBase::Ptr req,
55  const Comm::Protocol::Bkr::Params::CellsUpdateRsp& rsp,
56  const DynamicBuffer& cells_buff);
57 
58 };
59 
60 
61 }}}}
62 
63 
64 #ifdef SWC_IMPL_SOURCE
66 #endif
67 
68 
69 #endif // swcdb_db_client_Query_Update_BrokerCommitter_h
SWC::client::Query::Update::BrokerCommitter::Ptr
std::shared_ptr< BrokerCommitter > Ptr
Definition: BrokerCommitter.h:31
SWC::client::Query::Update::Handlers::Base::Ptr
std::shared_ptr< Base > Ptr
Definition: Base.h:27
SWC::Comm::client::ConnQueueReqBase
Definition: ClientConnQueue.h:22
SWC::client::Query::Update::BrokerCommitter::committed
void committed(ReqBase::Ptr req, const Comm::Protocol::Bkr::Params::CellsUpdateRsp &rsp, const DynamicBuffer &cells_buff)
Definition: BrokerCommitter.cc:85
SWC::client::Query::Update::BrokerCommitter::colp
Query::Update::Handlers::Base::Column * colp
Definition: BrokerCommitter.h:33
SWC::client::Query::Update::BrokerCommitter::print
void print(std::ostream &out)
Definition: BrokerCommitter.cc:24
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
SWC::client::Query::Update::BrokerCommitter::BrokerCommitter
SWC_CAN_INLINE BrokerCommitter(const Query::Update::Handlers::Base::Ptr &a_hdlr, Query::Update::Handlers::Base::Column *a_colp) noexcept
Definition: BrokerCommitter.h:37
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC::client::Query::Update::BrokerCommitter
Definition: BrokerCommitter.h:21
CellsUpdate.h
SWC::Core::BufferDyn< StaticBuffer >
BrokerCommitter.cc
SWC::Core::CompletionCounter
Definition: CompletionCounter.h:16
SWC::client::Query::Update::Handlers::Base::Column
Definition: Base.h:30
SWC::client::Query::Update::BrokerCommitter::hdlr
Query::Update::Handlers::Base::Ptr hdlr
Definition: BrokerCommitter.h:32
SWC::client::Query::Update::BrokerCommitter::BrokerCommitter
BrokerCommitter(const BrokerCommitter &)=delete
SWC::client::Query::Update::BrokerCommitter::~BrokerCommitter
~BrokerCommitter() noexcept
Definition: BrokerCommitter.cc:22
SWC::client::Query::Update::BrokerCommitter::operator=
BrokerCommitter & operator=(const BrokerCommitter &)=delete
Base.h
SWC::client::Query::Update::BrokerCommitter::workload
Core::CompletionCounter workload
Definition: BrokerCommitter.h:34
SWC::client::Query::Update::BrokerCommitter::commit
void commit()
Definition: BrokerCommitter.cc:30
SWC::client::Query::Update::BrokerCommitter::execute
static SWC_CAN_INLINE void execute(const Handlers::Base::Ptr &hdlr, Handlers::Base::Column *colp)
Definition: BrokerCommitter.h:25