A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PartitionedFileMetaData Class Reference

#include <PartitionedFileMetaData.h>

+ Collaboration diagram for PartitionedFileMetaData:

Public Member Functions

 PartitionedFileMetaData ()
 
 ~PartitionedFileMetaData ()
 
unsigned int getNumFlushedPages () const
 
void setNumFlushedPages (unsigned int numFlushedPages)
 
void addPageIndex (PageID pageId, FilePartitionID partitionId, unsigned int pageSeqInPartition)
 
PageIndex getPageIndex (PageID pageId)
 
PageID getPageId (FilePartitionID partitionId, unsigned int pageSeqInPartition)
 
void incNumFlushedPages ()
 
size_t getPageSize () const
 
PageID getLatestPageId () const
 
void setPageSize (size_t pageSize)
 
vector< PartitionMetaDataPtr > * getPartitions () const
 
PartitionMetaDataPtr getPartition (FilePartitionID partitionId) const
 
void setPartitions (vector< PartitionMetaDataPtr > *partitions=nullptr)
 
void addPartition (PartitionMetaDataPtr partition)
 
unsigned short getVersion () const
 
void setVersion (unsigned short version)
 
void setLatestPageId (PageID pageId)
 
unordered_map< PageID,
PageIndex > * 
getPageIndexes ()
 

Private Attributes

unsigned short version
 
vector< PartitionMetaDataPtr > * partitions = nullptr
 
size_t pageSize
 
unsigned int numFlushedPages
 
PageID latestPageId
 
unordered_map< PageID,
PageIndex > * 
pageIndexes = nullptr
 
unordered_map< PageIndex,
PageID, PageIndexHash,
PageIndexEqual > * 
pageIds = nullptr
 
pthread_mutex_t metaMutex
 
pthread_mutex_t indexMutex
 

Detailed Description

This class wraps the meta data format for PartitionedFile instance.

Definition at line 66 of file PartitionedFileMetaData.h.

Constructor & Destructor Documentation

PartitionedFileMetaData::PartitionedFileMetaData ( )
inline

Definition at line 69 of file PartitionedFileMetaData.h.

PartitionedFileMetaData::~PartitionedFileMetaData ( )
inline

Definition at line 81 of file PartitionedFileMetaData.h.

Member Function Documentation

void PartitionedFileMetaData::addPageIndex ( PageID  pageId,
FilePartitionID  partitionId,
unsigned int  pageSeqInPartition 
)
inline

Definition at line 106 of file PartitionedFileMetaData.h.

void PartitionedFileMetaData::addPartition ( PartitionMetaDataPtr  partition)
inline

Definition at line 180 of file PartitionedFileMetaData.h.

PageID PartitionedFileMetaData::getLatestPageId ( ) const
inline

Definition at line 155 of file PartitionedFileMetaData.h.

unsigned int PartitionedFileMetaData::getNumFlushedPages ( ) const
inline

Definition at line 97 of file PartitionedFileMetaData.h.

PageID PartitionedFileMetaData::getPageId ( FilePartitionID  partitionId,
unsigned int  pageSeqInPartition 
)
inline

Definition at line 128 of file PartitionedFileMetaData.h.

PageIndex PartitionedFileMetaData::getPageIndex ( PageID  pageId)
inline

Definition at line 116 of file PartitionedFileMetaData.h.

unordered_map<PageID, PageIndex>* PartitionedFileMetaData::getPageIndexes ( )
inline

Definition at line 203 of file PartitionedFileMetaData.h.

size_t PartitionedFileMetaData::getPageSize ( ) const
inline

Definition at line 150 of file PartitionedFileMetaData.h.

PartitionMetaDataPtr PartitionedFileMetaData::getPartition ( FilePartitionID  partitionId) const
inline

Definition at line 170 of file PartitionedFileMetaData.h.

vector<PartitionMetaDataPtr>* PartitionedFileMetaData::getPartitions ( ) const
inline

Definition at line 165 of file PartitionedFileMetaData.h.

unsigned short PartitionedFileMetaData::getVersion ( ) const
inline

Definition at line 188 of file PartitionedFileMetaData.h.

void PartitionedFileMetaData::incNumFlushedPages ( )
inline

Definition at line 143 of file PartitionedFileMetaData.h.

void PartitionedFileMetaData::setLatestPageId ( PageID  pageId)
inline

Definition at line 199 of file PartitionedFileMetaData.h.

void PartitionedFileMetaData::setNumFlushedPages ( unsigned int  numFlushedPages)
inline

Definition at line 102 of file PartitionedFileMetaData.h.

void PartitionedFileMetaData::setPageSize ( size_t  pageSize)
inline

Definition at line 160 of file PartitionedFileMetaData.h.

void PartitionedFileMetaData::setPartitions ( vector< PartitionMetaDataPtr > *  partitions = nullptr)
inline

Definition at line 175 of file PartitionedFileMetaData.h.

void PartitionedFileMetaData::setVersion ( unsigned short  version)
inline

Definition at line 193 of file PartitionedFileMetaData.h.

Member Data Documentation

pthread_mutex_t PartitionedFileMetaData::indexMutex
private

Definition at line 222 of file PartitionedFileMetaData.h.

PageID PartitionedFileMetaData::latestPageId
private

Definition at line 217 of file PartitionedFileMetaData.h.

pthread_mutex_t PartitionedFileMetaData::metaMutex
private

Definition at line 221 of file PartitionedFileMetaData.h.

unsigned int PartitionedFileMetaData::numFlushedPages
private

Definition at line 215 of file PartitionedFileMetaData.h.

unordered_map<PageIndex, PageID, PageIndexHash, PageIndexEqual>* PartitionedFileMetaData::pageIds = nullptr
private

Definition at line 220 of file PartitionedFileMetaData.h.

unordered_map<PageID, PageIndex>* PartitionedFileMetaData::pageIndexes = nullptr
private

Definition at line 219 of file PartitionedFileMetaData.h.

size_t PartitionedFileMetaData::pageSize
private

Definition at line 213 of file PartitionedFileMetaData.h.

vector<PartitionMetaDataPtr>* PartitionedFileMetaData::partitions = nullptr
private

Definition at line 211 of file PartitionedFileMetaData.h.

unsigned short PartitionedFileMetaData::version
private

Definition at line 209 of file PartitionedFileMetaData.h.


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