Bitcoin
Classes | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
leveldb::Version Class Reference

#include <version_set.h>

Classes

struct  GetStats
 
class  LevelFileNumIterator
 

Public Member Functions

void AddIterators (const ReadOptions &, std::vector< Iterator * > *iters)
 
Status Get (const ReadOptions &, const LookupKey &key, std::string *val, GetStats *stats)
 
bool UpdateStats (const GetStats &stats)
 
bool RecordReadSample (Slice key)
 
void Ref ()
 
void Unref ()
 
void GetOverlappingInputs (int level, const InternalKey *begin, const InternalKey *end, std::vector< FileMetaData * > *inputs)
 
bool OverlapInLevel (int level, const Slice *smallest_user_key, const Slice *largest_user_key)
 
int PickLevelForMemTableOutput (const Slice &smallest_user_key, const Slice &largest_user_key)
 
int NumFiles (int level) const
 
std::string DebugString () const
 

Private Member Functions

IteratorNewConcatenatingIterator (const ReadOptions &, int level) const
 
void ForEachOverlapping (Slice user_key, Slice internal_key, void *arg, bool(*func)(void *, int, FileMetaData *))
 
 Version (VersionSet *vset)
 
 ~Version ()
 
 Version (const Version &)
 
void operator= (const Version &)
 

Private Attributes

VersionSetvset_
 
Versionnext_
 
Versionprev_
 
int refs_
 
std::vector< FileMetaData * > files_ [config::kNumLevels]
 
FileMetaDatafile_to_compact_
 
int file_to_compact_level_
 
double compaction_score_
 
int compaction_level_
 

Friends

class Compaction
 
class VersionSet
 

Constructor & Destructor Documentation

◆ Version() [1/2]

leveldb::Version::Version ( VersionSet vset)
inlineexplicitprivate

◆ ~Version()

leveldb::Version::~Version ( )
private

◆ Version() [2/2]

leveldb::Version::Version ( const Version )
private

Member Function Documentation

◆ AddIterators()

void leveldb::Version::AddIterators ( const ReadOptions options,
std::vector< Iterator * > *  iters 
)

◆ DebugString()

std::string leveldb::Version::DebugString ( ) const

◆ ForEachOverlapping()

void leveldb::Version::ForEachOverlapping ( Slice  user_key,
Slice  internal_key,
void *  arg,
bool(*)(void *, int, FileMetaData *)  func 
)
private

◆ Get()

Status leveldb::Version::Get ( const ReadOptions options,
const LookupKey key,
std::string *  val,
GetStats stats 
)

◆ GetOverlappingInputs()

void leveldb::Version::GetOverlappingInputs ( int  level,
const InternalKey begin,
const InternalKey end,
std::vector< FileMetaData * > *  inputs 
)

◆ NewConcatenatingIterator()

Iterator * leveldb::Version::NewConcatenatingIterator ( const ReadOptions options,
int  level 
) const
private

◆ NumFiles()

int leveldb::Version::NumFiles ( int  level) const
inline

◆ operator=()

void leveldb::Version::operator= ( const Version )
private

◆ OverlapInLevel()

bool leveldb::Version::OverlapInLevel ( int  level,
const Slice smallest_user_key,
const Slice largest_user_key 
)

◆ PickLevelForMemTableOutput()

int leveldb::Version::PickLevelForMemTableOutput ( const Slice smallest_user_key,
const Slice largest_user_key 
)

◆ RecordReadSample()

bool leveldb::Version::RecordReadSample ( Slice  key)

◆ Ref()

void leveldb::Version::Ref ( )

◆ Unref()

void leveldb::Version::Unref ( )

◆ UpdateStats()

bool leveldb::Version::UpdateStats ( const GetStats stats)

Friends And Related Function Documentation

◆ Compaction

friend class Compaction
friend

◆ VersionSet

friend class VersionSet
friend

Member Data Documentation

◆ compaction_level_

int leveldb::Version::compaction_level_
private

◆ compaction_score_

double leveldb::Version::compaction_score_
private

◆ file_to_compact_

FileMetaData* leveldb::Version::file_to_compact_
private

◆ file_to_compact_level_

int leveldb::Version::file_to_compact_level_
private

◆ files_

std::vector<FileMetaData*> leveldb::Version::files_[config::kNumLevels]
private

◆ next_

Version* leveldb::Version::next_
private

◆ prev_

Version* leveldb::Version::prev_
private

◆ refs_

int leveldb::Version::refs_
private

◆ vset_

VersionSet* leveldb::Version::vset_
private

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