SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
ColumnList.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_ColumnList_h
7 #define swcdb_db_protocol_mngr_params_ColumnList_h
8 
9 
12 
13 
14 namespace SWC { namespace Comm { namespace Protocol {
15 namespace Mngr { namespace Params {
16 
17 
18 class ColumnListReq final : public Serializable {
19  public:
20 
22  ColumnListReq() noexcept : patterns() { }
23 
26  : patterns(a_patterns) {
27  }
28 
30  ~ColumnListReq() noexcept { }
31 
33 
34  private:
35 
36  size_t SWC_PURE_FUNC internal_encoded_length() const override;
37 
38  void internal_encode(uint8_t** bufp) const override;
39 
40  void internal_decode(const uint8_t** bufp, size_t* remainp) override;
41 
42 };
43 
44 
45 
46 class ColumnListRsp final : public Serializable {
47  public:
48 
50  ColumnListRsp() noexcept : expected(0), schemas() { }
51 
53  ~ColumnListRsp() noexcept { }
54 
55  uint64_t expected;
57 
58  private:
59 
60  size_t internal_encoded_length() const override;
61 
62  void internal_encode(uint8_t** bufp) const override;
63 
64  void internal_decode(const uint8_t** bufp, size_t* remainp) override;
65 
66 };
67 
68 }}}}}
69 
70 
71 #ifdef SWC_IMPL_SOURCE
73 #endif
74 
75 #endif // swcdb_db_protocol_params_ColumnListRsp_h
SWC::Comm::Protocol::Mngr::Params::ColumnListRsp::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: ColumnList.cc:89
SWC::Comm::Protocol::Mngr::Params::ColumnListReq::~ColumnListReq
SWC_CAN_INLINE ~ColumnListReq() noexcept
Definition: ColumnList.h:30
SWC::Comm::Protocol::Mngr::Params::ColumnListReq
Definition: ColumnList.h:18
SWC::Comm::Protocol::Mngr::Params::ColumnListReq::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: ColumnList.cc:54
SWC::Comm::Protocol::Mngr::Params::ColumnListReq::patterns
DB::Schemas::SelectorPatterns patterns
Definition: ColumnList.h:32
ColumnList.cc
SWC::DB::Schemas::SelectorPatterns
Definition: Schemas.h:100
SWC::Comm::Protocol::Mngr::Params::ColumnListRsp::internal_encoded_length
size_t internal_encoded_length() const override
Definition: ColumnList.cc:81
SWC::Comm::Protocol::Mngr::Params::ColumnListRsp::~ColumnListRsp
SWC_CAN_INLINE ~ColumnListRsp() noexcept
Definition: ColumnList.h:53
SWC::Comm::Protocol::Mngr::Params::ColumnListReq::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: ColumnList.cc:32
SWC::Comm::Protocol::Mngr::Params::ColumnListReq::internal_encoded_length
size_t SWC_PURE_FUNC internal_encoded_length() const override
Definition: ColumnList.cc:17
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
SWC::Comm::Protocol::Mngr::Params::ColumnListReq::ColumnListReq
SWC_CAN_INLINE ColumnListReq(const DB::Schemas::SelectorPatterns &a_patterns)
Definition: ColumnList.h:25
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC_PURE_FUNC
#define SWC_PURE_FUNC
Definition: Compat.h:108
SWC::Comm::Serializable
Definition: Serializable.h:18
Serializable.h
SWC::Comm::Protocol::Mngr::Params::ColumnListReq::ColumnListReq
SWC_CAN_INLINE ColumnListReq() noexcept
Definition: ColumnList.h:22
SWC::Core::Vector< Schema::Ptr >
SWC::Comm::Protocol::Mngr::Params::ColumnListRsp::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: ColumnList.cc:96
Schemas.h
SWC::Comm::Protocol::Mngr::Params::ColumnListRsp::ColumnListRsp
SWC_CAN_INLINE ColumnListRsp() noexcept
Definition: ColumnList.h:50
SWC::Comm::Protocol::Mngr::Params::ColumnListRsp::expected
uint64_t expected
Definition: ColumnList.h:55
SWC::Comm::Protocol::Mngr::Params::ColumnListRsp
Definition: ColumnList.h:46
SWC::Comm::Protocol::Mngr::Params::ColumnListRsp::schemas
DB::SchemasVec schemas
Definition: ColumnList.h:56