SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
ColumnCompact.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_rgr_params_ColumnCompact_h
7 #define swcdb_db_protocol_rgr_params_ColumnCompact_h
8 
11 
12 
13 namespace SWC { namespace Comm { namespace Protocol {
14 namespace Rgr { namespace Params {
15 
16 
17 class ColumnCompactReq final : public Serializable {
18  public:
19 
21  ColumnCompactReq(cid_t a_cid=0) noexcept : cid(a_cid) { }
22 
23  //~ColumnCompactReq() { }
24 
26 
27  std::string to_string() const;
28 
29  private:
30 
31  size_t SWC_PURE_FUNC internal_encoded_length() const override;
32 
33  void internal_encode(uint8_t** bufp) const override;
34 
35  void internal_decode(const uint8_t** bufp, size_t* remainp) override;
36 
37 };
38 
39 
40 
41 class ColumnCompactRsp final : public Serializable {
42  public:
43 
45  ColumnCompactRsp(int a_err = Error::OK) noexcept : err(a_err) { }
46 
47  ColumnCompactRsp(int err, const uint8_t* ptr, size_t remain) noexcept;
48 
49  //~ColumnCompactRsp() { }
50 
51  int err;
52 
53  std::string to_string() const;
54 
55  private:
56 
57  size_t SWC_PURE_FUNC internal_encoded_length() const override;
58 
59  void internal_encode(uint8_t** bufp) const override;
60 
61  void internal_decode(const uint8_t** bufp, size_t* remainp) override;
62 
63 };
64 
65 
66 }}}}}
67 
68 
69 #ifdef SWC_IMPL_SOURCE
71 #endif
72 
73 #endif // swcdb_db_protocol_rgr_params_ColumnCompact_h
SWC::Comm::Protocol::Rgr::Params::ColumnCompactRsp::ColumnCompactRsp
SWC_CAN_INLINE ColumnCompactRsp(int a_err=Error::OK) noexcept
Definition: ColumnCompact.h:45
SWC::Comm::Protocol::Rgr::Params::ColumnCompactReq::to_string
std::string to_string() const
Definition: ColumnCompact.cc:15
SWC::Comm::Protocol::Rgr::Params::ColumnCompactReq::ColumnCompactReq
SWC_CAN_INLINE ColumnCompactReq(cid_t a_cid=0) noexcept
Definition: ColumnCompact.h:21
SWC::Comm::Protocol::Rgr::Params::ColumnCompactReq::cid
cid_t cid
Definition: ColumnCompact.h:25
SWC::Comm::Protocol::Rgr::Params::ColumnCompactRsp::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: ColumnCompact.cc:70
SWC::Error::OK
@ OK
Definition: Error.h:45
ColumnCompact.cc
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
SWC::Comm::Protocol::Rgr::Params::ColumnCompactRsp::to_string
std::string to_string() const
Definition: ColumnCompact.cc:49
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC::Comm::Protocol::Rgr::Params::ColumnCompactRsp::err
int err
Definition: ColumnCompact.h:51
SWC_PURE_FUNC
#define SWC_PURE_FUNC
Definition: Compat.h:108
SWC::Comm::Protocol::Rgr::Params::ColumnCompactRsp::internal_encoded_length
size_t SWC_PURE_FUNC internal_encoded_length() const override
Definition: ColumnCompact.cc:62
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::Rgr::Params::ColumnCompactReq::internal_encoded_length
size_t SWC_PURE_FUNC internal_encoded_length() const override
Definition: ColumnCompact.cc:23
SWC::Comm::Protocol::Rgr::Params::ColumnCompactRsp::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: ColumnCompact.cc:66
SWC::Comm::Protocol::Rgr::Params::ColumnCompactRsp
Definition: ColumnCompact.h:41
SWC::Comm::Protocol::Rgr::Params::ColumnCompactReq
Definition: ColumnCompact.h:17
SWC::Comm::Protocol::Rgr::Params::ColumnCompactReq::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: ColumnCompact.cc:31
SWC::Comm::Protocol::Rgr::Params::ColumnCompactReq::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: ColumnCompact.cc:27