mongo::dur::Journal Class Reference

#include <dur_journalimpl.h>

List of all members.

Classes

struct  JFile

Public Member Functions

void assureLogFileOpen ()
void cleanup ()
unsigned long long curFileId () const
boost::filesystem::path getFilePathFor (int filenumber) const
void init ()
void journal (const AlignedBuilder &b)
 Journal ()
unsigned long long lastFlushTime () const
void open ()
void rotate ()

Public Attributes

string dir

Static Public Attributes

static const unsigned long long DataLimit = (sizeof(void*)==4) ? 256 * 1024 * 1024 : 1 * 1024 * 1024 * 1024

Private Member Functions

void _open ()
void closeCurrentJournalFile ()
void removeUnneededJournalFiles ()
void updateLSNFile ()

Static Private Member Functions

static void postFlush ()
static void preFlush ()

Private Attributes

unsigned long long _curFileId
LogFile_curLogFile
mutex _curLogFileMutex
unsigned long long _lastFlushTime
unsigned _nextFileNumber
list< JFile_oldJournalFiles
unsigned long long _preFlushTime
bool _writeToLSNNeeded
unsigned long long _written

Detailed Description

the writeahead journal for durability

Definition at line 25 of file dur_journalimpl.h.


Constructor & Destructor Documentation

mongo::dur::Journal::Journal (  ) 

Member Function Documentation

void mongo::dur::Journal::_open (  )  [private]
void mongo::dur::Journal::assureLogFileOpen (  )  [inline]

Definition at line 55 of file dur_journalimpl.h.

void mongo::dur::Journal::cleanup (  ) 
void mongo::dur::Journal::closeCurrentJournalFile (  )  [private]
unsigned long long mongo::dur::Journal::curFileId (  )  const [inline]

Definition at line 53 of file dur_journalimpl.h.

boost::filesystem::path mongo::dur::Journal::getFilePathFor ( int  filenumber  )  const
void mongo::dur::Journal::init (  ) 

call during startup by journalMakeDir()

void mongo::dur::Journal::journal ( const AlignedBuilder b  ) 

write to journal

unsigned long long mongo::dur::Journal::lastFlushTime (  )  const [inline]

Definition at line 44 of file dur_journalimpl.h.

void mongo::dur::Journal::open (  ) 

open a journal file to journal operations to.

static void mongo::dur::Journal::postFlush (  )  [static, private]
static void mongo::dur::Journal::preFlush (  )  [static, private]
void mongo::dur::Journal::removeUnneededJournalFiles (  )  [private]
void mongo::dur::Journal::rotate (  ) 

check if time to rotate files. assure a file is open. done separately from the journal() call as we can do this part outside of lock. thread: durThread()

void mongo::dur::Journal::updateLSNFile (  )  [private]

Member Data Documentation

unsigned long long mongo::dur::Journal::_curFileId [private]

Definition at line 75 of file dur_journalimpl.h.

Definition at line 74 of file dur_journalimpl.h.

Definition at line 72 of file dur_journalimpl.h.

unsigned long long mongo::dur::Journal::_lastFlushTime [private]

Definition at line 90 of file dur_journalimpl.h.

Definition at line 70 of file dur_journalimpl.h.

Definition at line 84 of file dur_journalimpl.h.

unsigned long long mongo::dur::Journal::_preFlushTime [private]

Definition at line 89 of file dur_journalimpl.h.

Definition at line 91 of file dur_journalimpl.h.

unsigned long long mongo::dur::Journal::_written [private]

Definition at line 69 of file dur_journalimpl.h.

const unsigned long long mongo::dur::Journal::DataLimit = (sizeof(void*)==4) ? 256 * 1024 * 1024 : 1 * 1024 * 1024 * 1024 [static]

Definition at line 51 of file dur_journalimpl.h.

Definition at line 24 of file dur_journalimpl.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:59 2013