 |
SWC-DB
v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
|
Go to the documentation of this file.
12 namespace SWC {
namespace client {
namespace Query {
namespace Select {
18 Cb_t&& cb,
bool rsp_partials,
24 m_cb(std::move(cb)), m_dispatcher_io(io),
25 m_notify(m_cb && rsp_partials),
27 m_sending_result(
false) {
33 cid, buffer, reached_limit, interval);
83 m_cv.wait(lock_wait, [
this] () {
102 m_cv.wait(lock_wait, [
this] () {
119 Task(
Ptr&& a_hdlr) noexcept : hdlr(std::move(a_hdlr)) { }
121 Task(Task&& other) noexcept : hdlr(std::move(other.hdlr)) { }
122 Task(
const Task&) =
delete;
130 hdlr->m_sending_result.stop();
131 hdlr->m_cv.notify_all();
135 ->post(Task(std::dynamic_pointer_cast<Common>(shared_from_this())));
constexpr SWC_CAN_INLINE bool compare_exchange_weak(T &at, T value) noexcept
virtual size_t get_size_bytes() noexcept override
std::function< void(Ptr)> Cb_t
std::shared_ptr< IoContext > IoContextPtr
Base & operator=(const Base &)=delete
Core::Atomic< uint8_t > buff_ahead
Common(const Clients::Ptr &clients, Cb_t &&cb, bool rsp_partials=false, const Comm::IoContextPtr &io=nullptr, Clients::Flag executor=Clients::DEFAULT) noexcept
virtual bool add_cells(const cid_t cid, StaticBuffer &buffer, bool reached_limit, DB::Specs::Interval &interval) override
Core::Atomic< uint32_t > buff_sz
virtual void free(const cid_t cid)
Core::StateRunning m_sending_result
Comm::IoContextPtr m_dispatcher_io
std::condition_variable m_cv
virtual bool valid() noexcept override
The SWC-DB C++ namespace 'SWC'.
virtual void response(int err) override
Core::CompletionCounter< uint64_t > completion
SWC_CAN_INLINE void finished() noexcept
constexpr SWC_CAN_INLINE bool running() noexcept
virtual bool add_cells(const cid_t cid, StaticBuffer &buffer, bool reached_limit, DB::Specs::Interval &interval) override
std::shared_ptr< Base > Ptr
constexpr SWC_CAN_INLINE CountT count() const noexcept
virtual void free(const cid_t cid) override
Core::Atomic< int > state_error
Core::AtomicBool valid_state
virtual void get_cells(const cid_t cid, DB::Cells::Result &cells) override
virtual void get_cells(const cid_t cid, DB::Cells::Result &cells)