|
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_Report_h
8 #define swcdb_manager_Protocol_handlers_Report_h
13 namespace SWC {
namespace Comm {
namespace Protocol {
14 namespace Mngr {
namespace Handler {
29 :
conn(std::move(other.conn)),
ev(std::move(other.ev)) {
48 const uint8_t *ptr =
ev->data.base;
49 size_t remain =
ev->data.size;
57 goto function_send_response;
62 goto function_send_response;
67 function_send_response:
77 role.get_states(mngrs);
82 for(
auto& mngr : mngrs) {
84 m.priority = mngr->priority;
85 m.state = mngr->state;
87 m.cid_begin = mngr->cid_begin;
88 m.cid_end = mngr->cid_end;
89 m.failures = mngr->failures;
90 m.endpoints = mngr->endpoints;
93 rsp_params.
inchain = role.get_inchain_endpoint();
104 mngr_rangers.rgr_list(0, rangers);
109 for(
auto& rgr : rangers) {
110 auto& r = rsp_params.
rangers[i];
111 r.state = rgr->state;
112 r.rgr_id = rgr->rgrid;
113 r.failures = rgr->failures;
114 r.interm_ranges = rgr->interm_ranges;
115 r.load_scale = rgr->load_scale;
116 r.rebalance = rgr->rebalance();
117 mngr_rangers.rgr_get(rgr, r.endpoints);
121 cbp->append_i32(err);
127 params.
decode(&ptr, &remain);
137 col->get_ranges(ranges);
140 for(
auto& r : ranges) {
141 auto& set_r = rsp_params.
ranges[i];
142 set_r.state = r->state();
144 set_r.rgr_id = r->get_rgr_id();
147 rsp_params.
state = col->state();
149 cbp->append_i32(err);
167 cbp->append_i32(err);
171 conn->send_response(cbp);
179 #endif // swcdb_manager_Protocol_handlers_:Report_h
Column::Ptr get_column(int &err, cid_t cid)
constexpr SWC_CAN_INLINE int code() const noexcept
std::shared_ptr< Buffers > Ptr
#define SWC_LOG_OUT(pr, _code_)
Report(const Report &)=delete
Report & operator=(Report &&)=delete
void columns_ready(int &err)
Core::Vector< RangeStatus > ranges
SWC_CAN_INLINE Report(Report &&other) noexcept
#define SWC_CURRENT_EXCEPTION(_msg_)
The SWC-DB C++ namespace 'SWC'.
static SWC_CAN_INLINE Manager::MngdColumns * mngd_columns() noexcept
SWC_CAN_INLINE Report(const Comm::ConnHandlerPtr &a_conn, const Comm::Event::Ptr &a_ev) noexcept
std::shared_ptr< ConnHandler > ConnHandlerPtr
static SWC_CAN_INLINE Ptr make(uint32_t reserve=0)
void decode(const uint8_t **bufp, size_t *remainp)
static SWC_CAN_INLINE Manager::MngrRole * role() noexcept
std::shared_ptr< Event > Ptr
Report & operator=(const Report &)=delete
Comm::ConnHandlerPtr conn
constexpr SWC_CAN_INLINE uint8_t decode_i8(const uint8_t **bufp, size_t *remainp)
constexpr SWC_CAN_INLINE size_type size() const noexcept
static SWC_CAN_INLINE Manager::Rangers * rangers() noexcept
DB::Types::MngrColumn::State state