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.cc
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 
8 
9 
10 namespace SWC { namespace Comm { namespace Protocol {
11 namespace FsBroker { namespace Params {
12 
13 
16 }
17 
18 void ReaddirReq::internal_encode(uint8_t** bufp) const {
19  Serialization::encode_bytes(bufp, dirname.c_str(), dirname.size());
20 }
21 
22 void ReaddirReq::internal_decode(const uint8_t** bufp, size_t* remainp) {
24 }
25 
26 
27 
30  for(auto& entry : listing)
31  length += entry.encoded_length();
32  return length;
33 }
34 
35 void ReaddirRsp::internal_encode(uint8_t** bufp) const {
37  for(auto& entry : listing)
38  entry.encode(bufp);
39 }
40 
41 void ReaddirRsp::internal_decode(const uint8_t** bufp, size_t* remainp) {
42  listing.clear();
44  for(auto& entry : listing)
45  entry.decode(bufp, remainp);
46 }
47 
48 
49 }}}}}
SWC::Core::Vector::resize
SWC_CAN_INLINE void resize(size_type sz, ArgsT &&... args)
Definition: Vector.h:308
SWC::Core::Vector::clear
SWC_CAN_INLINE void clear() noexcept(_NoExceptDestructor)
Definition: Vector.h:120
SWC::Comm::Protocol::FsBroker::Params::ReaddirRsp::internal_encode
void internal_encode(uint8_t **bufp) const override
Definition: Readdir.cc:35
SWC::Serialization::encoded_length_bytes
constexpr SWC_CAN_INLINE size_t encoded_length_bytes(size_t len) noexcept
Definition: Serialization.h:537
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::Serialization::encode_bytes
SWC_CAN_INLINE void encode_bytes(uint8_t **bufp, const void *data, size_t len)
Definition: Serialization.h:542
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq::dirname
std::string dirname
Definition: Readdir.h:29
SWC
The SWC-DB C++ namespace 'SWC'.
Definition: main.cc:12
SWC::Comm::Protocol::FsBroker::Handler::length
void length(const ConnHandlerPtr &conn, const Event::Ptr &ev)
Definition: Length.h:17
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
SWC::Serialization::encoded_length_vi64
constexpr SWC_CAN_INLINE uint8_t encoded_length_vi64(uint64_t val) noexcept
Definition: Serialization.h:272
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq::internal_decode
void internal_decode(const uint8_t **bufp, size_t *remainp) override
Definition: Readdir.cc:22
SWC::Serialization::decode_bytes_string
SWC_CAN_INLINE std::string decode_bytes_string(const uint8_t **bufp, size_t *remainp)
Definition: Serialization.h:558
SWC::Serialization::decode_vi64
constexpr SWC_CAN_INLINE uint64_t decode_vi64(const uint8_t **bufp, size_t *remainp)
Definition: Serialization.h:302
Readdir.h
SWC::Serialization::encode_vi64
constexpr SWC_CAN_INLINE void encode_vi64(uint8_t **bufp, uint64_t val)
Definition: Serialization.h:286
SWC::Core::Vector::size
constexpr SWC_CAN_INLINE size_type size() const noexcept
Definition: Vector.h:189
SWC::Comm::Protocol::FsBroker::Params::ReaddirReq::internal_encoded_length
size_t SWC_PURE_FUNC internal_encoded_length() const override
Definition: Readdir.cc:14