|
SWC-DB
v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
|
Go to the documentation of this file.
7 #ifndef swcdb_broker_Protocol_handlers_ColumnGet_h
8 #define swcdb_broker_Protocol_handlers_ColumnGet_h
14 namespace SWC {
namespace Comm {
namespace Protocol {
15 namespace Bkr {
namespace Handler {
46 if(!
ev->expired() &&
conn->is_open()) {
53 conn->send_response(cbp);
67 case Mngr::Params::ColumnGetReq::Flag::SCHEMA_BY_ID:
69 case Mngr::Params::ColumnGetReq::Flag::SCHEMA_BY_NAME:
70 case Mngr::Params::ColumnGetReq::Flag::ID_BY_NAME:
82 const uint8_t *ptr = ev->data.base;
83 size_t remain = ev->data.size;
86 params.
decode(&ptr, &remain);
96 conn->send_response(cbp);
100 auto flag = params.
flag;
101 if(flag == Mngr::Params::ColumnGetReq::Flag::ID_BY_NAME)
102 params.
flag = Mngr::Params::ColumnGetReq::Flag::SCHEMA_BY_NAME;
105 params, ev->header.timeout_ms, conn, ev, flag);
117 cbp->append_i32(err);
118 conn->send_response(cbp);
126 #endif // swcdb_broker_Protocol_handlers_ColumnGet_h
constexpr SWC_CAN_INLINE int code() const noexcept
SWC_CAN_INLINE void callback(const client::ConnQueue::ReqBase::Ptr &, int err, const Mngr::Params::ColumnGetRsp &rsp)
static SWC_CAN_INLINE client::Clients::Ptr & get() noexcept
std::shared_ptr< Schema > Ptr
#define SWC_LOG_OUT(pr, _code_)
void column_get(const ConnHandlerPtr &conn, const Event::Ptr &ev)
static SWC_CAN_INLINE void request(const Params::ColumnGetReq ¶ms, const uint32_t timeout, DataArgsT &&... args)
static SWC_CAN_INLINE bool is_accepting() noexcept
SWC_CAN_INLINE ColumnGet(const ConnHandlerPtr &a_conn, const Event::Ptr &a_ev, Mngr::Params::ColumnGetReq::Flag a_flag)
#define SWC_CURRENT_EXCEPTION(_msg_)
The SWC-DB C++ namespace 'SWC'.
std::shared_ptr< ConnHandler > ConnHandlerPtr
static SWC_CAN_INLINE Ptr make(uint32_t reserve=0)
void decode(const uint8_t **bufp, size_t *remainp)
Mngr::Params::ColumnGetReq::Flag flag
std::shared_ptr< Event > Ptr
@ COLUMN_UNKNOWN_GET_FLAG
std::shared_ptr< ConnQueueReqBase > Ptr
SWC_CAN_INLINE DB::Schema::Ptr get_schema(int &err, const Mngr::Params::ColumnGetReq ¶ms)
SWC_CAN_INLINE SWC::client::Clients::Ptr & get_clients() noexcept
static SWC_CAN_INLINE void processed() noexcept
SWC_CAN_INLINE bool valid()