leveldb
Public Member Functions | Private Attributes | List of all members
leveldb::anonymous_namespace{env_posix.cc}::PosixMmapReadableFile Class Reference
Inheritance diagram for leveldb::anonymous_namespace{env_posix.cc}::PosixMmapReadableFile:
Inheritance graph
[legend]
Collaboration diagram for leveldb::anonymous_namespace{env_posix.cc}::PosixMmapReadableFile:
Collaboration graph
[legend]

Public Member Functions

 PosixMmapReadableFile (const std::string &fname, void *base, size_t length, MmapLimiter *limiter)
 
virtual ~PosixMmapReadableFile ()
 
virtual Status Read (uint64_t offset, size_t n, Slice *result, char *scratch) const
 
- Public Member Functions inherited from leveldb::RandomAccessFile
 RandomAccessFile ()
 
virtual ~RandomAccessFile ()
 

Private Attributes

std::string filename_
 
void * mmapped_region_
 
size_t length_
 
MmapLimiterlimiter_
 

Detailed Description

Definition at line 142 of file env_posix.cc.

Constructor & Destructor Documentation

§ PosixMmapReadableFile()

leveldb::anonymous_namespace{env_posix.cc}::PosixMmapReadableFile::PosixMmapReadableFile ( const std::string &  fname,
void *  base,
size_t  length,
MmapLimiter limiter 
)
inline

§ ~PosixMmapReadableFile()

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

Member Function Documentation

§ Read()

virtual Status leveldb::anonymous_namespace{env_posix.cc}::PosixMmapReadableFile::Read ( uint64_t  offset,
size_t  n,
Slice result,
char *  scratch 
) const
inlinevirtual

Implements leveldb::RandomAccessFile.

Definition at line 162 of file env_posix.cc.

163  {
164  Status s;
165  if (offset + n > length_) {
166  *result = Slice();
167  s = IOError(filename_, EINVAL);
168  } else {
169  *result = Slice(reinterpret_cast<char*>(mmapped_region_) + offset, n);
170  }
171  return s;
172  }
static Status IOError(const std::string &context, int err_number)
Definition: env_posix.cc:31
Here is the call graph for this function:

Member Data Documentation

§ filename_

std::string leveldb::anonymous_namespace{env_posix.cc}::PosixMmapReadableFile::filename_
private

Definition at line 144 of file env_posix.cc.

§ length_

size_t leveldb::anonymous_namespace{env_posix.cc}::PosixMmapReadableFile::length_
private

Definition at line 146 of file env_posix.cc.

§ limiter_

MmapLimiter* leveldb::anonymous_namespace{env_posix.cc}::PosixMmapReadableFile::limiter_
private

Definition at line 147 of file env_posix.cc.

§ mmapped_region_

void* leveldb::anonymous_namespace{env_posix.cc}::PosixMmapReadableFile::mmapped_region_
private

Definition at line 145 of file env_posix.cc.


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