SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
CellsSelect.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_bkr_params_CellsSelect_h
7 #define swcdb_db_protocol_bkr_params_CellsSelect_h
8 
9 #include "swcdb/core/Exception.h"
13 
14 
15 namespace SWC { namespace Comm { namespace Protocol {
16 namespace Bkr { namespace Params {
17 
18 class CellsSelectReq final : public Serializable {
19  public:
20 
22  CellsSelectReq() noexcept: cid(), interval() { }
23 
25  CellsSelectReq(cid_t a_cid, const DB::Specs::Interval& a_interval)
26  : cid(a_cid), interval(a_interval) {
27  }
28 
29  ~CellsSelectReq() noexcept { }
30 
31  void print(std::ostream& out) const;
32 
35 
36  private:
37 
38  size_t SWC_PURE_FUNC internal_encoded_length() const override;
39 
40  void internal_encode(uint8_t** bufp) const override;
41 
42  void internal_decode(const uint8_t** bufp, size_t* remainp) override;
43 
44 };
45 
46 
47 
48 class CellsSelectReqRef final : public Serializable {
49  public:
50 
53  const DB::Specs::Interval& a_interval) noexcept
54  : cid(a_cid), interval(a_interval) {
55  }
56 
57  //~CellsSelectReqRef() { }
58 
59  void print(std::ostream& out) const;
60 
63 
64  private:
65 
66  size_t SWC_PURE_FUNC internal_encoded_length() const override;
67 
68  void internal_encode(uint8_t** bufp) const override;
69 
70  // not-available/option
71  void internal_decode(const uint8_t**, size_t*) override { }
72 
73 };
74 
75 
76 
77 class CellsSelectRsp final : public Serializable {
78  public:
79 
81  CellsSelectRsp(int a_err = Error::OK, bool a_more=false,
82  uint64_t a_offset=0) noexcept
83  : err(a_err), more(a_more), offset(a_offset), data() {
84  }
85 
86  CellsSelectRsp(int err, const uint8_t* ptr, size_t remain,
87  StaticBuffer& data) noexcept;
88 
89  ~CellsSelectRsp() noexcept { }
90 
91  void print(std::ostream& out) const;
92 
93  int32_t err;
94  bool more;
95  uint64_t offset;
97 
98  private:
99 
100  size_t SWC_PURE_FUNC internal_encoded_length() const override;
101 
102  void internal_encode(uint8_t** bufp) const override;
103 
104  void internal_decode(const uint8_t** bufp, size_t* remainp) override;
105 
106 };
107 
108 
109 }}}}}
110 
111 
112 #ifdef SWC_IMPL_SOURCE
114 #endif
115 
116 #endif // swcdb_db_protocol_bkr_params_CellsSelect_h
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::CellsSelectRsp
SWC_CAN_INLINE CellsSelectRsp(int a_err=Error::OK, bool a_more=false, uint64_t a_offset=0) noexcept
Definition: CellsSelect.h:81
SWC::Comm::Protocol::Bkr::Params::CellsSelectReqRef::internal_encoded_length
size_t SWC_PURE_FUNC internal_encoded_length() const override
Definition: CellsSelect.cc:47
SpecsScan.h
SWC::Comm::Protocol::Bkr::Params::CellsSelectReqRef::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: CellsSelect.cc:52
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::offset
uint64_t offset
Definition: CellsSelect.h:95
CellsSelect.cc
SWC::Comm::Protocol::Bkr::Params::CellsSelectReq::interval
DB::Specs::Interval interval
Definition: CellsSelect.h:34
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::print
void print(std::ostream &out) const
Definition: CellsSelect.cc:72
SWC::Comm::Protocol::Bkr::Params::CellsSelectReqRef
Definition: CellsSelect.h:48
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::~CellsSelectRsp
~CellsSelectRsp() noexcept
Definition: CellsSelect.h:89
SWC::Error::OK
@ OK
Definition: Error.h:45
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
SWC::Comm::Protocol::Bkr::Params::CellsSelectReqRef::internal_decode
void internal_decode(const uint8_t **, size_t *) override
Definition: CellsSelect.h:71
Exception.h
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: CellsSelect.cc:86
SWC::Comm::Protocol::Bkr::Params::CellsSelectReq::print
void print(std::ostream &out) const
Definition: CellsSelect.cc:16
SWC::Comm::Protocol::Bkr::Params::CellsSelectReqRef::interval
const DB::Specs::Interval & interval
Definition: CellsSelect.h:62
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::more
bool more
Definition: CellsSelect.h:94
SWC::Core::Buffer
Definition: Buffer.h:18
SWC_PURE_FUNC
#define SWC_PURE_FUNC
Definition: Compat.h:108
SWC::Comm::Protocol::Bkr::Params::CellsSelectReq::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: CellsSelect.cc:27
SWC::Comm::Serializable
Definition: Serializable.h:18
Identifiers.h
Serializable.h
SWC::cid_t
uint64_t cid_t
Definition: Identifiers.h:16
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::err
int32_t err
Definition: CellsSelect.h:93
SWC::Comm::Protocol::Bkr::Params::CellsSelectReqRef::CellsSelectReqRef
SWC_CAN_INLINE CellsSelectReqRef(cid_t a_cid, const DB::Specs::Interval &a_interval) noexcept
Definition: CellsSelect.h:52
SWC::Comm::Protocol::Bkr::Params::CellsSelectReq
Definition: CellsSelect.h:18
SWC::DB::Specs::Interval
Definition: SpecsInterval.h:25
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::internal_encoded_length
size_t SWC_PURE_FUNC internal_encoded_length() const override
Definition: CellsSelect.cc:80
SWC::Comm::Protocol::Bkr::Params::CellsSelectReq::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: CellsSelect.cc:32
SWC::Comm::Protocol::Bkr::Params::CellsSelectReq::CellsSelectReq
SWC_CAN_INLINE CellsSelectReq(cid_t a_cid, const DB::Specs::Interval &a_interval)
Definition: CellsSelect.h:25
SWC::Comm::Protocol::Bkr::Params::CellsSelectReq::~CellsSelectReq
~CellsSelectReq() noexcept
Definition: CellsSelect.h:29
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: CellsSelect.cc:92
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp
Definition: CellsSelect.h:77
SWC::Comm::Protocol::Bkr::Params::CellsSelectReq::internal_encoded_length
size_t SWC_PURE_FUNC internal_encoded_length() const override
Definition: CellsSelect.cc:22
SWC::Comm::Protocol::Bkr::Params::CellsSelectReq::cid
cid_t cid
Definition: CellsSelect.h:33
SWC::Comm::Protocol::Bkr::Params::CellsSelectReqRef::cid
cid_t cid
Definition: CellsSelect.h:61
SWC::Comm::Protocol::Bkr::Params::CellsSelectReq::CellsSelectReq
SWC_CAN_INLINE CellsSelectReq() noexcept
Definition: CellsSelect.h:22
SWC::Comm::Protocol::Bkr::Params::CellsSelectReqRef::print
void print(std::ostream &out) const
Definition: CellsSelect.cc:41
SWC::Comm::Protocol::Bkr::Params::CellsSelectRsp::data
StaticBuffer data
Definition: CellsSelect.h:96