0.9.8.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Hypertable::IntervalScannerAsync Class Reference

#include <IntervalScannerAsync.h>

Collaboration diagram for Hypertable::IntervalScannerAsync:
Collaboration graph
[legend]

Public Member Functions

 IntervalScannerAsync (Comm *comm, ApplicationQueueInterfacePtr &app_queue, Table *table, RangeLocatorPtr &range_locator, const ScanSpec &scan_spec, uint32_t timeout_ms, bool current, TableScannerAsync *scanner, int id)
 Constructs a IntervalScannerAsync object. More...
 
virtual ~IntervalScannerAsync ()
 
bool abort (bool is_create)
 
bool retry_or_abort (bool refresh, bool hard, bool is_create, bool *move_to_next, int last_error)
 
bool handle_result (bool *show_results, ScanCellsPtr &cells, EventPtr &event, bool is_create)
 
bool set_current (bool *show_results, ScanCellsPtr &cells, bool abort)
 
bool has_outstanding_requests ()
 
int64_t bytes_scanned ()
 
bool is_destroyed_scanner (bool is_create)
 
ProfileDataScannerprofile_data ()
 Returns reference to profile data. More...
 

Private Member Functions

void reset_outstanding_status (bool is_create, bool reset_timer)
 
void readahead ()
 
void init (const ScanSpec &)
 
void find_range_and_start_scan (const char *row_key, bool hard=false)
 
void set_result (EventPtr &event, ScanCellsPtr &cells, bool is_create=false)
 
void load_result (ScanCellsPtr &cells)
 
void set_range_spec (DynamicBuffer &dbuf, RangeSpec &range)
 
void restart_scan (bool refresh=false)
 

Private Attributes

Tablem_table
 
SchemaPtr m_schema
 
RangeLocatorPtr m_range_locator
 
LocationCachePtr m_loc_cache
 
ScanSpecBuilder m_scan_spec_builder
 
ScanLimitState m_scan_limit_state
 
Lib::RangeServer::Client m_range_server
 
TableIdentifierManaged m_table_identifier
 
ProfileDataScanner m_profile_data
 Accumulated profile data. More...
 
bool m_eos
 
std::string m_create_scanner_row
 
RangeLocationInfo m_range_info
 
RangeLocationInfo m_next_range_info
 
bool m_fetch_outstanding
 
bool m_create_outstanding
 
EventPtr m_create_event
 
std::string m_start_row
 
std::string m_end_row
 
bool m_end_inclusive
 
uint32_t m_timeout_ms
 
bool m_current
 
int64_t m_bytes_scanned
 
CstrSet m_rowset
 
TableScannerDispatchHandler m_create_handler
 
TableScannerDispatchHandler m_fetch_handler
 
Timer m_create_timer
 
Timer m_fetch_timer
 
bool m_cur_scanner_finished
 
int m_cur_scanner_id
 
int m_state
 
Key m_last_key
 
DynamicBuffer m_last_key_buf
 
bool m_create_event_saved
 
bool m_invalid_scanner_id_ok
 
bool m_defer_readahead {}
 

Detailed Description

Definition at line 46 of file IntervalScannerAsync.h.

Constructor & Destructor Documentation

IntervalScannerAsync::IntervalScannerAsync ( Comm comm,
ApplicationQueueInterfacePtr app_queue,
Table table,
RangeLocatorPtr range_locator,
const ScanSpec scan_spec,
uint32_t  timeout_ms,
bool  current,
TableScannerAsync scanner,
int  id 
)

Constructs a IntervalScannerAsync object.

Parameters
commpointer to the Comm layer
app_queueApplication Queue pointer
tableponter to the table
range_locatorsmart pointer to range locator
scan_specreference to scan specification object
timeout_msmaximum time in milliseconds to allow scanner methods to execute before throwing an exception
currentis this scanner the current scanner being used
scannerpointer to table scanner
idscanner id

Definition at line 47 of file IntervalScannerAsync.cc.

