SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
RangeUnloaded.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_RangeUnloaded_h
7 #define swcdb_db_protocol_mngr_params_RangeUnloaded_h
8 
10 
11 
12 namespace SWC { namespace Comm { namespace Protocol {
13 namespace Mngr { namespace Params {
14 
15 
16 class RangeUnloadedReq final : public Serializable {
17  public:
18 
20  RangeUnloadedReq(cid_t a_cid=0, rid_t a_rid=0) noexcept
21  : cid(a_cid), rid(a_rid) {
22  }
23 
24  //~RangeUnloadedReq() { }
25 
28 
29  std::string to_string() const {
30  std::string s("RangeUnloadedReq(");
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 RangeUnloadedRsp final : public Serializable {
60  public:
61 
63  RangeUnloadedRsp(int a_err = Error::OK) noexcept : err(a_err) { }
64 
65  RangeUnloadedRsp(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  //~RangeUnloadedRsp() { }
77 
78  int err;
79 
80  std::string to_string() const {
81  std::string s("RangeUnloadedRsp(");
82  s.append("err=");
83  s.append(std::to_string(err));
84  if(err) {
85  s.append("(");
86  s.append(Error::get_text(err));
87  s.append(")");
88  }
89  s.append(")");
90  return s;
91  }
92 
93  private:
94 
95  size_t internal_encoded_length() const override {
97  }
98 
99  void internal_encode(uint8_t** bufp) const override {
101  }
102 
103  void internal_decode(const uint8_t** bufp, size_t* remainp) override {
104  err = Serialization::decode_vi32(bufp, remainp);
105  }
106 
107 };
108 
109 
110 }}}}}
111 
112 #endif // swcdb_db_protocol_mngr_params_RangeUnloaded_h
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedRsp::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: RangeUnloaded.h:99
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::Comm::Protocol::Mngr::Params::RangeUnloadedRsp::err
int err
Definition: RangeUnloaded.h:78
SWC_LOG_OUT
#define SWC_LOG_OUT(pr, _code_)
Definition: Logger.h:178
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedReq::cid
cid_t cid
Definition: RangeUnloaded.h:26
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::RangeUnloadedRsp::RangeUnloadedRsp
SWC_CAN_INLINE RangeUnloadedRsp(int a_err=Error::OK) noexcept
Definition: RangeUnloaded.h:63
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedRsp::to_string
std::string to_string() const
Definition: RangeUnloaded.h:80
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedReq::internal_encoded_length
size_t internal_encoded_length() const override
Definition: RangeUnloaded.h:40
SWC::Error::OK
@ OK
Definition: Error.h:45
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedReq
Definition: RangeUnloaded.h:16
SWC_CURRENT_EXCEPTION
#define SWC_CURRENT_EXCEPTION(_msg_)
Definition: Exception.h:119
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedReq::to_string
std::string to_string() const
Definition: RangeUnloaded.h:29
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedRsp::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: RangeUnloaded.h:103
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedRsp::RangeUnloadedRsp
RangeUnloadedRsp(int a_err, const uint8_t *ptr, size_t remain) noexcept
Definition: RangeUnloaded.h:65
SWC::Comm::Serializable
Definition: Serializable.h:18
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedReq::rid
rid_t rid
Definition: RangeUnloaded.h:27
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::RangeUnloadedRsp
Definition: RangeUnloaded.h:59
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedReq::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: RangeUnloaded.h:50
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::Comm::Protocol::Mngr::Params::RangeUnloadedRsp::internal_encoded_length
size_t internal_encoded_length() const override
Definition: RangeUnloaded.h:95
SWC::Serialization::encode_vi64
constexpr SWC_CAN_INLINE void encode_vi64(uint8_t **bufp, uint64_t val)
Definition: Serialization.h:286
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
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedReq::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: RangeUnloaded.h:45
SWC::Comm::Protocol::Mngr::Params::RangeUnloadedReq::RangeUnloadedReq
SWC_CAN_INLINE RangeUnloadedReq(cid_t a_cid=0, rid_t a_rid=0) noexcept
Definition: RangeUnloaded.h:20