SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
RgrGet_Base.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 #ifndef swcdb_db_protocol_req_RgrGet_Base_h
7 #define swcdb_db_protocol_req_RgrGet_Base_h
8 
9 
13 
14 
15 namespace SWC { namespace Comm { namespace Protocol {
16 namespace Mngr { namespace Req {
17 
18 
20  public:
21 
23  RgrGet_Base(const Params::RgrGetReq& params, const uint32_t timeout)
24  : client::ConnQueue::ReqBase(
25  Buffers::make(params, 0 ,RGR_GET, timeout)),
26  endpoints(), cid(params.cid) {
27  }
28 
29  virtual ~RgrGet_Base() noexcept { }
30 
31  void handle_no_conn() override;
32 
33  bool run() override {
34  return get_clients()->managers.put(get_clients(), cid, endpoints, req());
35  }
36 
37  protected:
38 
39  virtual SWC::client::Clients::Ptr& get_clients() noexcept = 0;
40 
41  virtual void callback(Params::RgrGetRsp&) = 0;
42 
43  private:
44 
47 
48 };
49 
50 
51 }}}}}
52 
53 
54 #ifdef SWC_IMPL_SOURCE
56 #endif
57 
58 #endif // swcdb_db_protocol_req_RgrGet_Base_h
SWC::Comm::Protocol::Mngr::Params::RgrGetReq
Definition: RgrGet.h:20
Clients.h
SWC::Comm::client::ConnQueueReqBase::req
SWC_CAN_INLINE Ptr req() noexcept
Definition: ClientConnQueue.h:39
SWC::Comm::Protocol::Mngr::Req::RgrGet_Base::get_clients
virtual SWC::client::Clients::Ptr & get_clients() noexcept=0
SWC::client::Query::ReqBase
Comm::client::ConnQueue::ReqBase ReqBase
Definition: Profiling.h:21
SWC::Comm::Protocol::Mngr::Req::RgrGet_Base
Definition: RgrGet_Base.h:19
SWC::Comm::client::ConnQueueReqBase
Definition: ClientConnQueue.h:22
SWC::client::Clients::Ptr
ClientsPtr Ptr
Definition: Clients.h:58
RgrGet.h
SWC::Comm::Protocol::Mngr::Req::RgrGet_Base::handle_no_conn
void handle_no_conn() override
Definition: RgrGet_Base.cc:15
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
RgrGet_Base.cc
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC::Comm::Buffers
Definition: Buffers.h:20
Commands.h
SWC::Comm::Protocol::Mngr::Req::RgrGet_Base::~RgrGet_Base
virtual ~RgrGet_Base() noexcept
Definition: RgrGet_Base.h:29
SWC::Comm::Protocol::Mngr::Req::RgrGet_Base::callback
virtual void callback(Params::RgrGetRsp &)=0
SWC::cid_t
uint64_t cid_t
Definition: Identifiers.h:16
SWC::Core::Vector< EndPoint >
SWC::Comm::Protocol::Mngr::RGR_GET
@ RGR_GET
Definition: Commands.h:71
SWC::Comm::Protocol::Mngr::Req::RgrGet_Base::RgrGet_Base
SWC_CAN_INLINE RgrGet_Base(const Params::RgrGetReq &params, const uint32_t timeout)
Definition: RgrGet_Base.h:23
SWC::Comm::Protocol::Mngr::Req::RgrGet_Base::endpoints
EndPoints endpoints
Definition: RgrGet_Base.h:45
SWC::Comm::Protocol::Mngr::Req::RgrGet_Base::run
bool run() override
Definition: RgrGet_Base.h:33
SWC::Comm::Protocol::Mngr::Req::RgrGet_Base::cid
cid_t cid
Definition: RgrGet_Base.h:46