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
FragmentData.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_FragmentData_h
28
#define Hypertable_RangeServer_FragmentData_h
29
30
#include <
Hypertable/RangeServer/Range.h
>
31
#include <
Hypertable/RangeServer/ScanContext.h
>
32
33
#include <
Hypertable/Lib/CommitLog.h
>
34
#include <
Hypertable/Lib/Key.h
>
35
#include <
Hypertable/Lib/TableIdentifier.h
>
36
37
#include <
AsyncComm/Event.h
>
38
39
#include <
Common/ByteString.h
>
40
41
#include <memory>
42
#include <vector>
43
44
namespace
Hypertable
{
45
48
70
class
FragmentData
{
71
public
:
72
75
FragmentData
() {}
76
80
virtual
~FragmentData
();
81
88
void
add
(
EventPtr
&event);
89
94
void
clear
();
95
107
void
merge
(
TableIdentifier
&table,
RangePtr
&range,
CommitLogPtr
&log);
108
109
private
:
110
112
vector<EventPtr>
m_data
;
113
115
int64_t
m_memory_consumption
{};
116
};
117
119
typedef
std::shared_ptr<FragmentData>
FragmentDataPtr
;
120
122
}
123
124
#endif // Hypertable_RangeServer_FragmentData_h
Hypertable::FragmentData
Accumulates phantom update data for a phantom range.
Definition:
FragmentData.h:70
Hypertable::FragmentDataPtr
std::shared_ptr< FragmentData > FragmentDataPtr
Smart pointer to FragmentData.
Definition:
FragmentData.h:119
TableIdentifier.h
Declarations for TableIdentifier and TableIdentifierManaged.
Hypertable::FragmentData::m_data
vector< EventPtr > m_data
Vector of RangeServer::phantom_update() events.
Definition:
FragmentData.h:112
Hypertable::EventPtr
std::shared_ptr< Event > EventPtr
Smart pointer to Event.
Definition:
Event.h:228
Hypertable::FragmentData::clear
void clear()
Clears the state.
Definition:
FragmentData.cc:50
Hypertable::FragmentData::FragmentData
FragmentData()
Constructor.
Definition:
FragmentData.h:75
Event.h
Declarations for Event.
Hypertable::TableIdentifier
Table identifier.
Definition:
TableIdentifier.h:42
Key.h
Hypertable::FragmentData::merge
void merge(TableIdentifier &table, RangePtr &range, CommitLogPtr &log)
Adds accumulated data to phantom range and its transfer log.
Definition:
FragmentData.cc:57
ScanContext.h
Declarations for ScanContext.
Range.h
Declarations for Range.
Hypertable
Hypertable definitions
Definition:
ApplicationHandler.h:36
Hypertable::FragmentData::add
void add(EventPtr &event)
Adds an Event object representing a call to RangeServer::phantom_update().
Definition:
FragmentData.cc:42
Hypertable::RangePtr
std::shared_ptr< Range > RangePtr
Smart pointer to Range.
Definition:
Range.h:404
Hypertable::CommitLogPtr
std::shared_ptr< CommitLog > CommitLogPtr
Smart pointer to CommitLog.
Definition:
CommitLog.h:223
ByteString.h
A serializable ByteString.
Hypertable::FragmentData::m_memory_consumption
int64_t m_memory_consumption
Amount of memory accumulated (for memory tracking)
Definition:
FragmentData.h:115
CommitLog.h
Declarations for CommitLog.
Hypertable::FragmentData::~FragmentData
virtual ~FragmentData()
Destructor.
Definition:
FragmentData.cc:38
Generated on Tue Dec 22 2015 18:43:16 for Hypertable by
1.8.8