SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
SWC::Ranger::ReqScan Class Reference

#include <swcdb/ranger/db/ReqScan.h>

+ Inheritance diagram for SWC::Ranger::ReqScan:
+ Collaboration diagram for SWC::Ranger::ReqScan:

Public Types

enum  Type : uint8_t {
  QUERY,
  BLK_PRELOAD,
  COMPACTION
}
 
typedef std::shared_ptr< ReqScanPtr
 
- Public Types inherited from SWC::DB::Cells::ReqScan
typedef std::shared_ptr< ReqScanPtr
 
- Public Types inherited from SWC::Comm::ResponseCallback
typedef std::shared_ptr< ResponseCallbackPtr
 

Public Member Functions

SWC_CAN_INLINE ReqScan (Type a_type=Type::QUERY, bool a_release_block=false, uint8_t a_readahead=1, uint32_t a_blk_size=0) noexcept
 
SWC_CAN_INLINE ReqScan (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, const DB::Cell::Key &range_begin, const DB::Cell::Key &range_end, uint32_t a_blk_size)
 
SWC_CAN_INLINE ReqScan (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, DB::Specs::Interval &&a_spec, uint32_t a_blk_size)
 
SWC_CAN_INLINE ReqScan (ReqScan &&)=delete
 
 ReqScan (const ReqScan &)=delete
 
ReqScanoperator= (const ReqScan &)=delete
 
ReqScanoperator= (ReqScan &&)=delete
 
virtual ~ReqScan () noexcept
 
SWC_CAN_INLINE Ptr get_req_scan () noexcept
 
virtual bool with_block () const noexcept
 
- Public Member Functions inherited from SWC::DB::Cells::ReqScan
SWC_CAN_INLINE ReqScan () noexcept
 
SWC_CAN_INLINE ReqScan (const DB::Specs::Interval &a_spec)
 
SWC_CAN_INLINE ReqScan (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, DB::Specs::Interval &&a_spec)
 
SWC_CAN_INLINE ReqScan (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, const DB::Specs::Interval &a_spec)
 
SWC_CAN_INLINE ReqScan (const Comm::ConnHandlerPtr &conn, const Comm::Event::Ptr &ev, const DB::Cell::Key &range_begin, const DB::Cell::Key &range_end)
 
 ReqScan (const ReqScan &)=delete
 
 ReqScan (const ReqScan &&)=delete
 
ReqScanoperator= (const ReqScan &)=delete
 
SWC_CAN_INLINE Ptr get_req_scan () noexcept
 
SWC_CAN_INLINE bool offset_adjusted () noexcept
 
virtual bool selector (const Types::KeySeq key_seq, const Cell &cell, bool &stop)
 
virtual bool reached_limits ()=0
 
virtual bool add_cell_and_more (const Cell &cell)=0
 
virtual bool has_update () const noexcept
 
virtual void update (DB::Cells::Mutable &)
 
virtual void print (std::ostream &out) const
 
- Public Member Functions inherited from SWC::Comm::ResponseCallback
 ResponseCallback (const ConnHandlerPtr &conn, const Event::Ptr &ev)
 
virtual ~ResponseCallback () noexcept
 
virtual void run ()
 
virtual bool expired (int64_t within=0) const noexcept
 
virtual void response (int &err)
 
virtual void response_ok ()
 
virtual void send_error (int err, const std::string &msg)
 

Public Attributes

Type type
 
bool release_block
 
uint8_t readahead
 
const uint32_t blk_size
 
void * block
 
- Public Attributes inherited from SWC::DB::Cells::ReqScan
DB::Specs::Interval spec
 
bool only_keys
 
uint64_t offset
 
Profile profile
 

Additional Inherited Members

- Protected Attributes inherited from SWC::Comm::ResponseCallback
ConnHandlerPtr m_conn
 
Event::Ptr m_ev
 

Detailed Description

Definition at line 21 of file ReqScan.h.

Member Typedef Documentation

