0.9.8.10
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
home
doug
src
hypertable
src
cc
Hypertable
RangeServer
CellStoreScanner.h
Go to the documentation of this file.
1
/* -*- c++ -*-
2
* Copyright (C) 2007-2015 Hypertable, Inc.
3
*
4
* This file is part of Hypertable.
5
*
6
* Hypertable is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; version 3 of the
9
* License, or any later version.
10
*
11
* Hypertable is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
* 02110-1301, USA.
20
*/
21
26
27
#ifndef Hypertable_RangeServer_CellStoreScanner_h
28
#define Hypertable_RangeServer_CellStoreScanner_h
29
30
#include <
Hypertable/RangeServer/CellStore.h
>
31
#include <
Hypertable/RangeServer/CellListScanner.h
>
32
#include <
Hypertable/RangeServer/CellStoreScannerInterval.h
>
33
34
#include <
Common/DynamicBuffer.h
>
35
36
#include <memory>
37
38
namespace
Hypertable
{
39
42
45
template
<
typename
IndexT>
46
class
CellStoreScanner
:
public
CellListScanner
{
47
public
:
48
49
CellStoreScanner
(
CellStorePtr
&&cellstore,
ScanContext
*scan_ctx,
50
IndexT *indexp=0);
51
virtual
~CellStoreScanner
();
52
void
forward
()
override
;
53
bool
get
(
Key
&key,
ByteString
&value)
override
;
54
int64_t
get_disk_read
()
override
;
55
56
private
:
57
CellStorePtr
m_cellstore
;
58
std::unique_ptr<CellStoreScannerInterval>
m_interval_scanners
[3];
59
size_t
m_interval_index
{};
60
size_t
m_interval_max
{};
61
DynamicBuffer
m_key_buf
;
62
bool
m_keys_only
{};
63
bool
m_eos
{};
64
bool
m_decrement_blockindex_refcount
{};
65
};
66
68
69
}
70
71
#endif // Hypertable_RangeServer_CellStoreScanner_h
72
Hypertable::CellStoreScanner::m_interval_max
size_t m_interval_max
Definition:
CellStoreScanner.h:60
Hypertable::CellStoreScanner::CellStoreScanner
CellStoreScanner(CellStorePtr &&cellstore, ScanContext *scan_ctx, IndexT *indexp=0)
Definition:
CellStoreScanner.cc:44
Hypertable::CellStoreScanner::m_interval_scanners
std::unique_ptr< CellStoreScannerInterval > m_interval_scanners[3]
Definition:
CellStoreScanner.h:58
Hypertable::CellStoreScanner::m_decrement_blockindex_refcount
bool m_decrement_blockindex_refcount
Definition:
CellStoreScanner.h:64
Hypertable::CellStoreScanner
Provides the ability to scan over (query) a cell store.
Definition:
CellStoreScanner.h:46
Hypertable::CellStoreScanner::m_key_buf
DynamicBuffer m_key_buf
Definition:
CellStoreScanner.h:61
CellStoreScannerInterval.h
Hypertable::CellStoreScanner::~CellStoreScanner
virtual ~CellStoreScanner()
Definition:
CellStoreScanner.cc:153
Hypertable::ScanContext
Scan context information.
Definition:
ScanContext.h:52
Hypertable::CellStoreScanner::m_interval_index
size_t m_interval_index
Definition:
CellStoreScanner.h:59
Hypertable::DynamicBuffer
A dynamic, resizable and reference counted memory buffer.
Definition:
DynamicBuffer.h:42
Hypertable::ByteString
A class managing one or more serializable ByteStrings.
Definition:
ByteString.h:47
CellStore.h
Declarations for CellStore.
DynamicBuffer.h
A dynamic, resizable memory buffer.
Hypertable::CellStoreScanner::m_eos
bool m_eos
Definition:
CellStoreScanner.h:63
Hypertable::CellStoreScanner::get_disk_read
int64_t get_disk_read() override
Definition:
CellStoreScanner.cc:188
Hypertable::CellStorePtr
std::shared_ptr< CellStore > CellStorePtr
Smart pointer to CellStore.
Definition:
CellStore.h:340
Hypertable
Hypertable definitions
Definition:
ApplicationHandler.h:36
Hypertable::CellStoreScanner::m_cellstore
CellStorePtr m_cellstore
Definition:
CellStoreScanner.h:57
CellListScanner.h
Hypertable::Key
Provides access to internal components of opaque key.
Definition:
Key.h:40
Hypertable::CellStoreScanner::m_keys_only
bool m_keys_only
Definition:
CellStoreScanner.h:62
Hypertable::CellListScanner
Definition:
CellListScanner.h:34
Hypertable::CellStoreScanner::forward
void forward() override
Definition:
CellStoreScanner.cc:198
Generated on Tue Dec 22 2015 18:43:15 for Hypertable by
1.8.8