SWC-DB
v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
ColumnGet_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_mngr_req_ColumnGet_Base_h
7
#define swcdb_db_protocol_mngr_req_ColumnGet_Base_h
8
9
10
#include "
swcdb/db/Protocol/Mngr/params/ColumnGet.h
"
11
#include "
swcdb/db/client/Clients.h
"
12
#include "
swcdb/db/Protocol/Commands.h
"
13
14
15
namespace
SWC
{
namespace
Comm {
namespace
Protocol {
16
namespace
Mngr {
namespace
Req {
17
18
19
class
ColumnGet_Base
:
public
client::ConnQueue::ReqBase
{
20
public
:
21
22
SWC_CAN_INLINE
23
ColumnGet_Base
(
const
Params::ColumnGetReq
& params,
24
const
uint32_t timeout)
25
: client::ConnQueue::
ReqBase
(
26
Buffers
::make(params, 0,
COLUMN_GET
, timeout)),
27
endpoints
() {
28
}
29
30
virtual
~ColumnGet_Base
() noexcept { }
31
32
void
handle_no_conn
()
override
;
33
34
bool
run
()
override
{
35
// ColumnGet can be any-mngr/cid-mngr if by cid
36
return
get_clients
()->managers.put_role_schemas(
37
get_clients
(),
endpoints
,
req
());
38
}
39
40
void
handle
(
ConnHandlerPtr
conn,
const
Event::Ptr
& ev)
override
;
41
42
protected
:
43
44
virtual
SWC::client::Clients::Ptr
&
get_clients
() noexcept = 0;
45
46
virtual
void
callback
(
int
error, const Params::ColumnGetRsp& rsp) = 0;
47
48
private:
49
50
EndPoints
endpoints
;
51
};
52
53
54
55
}}}}}
56
57
58
#ifdef SWC_IMPL_SOURCE
59
#include "
swcdb/db/Protocol/Mngr/req/ColumnGet_Base.cc
"
60
#endif
61
62
#endif // swcdb_db_protocol_mngr_req_ColumnGet_Base_h
SWC::Comm::Protocol::Mngr::Params::ColumnGetReq
Definition:
ColumnGet.h:18
Clients.h
SWC::Comm::client::ConnQueueReqBase::req
SWC_CAN_INLINE Ptr req() noexcept
Definition:
ClientConnQueue.h:39
SWC::Comm::Protocol::Mngr::Req::ColumnGet_Base::handle
void handle(ConnHandlerPtr conn, const Event::Ptr &ev) override
Definition:
ColumnGet_Base.cc:28
SWC::client::Query::ReqBase
Comm::client::ConnQueue::ReqBase ReqBase
Definition:
Profiling.h:21
SWC::Comm::client::ConnQueueReqBase
Definition:
ClientConnQueue.h:22
SWC::client::Clients::Ptr
ClientsPtr Ptr
Definition:
Clients.h:58
SWC::Comm::Protocol::Mngr::Req::ColumnGet_Base::get_clients
virtual SWC::client::Clients::Ptr & get_clients() noexcept=0
SWC::Comm::Protocol::Mngr::Req::ColumnGet_Base::ColumnGet_Base
SWC_CAN_INLINE ColumnGet_Base(const Params::ColumnGetReq ¶ms, const uint32_t timeout)
Definition:
ColumnGet_Base.h:23
SWC::Comm::Protocol::Mngr::Req::ColumnGet_Base::~ColumnGet_Base
virtual ~ColumnGet_Base() noexcept
Definition:
ColumnGet_Base.h:30
SWC::Comm::Protocol::Mngr::Req::ColumnGet_Base::endpoints
EndPoints endpoints
Definition:
ColumnGet_Base.h:50
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition:
Compat.h:102
SWC
The SWC-DB C++ namespace 'SWC'.
Definition:
main.cc:12
ColumnGet.h
SWC::Comm::Protocol::Mngr::Req::ColumnGet_Base::callback
virtual void callback(int error, const Params::ColumnGetRsp &rsp)=0
SWC::Comm::Buffers
Definition:
Buffers.h:20
Commands.h
SWC::Comm::ConnHandlerPtr
std::shared_ptr< ConnHandler > ConnHandlerPtr
Definition:
AppContext.h:17
SWC::Comm::Protocol::Mngr::Req::ColumnGet_Base
Definition:
ColumnGet_Base.h:19
SWC::Core::Vector< EndPoint >
SWC::Comm::Protocol::Mngr::COLUMN_GET
@ COLUMN_GET
Definition:
Commands.h:66
ColumnGet_Base.cc
SWC::Comm::Protocol::Mngr::Req::ColumnGet_Base::handle_no_conn
void handle_no_conn() override
Definition:
ColumnGet_Base.cc:16
SWC::Comm::Event::Ptr
std::shared_ptr< Event > Ptr
Definition:
Event.h:33
SWC::Comm::Protocol::Mngr::Req::ColumnGet_Base::run
bool run() override
Definition:
ColumnGet_Base.h:34
include
swcdb
db
Protocol
Mngr
req
ColumnGet_Base.h
Generated on Sat Jun 3 2023 18:00:06 for SWC-DB by
1.8.20