IntervalScannerAsync::~IntervalScannerAsync ( )
virtual

Definition at line 215 of file IntervalScannerAsync.cc.

Member Function Documentation

bool IntervalScannerAsync::abort ( bool  is_create)

Definition at line 315 of file IntervalScannerAsync.cc.

int64_t Hypertable::IntervalScannerAsync::bytes_scanned ( )
inline

Definition at line 77 of file IntervalScannerAsync.h.

void IntervalScannerAsync::find_range_and_start_scan ( const char *  row_key,
bool  hard = false 
)
private

Definition at line 227 of file IntervalScannerAsync.cc.

bool IntervalScannerAsync::handle_result ( bool *  show_results,
ScanCellsPtr cells,
EventPtr event,
bool  is_create 
)

Definition at line 427 of file IntervalScannerAsync.cc.

bool Hypertable::IntervalScannerAsync::has_outstanding_requests ( )
inline

Definition at line 76 of file IntervalScannerAsync.h.

void IntervalScannerAsync::init ( const ScanSpec scan_spec)
private

Definition at line 69 of file IntervalScannerAsync.cc.

bool IntervalScannerAsync::is_destroyed_scanner ( bool  is_create)

Definition at line 325 of file IntervalScannerAsync.cc.

void IntervalScannerAsync::load_result ( ScanCellsPtr cells)
private

Definition at line 541 of file IntervalScannerAsync.cc.

ProfileDataScanner& Hypertable::IntervalScannerAsync::profile_data ( )
inline

Returns reference to profile data.

Returns
Reference to profile data

Definition at line 82 of file IntervalScannerAsync.h.

void IntervalScannerAsync::readahead ( )
private

Definition at line 621 of file IntervalScannerAsync.cc.

void IntervalScannerAsync::reset_outstanding_status ( bool  is_create,
bool  reset_timer 
)
private

Definition at line 300 of file IntervalScannerAsync.cc.

void IntervalScannerAsync::restart_scan ( bool  refresh = false)
private

Definition at line 681 of file IntervalScannerAsync.cc.

bool IntervalScannerAsync::retry_or_abort ( bool  refresh,
bool  hard,
bool  is_create,
bool *  move_to_next,
int  last_error 
)

Definition at line 338 of file IntervalScannerAsync.cc.

bool IntervalScannerAsync::set_current ( bool *  show_results,
ScanCellsPtr cells,
bool  abort 
)

Definition at line 587 of file IntervalScannerAsync.cc.

void IntervalScannerAsync::set_range_spec ( DynamicBuffer dbuf,
RangeSpec range 
)
private

Definition at line 418 of file IntervalScannerAsync.cc.

void IntervalScannerAsync::set_result ( EventPtr event,
ScanCellsPtr cells,
bool  is_create = false 
)
private

Definition at line 500 of file IntervalScannerAsync.cc.

Member Data Documentation

int64_t Hypertable::IntervalScannerAsync::m_bytes_scanned
private

Definition at line 116 of file IntervalScannerAsync.h.

EventPtr Hypertable::IntervalScannerAsync::m_create_event
private

Definition at line 110 of file IntervalScannerAsync.h.

bool Hypertable::IntervalScannerAsync::m_create_event_saved
private

Definition at line 127 of file IntervalScannerAsync.h.

TableScannerDispatchHandler Hypertable::IntervalScannerAsync::m_create_handler
private

Definition at line 118 of file IntervalScannerAsync.h.

bool Hypertable::IntervalScannerAsync::m_create_outstanding
private

Definition at line 109 of file IntervalScannerAsync.h.

std::string Hypertable::IntervalScannerAsync::m_create_scanner_row
private

Definition at line 105 of file IntervalScannerAsync.h.

Timer Hypertable::IntervalScannerAsync::m_create_timer
private

Definition at line 120 of file IntervalScannerAsync.h.

bool Hypertable::IntervalScannerAsync::m_cur_scanner_finished
private

