|
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_manager_Protocol_handlers_ColumnGet_h
8 #define swcdb_manager_Protocol_handlers_ColumnGet_h
14 namespace SWC {
namespace Comm {
namespace Protocol {
15 namespace Mngr {
namespace Handler {
28 conn->send_response(cbp);
35 typedef std::shared_ptr<MngrColumnGet>
Ptr;
51 return !
ev->expired() &&
66 int err = a_ev->response_code();
69 const uint8_t *ptr = a_ev->data.base + 4;
70 size_t remain = a_ev->data.size - 4;
71 params.
decode(&ptr, &remain);
98 case Params::ColumnGetReq::Flag::SCHEMA_BY_ID:
101 case Params::ColumnGetReq::Flag::SCHEMA_BY_NAME:
104 case Params::ColumnGetReq::Flag::ID_BY_NAME:
116 const uint8_t *ptr = ev->data.base;
117 size_t remain = ev->data.size;
120 params.
decode(&ptr, &remain);
134 auto flag = params.
flag;
135 if(flag == Params::ColumnGetReq::Flag::ID_BY_NAME)
136 params.
flag = Params::ColumnGetReq::Flag::SCHEMA_BY_NAME;
145 conn, ev, e.
code(), Params::ColumnGetReq::Flag::ID_BY_NAME,
nullptr);
154 #endif // swcdb_manager_Protocol_handlers_ColumnGet_h
void add(int &err, const Schema::Ptr &schema)
constexpr SWC_CAN_INLINE int code() const noexcept
@ COLUMN_SCHEMA_NAME_NOT_EXISTS
bool is_active(cid_t cid) noexcept
std::shared_ptr< Schema > Ptr
#define SWC_LOG_OUT(pr, _code_)
void mngr_update_response(const ConnHandlerPtr &conn, const Event::Ptr &ev, int err, Params::ColumnGetReq::Flag flag, const DB::Schema::Ptr &schema)
Comm::client::ConnQueue::ReqBase ReqBase
Mngr::Params::ColumnGetReq::Flag flag
void handle(ConnHandlerPtr, const Event::Ptr &a_ev) override
DB::Schema::Ptr get_schema(int &err, const Params::ColumnGetReq ¶ms)
Schema::Ptr get(cid_t cid) noexcept
#define SWC_CURRENT_EXCEPTION(_msg_)
SWC_CAN_INLINE bool running() const noexcept
The SWC-DB C++ namespace 'SWC'.
static SWC_CAN_INLINE Manager::MngdColumns * mngd_columns() noexcept
void column_get(const ConnHandlerPtr &conn, const Event::Ptr &ev)
std::shared_ptr< ConnHandler > ConnHandlerPtr
static SWC_CAN_INLINE Ptr make(uint32_t reserve=0)
static SWC_CAN_INLINE Manager::Schemas * schemas() noexcept
void handle_no_conn() override
void decode(const uint8_t **bufp, size_t *remainp)
static SWC_CAN_INLINE Manager::MngrRole * role() noexcept
void req_mngr_inchain(const Comm::client::ConnQueue::ReqBase::Ptr &req)
std::shared_ptr< Event > Ptr
@ COLUMN_UNKNOWN_GET_FLAG
SWC_CAN_INLINE MngrColumnGet(const ConnHandlerPtr &a_conn, const Event::Ptr &a_ev, Params::ColumnGetReq::Flag a_flag, const Params::ColumnGetReq ¶ms)
virtual ~MngrColumnGet() noexcept
std::shared_ptr< MngrColumnGet > Ptr