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
CellStoreScannerIntervalReadahead.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
27
28
#ifndef Hypertable_RangeServer_CellStoreScannerIntervalReadahead_h
29
#define Hypertable_RangeServer_CellStoreScannerIntervalReadahead_h
30
31
#include <
Hypertable/RangeServer/CellStore.h
>
32
#include <
Hypertable/RangeServer/CellStoreScannerInterval.h
>
33
#include <
Hypertable/RangeServer/ScanContext.h
>
34
35
#include <
Common/DynamicBuffer.h
>
36
37
namespace
Hypertable
{
38
39
class
BlockCompressionCodec
;
40
43
46
template
<
typename
IndexT>
47
class
CellStoreScannerIntervalReadahead
:
public
CellStoreScannerInterval
{
48
public
:
49
50
typedef
typename
IndexT::iterator
IndexIteratorT
;
51
52
CellStoreScannerIntervalReadahead
(
CellStorePtr
&cellstore, IndexT *index,
53
SerializedKey
start_key,
SerializedKey
end_key,
ScanContext
*scan_ctx);
54
virtual
~CellStoreScannerIntervalReadahead
();
55
virtual
void
forward
();
56
virtual
bool
get
(
Key
&key,
ByteString
&value);
57
58
private
:
59
60
bool
fetch_next_block_readahead
(
bool
eob=
false
);
61
62
CellStorePtr
m_cellstore
;
63
BlockInfo
m_block
;
64
Key
m_key
;
65
SerializedKey
m_end_key
;
66
ByteString
m_cur_value
;
67
BlockCompressionCodec
*
m_zcodec
{};
68
KeyDecompressor
*
m_key_decompressor
{};
69
int32_t
m_fd
{-1};
70
int64_t
m_offset
{};
71
int64_t
m_end_offset
{};
72
bool
m_check_for_range_end
{};
73
bool
m_eos
{};
74
ScanContext
*
m_scan_ctx
{};
75
uint32_t
m_oflags
{};
76
77
};
78
80
81
}
82
83
#endif // Hypertable_RangeServer_CellStoreScannerIntervalReadahead_h
Hypertable::CellStoreScannerIntervalReadahead::m_cur_value
ByteString m_cur_value
Definition:
CellStoreScannerIntervalReadahead.h:66
Hypertable::CellStoreScannerIntervalReadahead::CellStoreScannerIntervalReadahead
CellStoreScannerIntervalReadahead(CellStorePtr &cellstore, IndexT *index, SerializedKey start_key, SerializedKey end_key, ScanContext *scan_ctx)
Definition:
CellStoreScannerIntervalReadahead.cc:50
CellStoreScannerInterval.h
Hypertable::CellStoreScannerIntervalReadahead
Provides ability to efficiently scan over a portion of a cell store.
Definition:
CellStoreScannerIntervalReadahead.h:47
Hypertable::ScanContext
Scan context information.
Definition:
ScanContext.h:52
Hypertable::CellStoreScannerIntervalReadahead::m_offset
int64_t m_offset
Definition:
CellStoreScannerIntervalReadahead.h:70
Hypertable::CellStoreScannerIntervalReadahead::m_key
Key m_key
Definition:
CellStoreScannerIntervalReadahead.h:64
Hypertable::CellStoreScannerIntervalReadahead::m_block
BlockInfo m_block
Definition:
CellStoreScannerIntervalReadahead.h:63
Hypertable::CellStoreScannerInterval
Definition:
CellStoreScannerInterval.h:30
Hypertable::ByteString
A class managing one or more serializable ByteStrings.
Definition:
ByteString.h:47
CellStore.h
Declarations for CellStore.
Hypertable::SerializedKey
Definition:
SerializedKey.h:30
Hypertable::CellStoreScannerIntervalReadahead::~CellStoreScannerIntervalReadahead
virtual ~CellStoreScannerIntervalReadahead()
Definition:
CellStoreScannerIntervalReadahead.cc:148
DynamicBuffer.h
A dynamic, resizable memory buffer.
Hypertable::CellStoreScannerIntervalReadahead::fetch_next_block_readahead
bool fetch_next_block_readahead(bool eob=false)
This method fetches the 'next' compressed block of key/value pairs from the underlying CellStore...
Definition:
CellStoreScannerIntervalReadahead.cc:237
ScanContext.h
Declarations for ScanContext.
Hypertable::CellStoreScannerIntervalReadahead::m_cellstore
CellStorePtr m_cellstore
Definition:
CellStoreScannerIntervalReadahead.h:62
Hypertable::KeyDecompressor
Definition:
KeyDecompressor.h:30
Hypertable::CellStorePtr
std::shared_ptr< CellStore > CellStorePtr
Smart pointer to CellStore.
Definition:
CellStore.h:340
Hypertable
Hypertable definitions
Definition:
ApplicationHandler.h:36
Hypertable::CellStoreScannerIntervalReadahead::m_check_for_range_end
bool m_check_for_range_end
Definition:
CellStoreScannerIntervalReadahead.h:72
Hypertable::CellStoreScannerIntervalReadahead::m_fd
int32_t m_fd
Definition:
CellStoreScannerIntervalReadahead.h:69
Hypertable::CellStoreScannerIntervalReadahead::m_oflags
uint32_t m_oflags
Definition:
CellStoreScannerIntervalReadahead.h:75
Hypertable::Key
Provides access to internal components of opaque key.
Definition:
Key.h:40
Hypertable::CellStoreScannerIntervalReadahead::m_end_key
SerializedKey m_end_key
Definition:
CellStoreScannerIntervalReadahead.h:65
Hypertable::CellStoreScannerIntervalReadahead::m_eos
bool m_eos
Definition:
CellStoreScannerIntervalReadahead.h:73
Hypertable::CellStoreScannerIntervalReadahead::m_end_offset
int64_t m_end_offset
Definition:
CellStoreScannerIntervalReadahead.h:71
Hypertable::CellStoreScannerIntervalReadahead::m_zcodec
BlockCompressionCodec * m_zcodec
Definition:
CellStoreScannerIntervalReadahead.h:67
Hypertable::CellStoreScannerIntervalReadahead::m_key_decompressor
KeyDecompressor * m_key_decompressor
Definition:
CellStoreScannerIntervalReadahead.h:68
Hypertable::CellStoreScannerIntervalReadahead::m_scan_ctx
ScanContext * m_scan_ctx
Definition:
CellStoreScannerIntervalReadahead.h:74
Hypertable::CellStoreScannerIntervalReadahead::forward
virtual void forward()
Definition:
CellStoreScannerIntervalReadahead.cc:181
Hypertable::BlockCompressionCodec
Abstract base class for block compression codecs.
Definition:
BlockCompressionCodec.h:47
Hypertable::CellStoreScannerIntervalReadahead::IndexIteratorT
IndexT::iterator IndexIteratorT
Definition:
CellStoreScannerIntervalReadahead.h:50
Generated on Tue Dec 22 2015 18:43:15 for Hypertable by
1.8.8