Bitcoin
Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
leveldb::anonymous_namespace{env_posix.cc}::PosixEnv Class Reference
Inheritance diagram for leveldb::anonymous_namespace{env_posix.cc}::PosixEnv:
leveldb::Env

Classes

struct  BGItem
 

Public Member Functions

 PosixEnv ()
 
virtual ~PosixEnv ()
 
virtual Status NewSequentialFile (const std::string &fname, SequentialFile **result)
 
virtual Status NewRandomAccessFile (const std::string &fname, RandomAccessFile **result)
 
virtual Status NewWritableFile (const std::string &fname, WritableFile **result)
 
virtual Status NewAppendableFile (const std::string &fname, WritableFile **result)
 
virtual bool FileExists (const std::string &fname)
 
virtual Status GetChildren (const std::string &dir, std::vector< std::string > *result)
 
virtual Status DeleteFile (const std::string &fname)
 
virtual Status CreateDir (const std::string &name)
 
virtual Status DeleteDir (const std::string &name)
 
virtual Status GetFileSize (const std::string &fname, uint64_t *size)
 
virtual Status RenameFile (const std::string &src, const std::string &target)
 
virtual Status LockFile (const std::string &fname, FileLock **lock)
 
virtual Status UnlockFile (FileLock *lock)
 
virtual void Schedule (void(*function)(void *), void *arg)
 
virtual void StartThread (void(*function)(void *arg), void *arg)
 
virtual Status GetTestDirectory (std::string *result)
 
virtual Status NewLogger (const std::string &fname, Logger **result)
 
virtual uint64_t NowMicros ()
 
virtual void SleepForMicroseconds (int micros)
 
- Public Member Functions inherited from leveldb::Env
 Env ()
 
virtual ~Env ()
 
virtual void Schedule (void(*function)(void *arg), void *arg)=0
 

Static Public Member Functions

static uint64_t gettid ()
 
- Static Public Member Functions inherited from leveldb::Env
static EnvDefault ()
 

Private Types

typedef std::deque< BGItemBGQueue
 

Private Member Functions

void PthreadCall (const char *label, int result)
 
void BGThread ()
 

Static Private Member Functions

static void * BGThreadWrapper (void *arg)
 

Private Attributes

pthread_mutex_t mu_
 
pthread_cond_t bgsignal_
 
pthread_t bgthread_
 
bool started_bgthread_
 
BGQueue queue_
 
PosixLockTable locks_
 
Limiter mmap_limit_
 
Limiter fd_limit_
 

Member Typedef Documentation

◆ BGQueue

typedef std::deque<BGItem> leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::BGQueue
private

Constructor & Destructor Documentation

◆ PosixEnv()

leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::PosixEnv ( )

◆ ~PosixEnv()

virtual leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::~PosixEnv ( )
inlinevirtual

Member Function Documentation

◆ BGThread()

void leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::BGThread ( )
private

◆ BGThreadWrapper()

static void* leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::BGThreadWrapper ( void *  arg)
inlinestaticprivate

◆ CreateDir()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::CreateDir ( const std::string &  name)
inlinevirtual

Implements leveldb::Env.

◆ DeleteDir()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::DeleteDir ( const std::string &  name)
inlinevirtual

Implements leveldb::Env.

◆ DeleteFile()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::DeleteFile ( const std::string &  fname)
inlinevirtual

Implements leveldb::Env.

◆ FileExists()

virtual bool leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::FileExists ( const std::string &  fname)
inlinevirtual

Implements leveldb::Env.

◆ GetChildren()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::GetChildren ( const std::string &  dir,
std::vector< std::string > *  result 
)
inlinevirtual

Implements leveldb::Env.

◆ GetFileSize()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::GetFileSize ( const std::string &  fname,
uint64_t size 
)
inlinevirtual

Implements leveldb::Env.

◆ GetTestDirectory()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::GetTestDirectory ( std::string *  result)
inlinevirtual

Implements leveldb::Env.

◆ gettid()

static uint64_t leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::gettid ( )
inlinestatic

◆ LockFile()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::LockFile ( const std::string &  fname,
FileLock **  lock 
)
inlinevirtual

Implements leveldb::Env.

◆ NewAppendableFile()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::NewAppendableFile ( const std::string &  fname,
WritableFile **  result 
)
inlinevirtual

Reimplemented from leveldb::Env.

◆ NewLogger()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::NewLogger ( const std::string &  fname,
Logger **  result 
)
inlinevirtual

Implements leveldb::Env.

◆ NewRandomAccessFile()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::NewRandomAccessFile ( const std::string &  fname,
RandomAccessFile **  result 
)
inlinevirtual

Implements leveldb::Env.

◆ NewSequentialFile()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::NewSequentialFile ( const std::string &  fname,
SequentialFile **  result 
)
inlinevirtual

Implements leveldb::Env.

◆ NewWritableFile()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::NewWritableFile ( const std::string &  fname,
WritableFile **  result 
)
inlinevirtual

Implements leveldb::Env.

◆ NowMicros()

virtual uint64_t leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::NowMicros ( )
inlinevirtual

Implements leveldb::Env.

◆ PthreadCall()

void leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::PthreadCall ( const char *  label,
int  result 
)
inlineprivate

◆ RenameFile()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::RenameFile ( const std::string &  src,
const std::string &  target 
)
inlinevirtual

Implements leveldb::Env.

◆ Schedule()

void leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::Schedule ( void(*)(void *)  function,
void *  arg 
)
virtual

◆ SleepForMicroseconds()

virtual void leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::SleepForMicroseconds ( int  micros)
inlinevirtual

Implements leveldb::Env.

◆ StartThread()

void leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::StartThread ( void(*)(void *arg)  function,
void *  arg 
)
virtual

Implements leveldb::Env.

◆ UnlockFile()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::UnlockFile ( FileLock lock)
inlinevirtual

Implements leveldb::Env.

Member Data Documentation

◆ bgsignal_

pthread_cond_t leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::bgsignal_
private

◆ bgthread_

pthread_t leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::bgthread_
private

◆ fd_limit_

Limiter leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::fd_limit_
private

◆ locks_

PosixLockTable leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::locks_
private

◆ mmap_limit_

Limiter leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::mmap_limit_
private

◆ mu_

pthread_mutex_t leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::mu_
private

◆ queue_

BGQueue leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::queue_
private

◆ started_bgthread_

bool leveldb::anonymous_namespace{env_posix.cc}::PosixEnv::started_bgthread_
private

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