 |
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_CellsUpdate_h
8 #define swcdb_broker_Protocol_handlers_CellsUpdate_h
16 namespace SWC {
namespace Comm {
namespace Protocol {
17 namespace Bkr {
namespace Handler {
23 typedef std::shared_ptr<Updater>
Ptr;
33 schema->cid, schema->col_seq,
34 schema->cell_versions, schema->cell_ttl, schema->col_type,
43 bool valid() noexcept
override {
44 return !
error() && !
ev->expired() &&
conn->is_open() &&
56 Task(
Updater::Ptr&& a_ptr) noexcept : ptr(std::move(a_ptr)) { }
57 void operator()() { ptr->commit(&ptr->column); }
60 Task(std::dynamic_pointer_cast<Updater>(shared_from_this()))
70 if(!
ev->expired() &&
conn->is_open()) {
94 const uint8_t *ptr = ev->data.base;
95 size_t remain = ev->data.size;
96 params.
decode(&ptr, &remain);
98 if(!ev->data_ext.size) {
104 hdlr->commit(&hdlr->column);
121 #endif // swcdb_broker_Protocol_handlers_CellsUpdate_h
constexpr SWC_CAN_INLINE int code() const noexcept
static SWC_CAN_INLINE client::Clients::Ptr & get() noexcept
std::shared_ptr< Schema > Ptr
#define SWC_LOG_OUT(pr, _code_)
virtual bool empty() noexcept override
static SWC_CAN_INLINE bool is_accepting() noexcept
void cells_update(const ConnHandlerPtr &conn, const Event::Ptr &ev)
#define SWC_CURRENT_EXCEPTION(_msg_)
The SWC-DB C++ namespace 'SWC'.
Core::CompletionCounter< uint64_t > completion
virtual ~Updater() noexcept
SWC_CAN_INLINE void finished() noexcept
std::shared_ptr< ConnHandler > ConnHandlerPtr
virtual int error() noexcept
std::shared_ptr< Updater > Ptr
static SWC_CAN_INLINE Ptr make(uint32_t reserve=0)
void response(int err=Error::OK) override
SWC_CAN_INLINE Updater(const DB::Schema::Ptr &schema, const ConnHandlerPtr &a_conn, const Event::Ptr &a_ev)
static SWC_CAN_INLINE void post(T_Handler &&handler)
void decode(const uint8_t **bufp, size_t *remainp)
std::shared_ptr< Event > Ptr
bool valid() noexcept override
constexpr SWC_CAN_INLINE bool is_last() noexcept
void print(std::ostream &out, int err)
static SWC_CAN_INLINE void processed() noexcept
void print(std::ostream &out) const
SWC_CAN_INLINE BaseSingleColumn(const Clients::Ptr &a_clients, const cid_t cid, DB::Types::KeySeq seq, uint32_t versions, uint32_t ttl_secs, DB::Types::Column type, Clients::Flag a_executor=Clients::DEFAULT)
virtual bool requires_commit() noexcept override