◆ Ptr

typedef std::shared_ptr<ReqScan> SWC::Ranger::ReqScan::Ptr

Definition at line 30 of file ReqScan.h.

Member Enumeration Documentation

◆ Type

Enumerator
QUERY 
BLK_PRELOAD 
COMPACTION 

Definition at line 24 of file ReqScan.h.

Constructor & Destructor Documentation

◆ ReqScan() [1/5]

SWC_CAN_INLINE SWC::Ranger::ReqScan::ReqScan ( Type  a_type = Type::QUERY,
bool  a_release_block = false,
uint8_t  a_readahead = 1,
uint32_t  a_blk_size = 0 
)
inlinenoexcept

Definition at line 33 of file ReqScan.h.

References blk_size, SWC::Env::Rgr::scan_reserved_bytes_add(), and SWC_SCAN_RSVD_BUFFS.

+ Here is the call graph for this function:

◆ ReqScan() [2/5]

SWC_CAN_INLINE SWC::Ranger::ReqScan::ReqScan ( const Comm::ConnHandlerPtr conn,
const Comm::Event::Ptr ev,
const DB::Cell::Key range_begin,
const DB::Cell::Key range_end,
uint32_t  a_blk_size 
)
inline

Definition at line 45 of file ReqScan.h.

References blk_size, SWC::Env::Rgr::scan_reserved_bytes_add(), and SWC_SCAN_RSVD_BUFFS.

+ Here is the call graph for this function:

◆ ReqScan() [3/5]

SWC_CAN_INLINE SWC::Ranger::ReqScan::ReqScan ( const Comm::ConnHandlerPtr conn,
const Comm::Event::Ptr ev,
DB::Specs::Interval &&  a_spec,
uint32_t  a_blk_size 
)
inline

Definition at line 57 of file ReqScan.h.

References blk_size, SWC::Env::Rgr::scan_reserved_bytes_add(), and SWC_SCAN_RSVD_BUFFS.

+ Here is the call graph for this function:

◆ ReqScan() [4/5]

SWC_CAN_INLINE SWC::Ranger::ReqScan::ReqScan ( ReqScan &&  )
delete

◆ ReqScan() [5/5]

SWC::Ranger::ReqScan::ReqScan ( const ReqScan )
delete

◆ ~ReqScan()

virtual SWC::Ranger::ReqScan::~ReqScan ( )
inlinevirtualnoexcept

Reimplemented from SWC::DB::Cells::ReqScan.

Definition at line 75 of file ReqScan.h.

References blk_size, SWC::Env::Rgr::scan_reserved_bytes_sub(), and SWC_SCAN_RSVD_BUFFS.

+ Here is the call graph for this function:

Member Function Documentation

◆ get_req_scan()

SWC_CAN_INLINE Ptr SWC::Ranger::ReqScan::get_req_scan ( )
inlinenoexcept

Definition at line 80 of file ReqScan.h.

◆ operator=() [1/2]

ReqScan& SWC::Ranger::ReqScan::operator= ( const ReqScan )
delete

◆ operator=() [2/2]

ReqScan& SWC::Ranger::ReqScan::operator= ( ReqScan &&  )
delete

◆ with_block()

virtual bool SWC::Ranger::ReqScan::with_block ( ) const
inlinevirtualnoexcept

Reimplemented in SWC::Ranger::CompactRange.

Definition at line 84 of file ReqScan.h.

Member Data Documentation

◆ blk_size

◆ block

void* SWC::Ranger::ReqScan::block

Definition at line 92 of file ReqScan.h.

◆ readahead

uint8_t SWC::Ranger::ReqScan::readahead

Definition at line 90 of file ReqScan.h.

◆ release_block

bool SWC::Ranger::ReqScan::release_block

Definition at line 89 of file ReqScan.h.

◆ type

Type SWC::Ranger::ReqScan::type

Definition at line 88 of file ReqScan.h.


The documentation for this class was generated from the following file: