mongo::MongoFile Class Reference

#include <mmap.h>

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

List of all members.

Classes

class  Flushable

Public Types

enum  Options { SEQUENTIAL = 1, READONLY = 2 }

Public Member Functions

string filename () const
virtual bool isMongoMMF ()
void setFilename (string fn)
virtual ~MongoFile ()

Static Public Member Functions

static void closeAllFiles (stringstream &message)
static bool exists (boost::filesystem::path p)
static int flushAll (bool sync)
template<class F >
static void forEach (F fun)
static set< MongoFile * > & getAllFiles ()
static void markAllWritable ()
static long long totalMappedLength ()
static void unmarkAllWritable ()

Static Public Attributes

static RWLock mmmutex
static void(* notifyPostFlush )()
static void(* notifyPreFlush )()
static map< string, MongoFile * > pathToFile

Protected Member Functions

virtual void _lock ()
virtual void _unlock ()
virtual void close ()=0
void created ()
void destroyed ()
virtual void flush (bool sync)=0
virtual unsigned long long length () const =0
virtual FlushableprepareFlush ()=0

Static Protected Attributes

static set< MongoFile * > mmfiles

Static Private Member Functions

static int _flushAll (bool sync)

Private Attributes

string _filename

Detailed Description

Definition at line 25 of file mmap.h.


Member Enumeration Documentation

Enumerator:
SEQUENTIAL 
READONLY 

Definition at line 36 of file mmap.h.


Constructor & Destructor Documentation

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

Definition at line 34 of file mmap.h.


Member Function Documentation

static int mongo::MongoFile::_flushAll ( bool  sync  )  [static, private]
virtual void mongo::MongoFile::_lock (  )  [inline, protected, virtual]

Reimplemented in mongo::MemoryMappedFile.

Definition at line 97 of file mmap.h.

virtual void mongo::MongoFile::_unlock (  )  [inline, protected, virtual]

Reimplemented in mongo::MemoryMappedFile.

Definition at line 98 of file mmap.h.

virtual void mongo::MongoFile::close (  )  [protected, pure virtual]
static void mongo::MongoFile::closeAllFiles ( stringstream &  message  )  [static]
void mongo::MongoFile::created (  )  [protected]
void mongo::MongoFile::destroyed (  )  [protected]
static bool mongo::MongoFile::exists ( boost::filesystem::path  p  )  [inline, static]

Definition at line 66 of file mmap.h.

string mongo::MongoFile::filename (  )  const [inline]

Reimplemented in mongo::MongoMMF.

Definition at line 70 of file mmap.h.

virtual void mongo::MongoFile::flush ( bool  sync  )  [protected, pure virtual]
static int mongo::MongoFile::flushAll ( bool  sync  )  [static]
template<class F >
void mongo::MongoFile::forEach ( p  )  [inline, static]
Parameters:
fun is called for each MongoFile. calledl from within a mutex that MongoFile uses. so be careful not to deadlock.

p is called from within a mutex that MongoFile uses. so be careful not to deadlock.

Definition at line 214 of file mmap.h.

static set<MongoFile*>& mongo::MongoFile::getAllFiles (  )  [inline, static]

note: you need to be in mmmutex when using this. forEach (above) handles that for you automatically.

Definition at line 48 of file mmap.h.

virtual bool mongo::MongoFile::isMongoMMF (  )  [inline, virtual]

Reimplemented in mongo::MongoMMF.

Definition at line 68 of file mmap.h.

virtual unsigned long long mongo::MongoFile::length (  )  const [protected, pure virtual]
static void mongo::MongoFile::markAllWritable (  )  [inline, static]

Definition at line 62 of file mmap.h.

virtual Flushable* mongo::MongoFile::prepareFlush (  )  [protected, pure virtual]

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

Implemented in mongo::MemoryMappedFile.

void mongo::MongoFile::setFilename ( string  fn  ) 
static long long mongo::MongoFile::totalMappedLength (  )  [static]
static void mongo::MongoFile::unmarkAllWritable (  )  [inline, static]

Definition at line 63 of file mmap.h.


Member Data Documentation

string mongo::MongoFile::_filename [private]

Definition at line 74 of file mmap.h.

set<MongoFile*> mongo::MongoFile::mmfiles [static, protected]

Definition at line 100 of file mmap.h.

Definition at line 103 of file mmap.h.

Definition at line 52 of file mmap.h.

Definition at line 51 of file mmap.h.

map<string,MongoFile*> mongo::MongoFile::pathToFile [static]

Definition at line 102 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