SWC-DB
v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
Exists.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
7
#ifndef swcdb_fsbroker_handlers_Exists_h
8
#define swcdb_fsbroker_handlers_Exists_h
9
10
#include "
swcdb/fs/Broker/Protocol/params/Exists.h
"
11
12
13
namespace
SWC
{
namespace
Comm {
namespace
Protocol {
14
namespace
FsBroker {
namespace
Handler {
15
16
17
void
exists
(
const
ConnHandlerPtr
& conn,
const
Event::Ptr
& ev) {
18
19
int
err =
Error::OK
;
20
bool
exists
=
false
;
21
try
{
22
23
const
uint8_t *ptr = ev->data.base;
24
size_t
remain = ev->data.size;
25
26
Params::ExistsReq
params;
27
params.
decode
(&ptr, &remain);
28
29
exists
=
Env::FsInterface::fs
()->exists(err, params.
fname
);
30
31
}
catch
(...) {
32
const
Error::Exception
& e =
SWC_CURRENT_EXCEPTION
(
""
);
33
SWC_LOG_OUT
(
LOG_ERROR
,
SWC_LOG_OSTREAM
<< e; );
34
err = e.
code
();
35
}
36
37
auto
cbp =
Buffers::make
(ev,
Params::ExistsRsp
(
exists
), 4);
38
cbp->append_i32(err);
39
conn->send_response(cbp);
40
41
}
42
43
44
}}}}}
45
46
#endif // swcdb_fsbroker_handlers_Exists_h
SWC::Error::Exception::code
constexpr SWC_CAN_INLINE int code() const noexcept
Definition:
Exception.h:51
SWC_LOG_OSTREAM
#define SWC_LOG_OSTREAM
Definition:
Logger.h:44
SWC::Comm::Protocol::FsBroker::Params::ExistsReq
Definition:
Exists.h:17
SWC_LOG_OUT
#define SWC_LOG_OUT(pr, _code_)
Definition:
Logger.h:178
SWC::Comm::Protocol::FsBroker::Handler::exists
void exists(const ConnHandlerPtr &conn, const Event::Ptr &ev)
Definition:
Exists.h:17
SWC::Comm::Protocol::FsBroker::Params::ExistsReq::fname
std::string fname
Definition:
Exists.h:28
SWC::Error::OK
@ OK
Definition:
Error.h:45
SWC_CURRENT_EXCEPTION
#define SWC_CURRENT_EXCEPTION(_msg_)
Definition:
Exception.h:119
SWC
The SWC-DB C++ namespace 'SWC'.
Definition:
main.cc:12
SWC::Env::FsInterface::fs
static SWC_CAN_INLINE FS::FileSystem::Ptr & fs() noexcept
Definition:
Interface.h:155
SWC::Comm::Protocol::FsBroker::Params::ExistsRsp
Definition:
Exists.h:43
SWC::LOG_ERROR
@ LOG_ERROR
Definition:
Logger.h:32
SWC::Comm::ConnHandlerPtr
std::shared_ptr< ConnHandler > ConnHandlerPtr
Definition:
AppContext.h:17
SWC::Comm::Buffers::make
static SWC_CAN_INLINE Ptr make(uint32_t reserve=0)
Definition:
Buffers.h:27
SWC::Comm::Serializable::decode
void decode(const uint8_t **bufp, size_t *remainp)
Definition:
Serializable.h:59
SWC::Comm::Event::Ptr
std::shared_ptr< Event > Ptr
Definition:
Event.h:33
Exists.h
SWC::Error::Exception
Definition:
Exception.h:21
include
swcdb
fsbroker
handlers
Exists.h
Generated on Sat Jun 3 2023 18:00:07 for SWC-DB by
1.8.20