mongo::MemoryMappedFile Class Reference

#include <mmap.h>

Inheritance diagram for mongo::MemoryMappedFile:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void close ()
void * create (string filename, unsigned long long len, bool zero)
void * createPrivateMap ()
void * createReadOnlyMap ()
void flush (bool sync)
unsigned long long length () const
void * map (const char *filename, unsigned long long &length, int options=0)
void * map (const char *filename)
void * mapWithOptions (const char *filename, int options)
 MemoryMappedFile ()
virtual FlushableprepareFlush ()
long shortLength () const
virtual ~MemoryMappedFile ()

Static Public Member Functions

static void makeWritable (void *, unsigned len)

Protected Member Functions

virtual void _lock ()
virtual void _unlock ()
void * remapPrivateView (void *oldPrivateAddr)

Private Member Functions

void clearWritableBits (void *privateView)

Static Private Member Functions

static void updateLength (const char *filename, unsigned long long &length)

Private Attributes

HANDLE fd
unsigned long long len
HANDLE maphandle
vector< void * > views

Detailed Description

Definition at line 137 of file mmap.h.


Constructor & Destructor Documentation

mongo::MemoryMappedFile::MemoryMappedFile (  ) 
virtual mongo::MemoryMappedFile::~MemoryMappedFile (  )  [inline, virtual]

Definition at line 141 of file mmap.h.


Member Function Documentation

virtual void mongo::MemoryMappedFile::_lock (  )  [protected, virtual]

Reimplemented from mongo::MongoFile.

virtual void mongo::MemoryMappedFile::_unlock (  )  [protected, virtual]

Reimplemented from mongo::MongoFile.

void mongo::MemoryMappedFile::clearWritableBits ( void *  privateView  )  [inline, private]

Definition at line 198 of file mmap.h.

virtual void mongo::MemoryMappedFile::close (  )  [virtual]

Implements mongo::MongoFile.

Reimplemented in mongo::MongoMMF.

void* mongo::MemoryMappedFile::create ( string  filename,
unsigned long long  len,
bool  zero 
)
void* mongo::MemoryMappedFile::createPrivateMap (  ) 
void* mongo::MemoryMappedFile::createReadOnlyMap (  ) 

create a new view with the specified properties. automatically cleaned up upon close/destruction of the MemoryMappedFile object.

void mongo::MemoryMappedFile::flush ( bool  sync  )  [virtual]

Implements mongo::MongoFile.

Reimplemented in mongo::MongoMMF.

unsigned long long mongo::MemoryMappedFile::length (  )  const [inline, virtual]

Implements mongo::MongoFile.

Reimplemented in mongo::MongoMMF.

Definition at line 167 of file mmap.h.

static void mongo::MemoryMappedFile::makeWritable ( void *  ,
unsigned  len 
) [inline, static]

make the private map range writable (necessary for our windows implementation)

Definition at line 176 of file mmap.h.

void* mongo::MemoryMappedFile::map ( const char *  filename,
unsigned long long &  length,
int  options = 0 
)
void* mongo::MemoryMappedFile::map ( const char *  filename  ) 
void* mongo::MemoryMappedFile::mapWithOptions ( const char *  filename,
int  options 
)
virtual Flushable* mongo::MemoryMappedFile::prepareFlush (  )  [virtual]

returns a thread safe object that you can call flush on Flushable has to fail nicely if the underlying object gets killed

Implements mongo::MongoFile.

void* mongo::MemoryMappedFile::remapPrivateView ( void *  oldPrivateAddr  )  [protected]

close the current private view and open a new replacement

long mongo::MemoryMappedFile::shortLength (  )  const [inline]

Definition at line 166 of file mmap.h.

static void mongo::MemoryMappedFile::updateLength ( const char *  filename,
unsigned long long &  length 
) [static, private]

Member Data Documentation

Definition at line 186 of file mmap.h.

unsigned long long mongo::MemoryMappedFile::len [private]

Definition at line 189 of file mmap.h.

Definition at line 187 of file mmap.h.

vector<void *> mongo::MemoryMappedFile::views [private]

Definition at line 188 of file mmap.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


mongodb
Author(s): Nate Koenig
autogenerated on Fri Jan 11 12:15:56 2013