SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
ColumnDelete.cc
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 
9 
10 namespace SWC { namespace Comm { namespace Protocol {
11 namespace Rgr { namespace Req {
12 
13 
16  const DB::Schema::Ptr& a_schema,
17  uint64_t a_req_id)
18  : client::ConnQueue::ReqBase(
19  Buffers::make(
20  Params::ColumnDelete(a_schema->cid),
21  0,
22  COLUMN_DELETE, 3600000)
23  ),
24  rgr(a_rgr), schema(a_schema), req_id(a_req_id) {
25 }
26 
28  if(ev->response_code())
29  return handle_no_conn();
30 
31  remove();
32 }
33 
35  if(rgr->state == DB::Types::MngrRangerState::ACK) {
36  rgr->failures.fetch_add(1);
37  request_again();
38  } else {
39  remove();
40  }
41 }
42 
46 }
47 
48 }}}}}
SWC::Comm::Protocol::Rgr::Req::ColumnDelete
Definition: ColumnDelete.h:14
SWC::DB::Schema::Ptr
std::shared_ptr< Schema > Ptr
Definition: Schema.h:185
ColumnDelete.h
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::schema
DB::Schema::Ptr schema
Definition: ColumnDelete.h:33
SWC::client::Query::ReqBase
Comm::client::ConnQueue::ReqBase ReqBase
Definition: Profiling.h:21
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::remove
void remove()
Definition: ColumnDelete.cc:44
SWC::Comm::client::ConnQueueReqBase::request_again
void request_again()
Definition: ClientConnQueue.cc:12
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::ColumnDelete
ColumnDelete(const Manager::Ranger::Ptr &rgr, const DB::Schema::Ptr &schema, uint64_t req_id)
Definition: ColumnDelete.cc:15
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::handle_no_conn
void handle_no_conn() override
Definition: ColumnDelete.cc:34
SWC::Manager::MngdColumns::remove
void remove(const DB::Schema::Ptr &schema, rgrid_t rgrid, uint64_t req_id)
Definition: MngdColumns.cc:407
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::req_id
uint64_t req_id
Definition: ColumnDelete.h:34
SWC::DB::Types::MngrRangerState::ACK
const uint8_t ACK
Definition: MngrRangerState.h:18
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
ColumnDelete.h
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC::Env::Mngr::mngd_columns
static SWC_CAN_INLINE Manager::MngdColumns * mngd_columns() noexcept
Definition: MngrEnv.h:74
SWC::Comm::Protocol::Rgr::COLUMN_DELETE
@ COLUMN_DELETE
Definition: Commands.h:27
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::handle
void handle(ConnHandlerPtr conn, const Event::Ptr &ev) override
Definition: ColumnDelete.cc:27
SWC::Manager::Ranger::Ptr
std::shared_ptr< Ranger > Ptr
Definition: Ranger.h:21
SWC::Comm::Buffers
Definition: Buffers.h:20
SWC::Comm::ConnHandlerPtr
std::shared_ptr< ConnHandler > ConnHandlerPtr
Definition: AppContext.h:17
SWC::Comm::Event::Ptr
std::shared_ptr< Event > Ptr
Definition: Event.h:33
SWC::Comm::Protocol::Rgr::Req::ColumnDelete::rgr
Manager::Ranger::Ptr rgr
Definition: ColumnDelete.h:32