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