|
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.
7 #ifndef swcdb_ranger_db_CommitLogSplitter_h
8 #define swcdb_ranger_db_CommitLogSplitter_h
11 namespace SWC {
namespace Ranger {
namespace CommitLog {
34 "COMPACT-SPLIT commitlog START "
62 frag->processing_increment();
72 "COMPACT-SPLIT commitlog FINISH "
77 skipped, moved, splitted
83 if(!frag->loaded(err)) {
89 std::this_thread::sleep_for(std::chrono::milliseconds(1000));
96 Task(
Splitter* a_ptr) noexcept : ptr(a_ptr) { }
97 void operator()() { ptr->
split(); }
128 #endif // swcdb_ranger_db_CommitLogSplitter_h
SWC_CAN_INLINE iterator erase(size_type offset) noexcept(_NoExceptMoveAssign &&_NoExceptDestructor)
std::shared_ptr< Fragment > Ptr
SWC_CAN_INLINE void split()
SWC_CAN_INLINE bool push_and_is_1st(const ItemT &item)
Fragment::Ptr take_ownership(int &err, Fragment::Ptr &frag)
Fragments::Vec & m_fragments
#define SWC_LOGF(priority, fmt,...)
#define SWC_LOG_OUT(pr, _code_)
Splitter & operator=(const Splitter &)=delete
SWC_CAN_INLINE ItemT & front() noexcept
SWC_CAN_INLINE bool pop_and_more()
The SWC-DB C++ namespace 'SWC'.
void remove(int &err, Vec &fragments_old)
void loaded(Fragment::Ptr &&frag) override
Splitter(const Splitter &&)=delete
Splitter(const Splitter &)=delete
Splitter(const DB::Cell::Key &a_key, Fragments::Vec &fragments, Fragments::Ptr a_log_left, Fragments::Ptr a_log_right)
constexpr SWC_CAN_INLINE const_iterator cend() const noexcept
Core::QueueSafe< Fragment::Ptr > m_splitting
static SWC_CAN_INLINE void post(T_Handler &&handler)
void print(std::ostream &out, int err)
constexpr SWC_CAN_INLINE const_iterator cbegin() const noexcept
constexpr SWC_CAN_INLINE size_type size() const noexcept
Condition::Comp compare(const Types::KeySeq seq, const Cell::Key &key, const Cell::Key &other) SWC_ATTRIBS((SWC_ATTRIB_O3))