SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
Readdir.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_fs_Broker_Protocol_params_Readdir_h
7 #define swcdb_fs_Broker_Protocol_params_Readdir_h
8 
9 
11 #include "swcdb/fs/Dirent.h"
12 
13 
14 namespace SWC { namespace Comm { namespace Protocol {
15 namespace FsBroker { namespace Params {
16 
17 
18 class ReaddirReq final : public Serializable {
19  public:
20 
22  ReaddirReq() noexcept : dirname() { }
23 
25  ReaddirReq(const std::string& a_dirname) : dirname(a_dirname) { }
26 
27  ~ReaddirReq() noexcept { }
28 
29  std::string dirname;
30 
31  private:
32 
33  size_t SWC_PURE_FUNC internal_encoded_length() const override;
34 
35  void internal_encode(uint8_t** bufp) const override;
36 
37  void internal_decode(const uint8_t** bufp, size_t* remainp) override;
38 
39 };
40 
41 
42 class ReaddirRsp final : public Serializable {
43  public:
44 
46 
48  ReaddirRsp() noexcept: listing() { }
49 
50  ~ReaddirRsp() noexcept { }
51 
52  private:
53 
54  size_t SWC_PURE_FUNC internal_encoded_length() const override;
55 
56  void internal_encode(uint8_t** bufp) const override;
57 
58  void internal_decode(const uint8_t** bufp, size_t* remainp) override;
59 
60 };
61 
62 }}}}}
63 
64 
65 #if defined(SWC_IMPL_SOURCE) or \
66  (defined(FS_BROKER_APP) and !defined(BUILTIN_FS_BROKER))
68 #endif
69 
70 
71 #endif // swcdb_fs_Broker_Protocol_params_Readdir_h
SWC::Comm::Protocol::FsBroker::Params::ReaddirRsp::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: Readdir.cc:35
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq
Definition: Readdir.h:18
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: Readdir.cc:18
SWC::Comm::Protocol::FsBroker::Params::ReaddirRsp::listing
FS::DirentList listing
Definition: Readdir.h:45
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq::~ReaddirReq
~ReaddirReq() noexcept
Definition: Readdir.h:27
SWC::Comm::Protocol::FsBroker::Params::ReaddirRsp::~ReaddirRsp
~ReaddirRsp() noexcept
Definition: Readdir.h:50
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq::ReaddirReq
SWC_CAN_INLINE ReaddirReq() noexcept
Definition: Readdir.h:22
SWC_CAN_INLINE
#define SWC_CAN_INLINE
Definition: Compat.h:102
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq::dirname
std::string dirname
Definition: Readdir.h:29
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq::ReaddirReq
SWC_CAN_INLINE ReaddirReq(const std::string &a_dirname)
Definition: Readdir.h:25
Dirent.h
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC_PURE_FUNC
#define SWC_PURE_FUNC
Definition: Compat.h:108
SWC::Comm::Protocol::FsBroker::Params::ReaddirRsp::ReaddirRsp
SWC_CAN_INLINE ReaddirRsp() noexcept
Definition: Readdir.h:48
SWC::Comm::Serializable
Definition: Serializable.h:18
SWC::Comm::Protocol::FsBroker::Params::ReaddirRsp::internal_encoded_length
size_t SWC_PURE_FUNC internal_encoded_length() const override
Definition: Readdir.cc:28
SWC::Comm::Protocol::FsBroker::Params::ReaddirRsp::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: Readdir.cc:41
Serializable.h
SWC::Core::Vector< Dirent >
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: Readdir.cc:22
Readdir.cc
SWC::Comm::Protocol::FsBroker::Params::ReaddirRsp
Definition: Readdir.h:42
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq::internal_encoded_length
size_t SWC_PURE_FUNC internal_encoded_length() const override
Definition: Readdir.cc:14