Definition at line 122 of file IntervalScannerAsync.h.

int Hypertable::IntervalScannerAsync::m_cur_scanner_id
private

Definition at line 123 of file IntervalScannerAsync.h.

bool Hypertable::IntervalScannerAsync::m_current
private

Definition at line 115 of file IntervalScannerAsync.h.

bool Hypertable::IntervalScannerAsync::m_defer_readahead {}
private

Definition at line 129 of file IntervalScannerAsync.h.

bool Hypertable::IntervalScannerAsync::m_end_inclusive
private

Definition at line 113 of file IntervalScannerAsync.h.

std::string Hypertable::IntervalScannerAsync::m_end_row
private

Definition at line 112 of file IntervalScannerAsync.h.

bool Hypertable::IntervalScannerAsync::m_eos
private

Definition at line 104 of file IntervalScannerAsync.h.

TableScannerDispatchHandler Hypertable::IntervalScannerAsync::m_fetch_handler
private

Definition at line 119 of file IntervalScannerAsync.h.

bool Hypertable::IntervalScannerAsync::m_fetch_outstanding
private

Definition at line 108 of file IntervalScannerAsync.h.

Timer Hypertable::IntervalScannerAsync::m_fetch_timer
private

Definition at line 121 of file IntervalScannerAsync.h.

bool Hypertable::IntervalScannerAsync::m_invalid_scanner_id_ok
private

Definition at line 128 of file IntervalScannerAsync.h.

Key Hypertable::IntervalScannerAsync::m_last_key
private

Definition at line 125 of file IntervalScannerAsync.h.

DynamicBuffer Hypertable::IntervalScannerAsync::m_last_key_buf
private

Definition at line 126 of file IntervalScannerAsync.h.

LocationCachePtr Hypertable::IntervalScannerAsync::m_loc_cache
private

Definition at line 97 of file IntervalScannerAsync.h.

RangeLocationInfo Hypertable::IntervalScannerAsync::m_next_range_info
private

Definition at line 107 of file IntervalScannerAsync.h.

ProfileDataScanner Hypertable::IntervalScannerAsync::m_profile_data
private

Accumulated profile data.

Definition at line 103 of file IntervalScannerAsync.h.

RangeLocationInfo Hypertable::IntervalScannerAsync::m_range_info
private

Definition at line 106 of file IntervalScannerAsync.h.

RangeLocatorPtr Hypertable::IntervalScannerAsync::m_range_locator
private

Definition at line 96 of file IntervalScannerAsync.h.

Lib::RangeServer::Client Hypertable::IntervalScannerAsync::m_range_server
private

Definition at line 100 of file IntervalScannerAsync.h.

CstrSet Hypertable::IntervalScannerAsync::m_rowset
private

Definition at line 117 of file IntervalScannerAsync.h.

ScanLimitState Hypertable::IntervalScannerAsync::m_scan_limit_state
private

Definition at line 99 of file IntervalScannerAsync.h.

ScanSpecBuilder Hypertable::IntervalScannerAsync::m_scan_spec_builder
private

Definition at line 98 of file IntervalScannerAsync.h.

SchemaPtr Hypertable::IntervalScannerAsync::m_schema
private

Definition at line 95 of file IntervalScannerAsync.h.

std::string Hypertable::IntervalScannerAsync::m_start_row
private

Definition at line 111 of file IntervalScannerAsync.h.

int Hypertable::IntervalScannerAsync::m_state
private

Definition at line 124 of file IntervalScannerAsync.h.

Table* Hypertable::IntervalScannerAsync::m_table
private

Definition at line 94 of file IntervalScannerAsync.h.

TableIdentifierManaged Hypertable::IntervalScannerAsync::m_table_identifier
private

Definition at line 101 of file IntervalScannerAsync.h.

uint32_t Hypertable::IntervalScannerAsync::m_timeout_ms
private

Definition at line 114 of file IntervalScannerAsync.h.


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