SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
RangeRemove.h
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 #ifndef swcdb_db_protocol_mngr_params_RangeRemove_h
7 #define swcdb_db_protocol_mngr_params_RangeRemove_h
8 
10 
11 
12 namespace SWC { namespace Comm { namespace Protocol {
13 namespace Mngr { namespace Params {
14 
15 
16 class RangeRemoveReq final : public Serializable {
17  public:
18 
20  RangeRemoveReq(cid_t a_cid=0, rid_t a_rid=0) noexcept
21  : cid(a_cid), rid(a_rid) {
22  }
23 
24  //~RangeRemoveReq() { }
25 
28 
29  std::string to_string() const {
30  std::string s("RangeRemoveReq(");
31  s.append("cid=");
32  s.append(std::to_string(cid));
33  s.append(" rid=");
34  s.append(std::to_string(rid));
35  return s;
36  }
37 
38  private:
39 
40  size_t internal_encoded_length() const override {
43  }
44 
45  void internal_encode(uint8_t** bufp) const override {
48  }
49 
50  void internal_decode(const uint8_t** bufp, size_t* remainp) override {
51  cid = Serialization::decode_vi64(bufp, remainp);
52  rid = Serialization::decode_vi64(bufp, remainp);
53  }
54 
55 };
56 
57 
58 
59 class RangeRemoveRsp final : public Serializable {
60  public:
61 
63  RangeRemoveRsp(int a_err = Error::OK) noexcept : err(a_err) { }
64 
65  RangeRemoveRsp(int a_err, const uint8_t* ptr, size_t remain) noexcept
66  : err(a_err) {
67  if(!err) try {
68  decode(&ptr, &remain);
69  } catch(...) {
71  err = e.code();
73  }
74  }
75 
76  //~RangeRemoveRsp() { }
77 
78  int err;
79 
80  std::string to_string() const {
81  std::string s("RangeRemoveRsp(");
82  s.append("err=");
83  s.append(std::to_string(err));
84  s.append("(");
85  s.append(Error::get_text(err));
86  s.append(")");
87  s.append(")");
88  return s;
89  }
90 
91  private:
92 
93  size_t internal_encoded_length() const override {
95  }
96 
97  void internal_encode(uint8_t** bufp) const override {
99  }
100 
101  void internal_decode(const uint8_t** bufp, size_t* remainp) override {
102  err = Serialization::decode_vi32(bufp, remainp);
103  }
104 
105 };
106 
107 
108 }}}}}
109 
110 #endif // swcdb_db_protocol_mngr_params_RangeRemove_h
SWC::Comm::Protocol::Mngr::Params::RangeRemoveReq
Definition: RangeRemove.h:16
SWC::Comm::Protocol::Mngr::Params::RangeRemoveRsp::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: RangeRemove.h:97
SWC::Error::Exception::code
constexpr SWC_CAN_INLINE int code() const noexcept
Definition: Exception.h:51
SWC_LOG_OSTREAM
#define SWC_LOG_OSTREAM
Definition: Logger.h:44
SWC_LOG_OUT
#define SWC_LOG_OUT(pr, _code_)
Definition: Logger.h:178
SWC::Comm::Protocol::Mngr::Params::RangeRemoveRsp::err
int err
Definition: RangeRemove.h:78
SWC::Comm::Protocol::Mngr::Params::RangeRemoveRsp
Definition: RangeRemove.h:59
SWC::Error::get_text
const char * get_text(const int err) noexcept
Definition: Error.cc:173
SWC::Serialization::encoded_length_vi32
constexpr SWC_CAN_INLINE uint8_t encoded_length_vi32(uint32_t val) noexcept
Definition: Serialization.h:234
SWC::Comm::Protocol::Mngr::Params::RangeRemoveRsp::RangeRemoveRsp
RangeRemoveRsp(int a_err, const uint8_t *ptr, size_t remain) noexcept
Definition: RangeRemove.h:65
SWC::Comm::Protocol::Mngr::Params::RangeRemoveReq::RangeRemoveReq
SWC_CAN_INLINE RangeRemoveReq(cid_t a_cid=0, rid_t a_rid=0) noexcept
Definition: RangeRemove.h:20
SWC::Comm::Protocol::Mngr::Params::RangeRemoveRsp::RangeRemoveRsp
SWC_CAN_INLINE RangeRemoveRsp(int a_err=Error::OK) noexcept
Definition: RangeRemove.h:63
SWC::Comm::Protocol::Mngr::Params::RangeRemoveReq::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: RangeRemove.h:50
SWC::Comm::Protocol::Mngr::Params::RangeRemoveRsp::internal_encoded_length
size_t internal_encoded_length() const override
Definition: RangeRemove.h:93
SWC::Error::OK
@ OK
Definition: Error.h:45
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
SWC::Comm::Protocol::Mngr::Params::RangeRemoveReq::rid
rid_t rid
Definition: RangeRemove.h:27
SWC_CURRENT_EXCEPTION
#define SWC_CURRENT_EXCEPTION(_msg_)
Definition: Exception.h:119
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC::Comm::Protocol::Mngr::Params::RangeRemoveRsp::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: RangeRemove.h:101
SWC::Comm::Protocol::Mngr::Params::RangeRemoveReq::cid
cid_t cid
Definition: RangeRemove.h:26
SWC::Comm::Protocol::Mngr::Params::RangeRemoveReq::to_string
std::string to_string() const
Definition: RangeRemove.h:29
SWC::Comm::Serializable
Definition: Serializable.h:18
SWC::Comm::Protocol::Mngr::Params::RangeRemoveReq::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: RangeRemove.h:45
SWC::Serialization::encoded_length_vi64
constexpr SWC_CAN_INLINE uint8_t encoded_length_vi64(uint64_t val) noexcept
Definition: Serialization.h:272
SWC::LOG_ERROR
@ LOG_ERROR
Definition: Logger.h:32
Serializable.h
SWC::cid_t
uint64_t cid_t
Definition: Identifiers.h:16
SWC::Comm::Protocol::Mngr::Params::RangeRemoveReq::internal_encoded_length
size_t internal_encoded_length() const override
Definition: RangeRemove.h:40
SWC::Serialization::decode_vi64
constexpr SWC_CAN_INLINE uint64_t decode_vi64(const uint8_t **bufp, size_t *remainp)
Definition: Serialization.h:302
SWC::rid_t
uint64_t rid_t
Definition: Identifiers.h:17
SWC::Serialization::encode_vi32
constexpr SWC_CAN_INLINE void encode_vi32(uint8_t **bufp, uint32_t val)
Definition: Serialization.h:243
SWC::Comm::Serializable::decode
void decode(const uint8_t **bufp, size_t *remainp)
Definition: Serializable.h:59
SWC::Serialization::encode_vi64
constexpr SWC_CAN_INLINE void encode_vi64(uint8_t **bufp, uint64_t val)
Definition: Serialization.h:286
SWC::Comm::Protocol::Mngr::Params::RangeRemoveRsp::to_string
std::string to_string() const
Definition: RangeRemove.h:80
SWC::Core::to_string
SWC_CAN_INLINE std::string to_string(const BitFieldInt< T, SZ > &v)
Definition: BitFieldInt.h:263
SWC::Error::Exception
Definition: Exception.h:21
SWC::Serialization::decode_vi32
constexpr SWC_CAN_INLINE uint32_t decode_vi32(const uint8_t **bufp, size_t *remainp)
Definition: Serialization.h:254