df_MgrReader Class Reference
[IVD Data format.]

#include <df.h>

Collaboration diagram for df_MgrReader:

Collaboration graph
[legend]

List of all members.


Detailed Description

This class is used on top of df_BlockManager to perform read operations from the buffer queue inside the df_BlockManager.

Destructor automatically notifies that the reader went down.

Definition at line 266 of file df.h.


Public Member Functions

 df_MgrReader (df_BlockManager &a_mgr)
 ~df_MgrReader ()
df_DataBlockGetFull ()
void Release ()
UInt32_t GetReaderIdx () const
void SetError (ivd_Exception *a_err)

Private Attributes

 log_CLASSID_m
df_BlockManagerm_mgr
UInt32_t m_readerIdx
bool m_reserved

Constructor & Destructor Documentation

df_MgrReader::df_MgrReader ( df_BlockManager a_mgr  ) 

Definition at line 93 of file df_blockmanager.cpp.

References log_FUNC_m, m_mgr, m_readerIdx, and df_BlockManager::RegisterReader().

00094   : m_mgr(a_mgr),
00095     m_reserved(false) {
00096 
00097     log_FUNC_m(df_MgrReader);
00098 
00099     m_readerIdx = m_mgr.RegisterReader();
00100 }

Here is the call graph for this function:

df_MgrReader::~df_MgrReader (  ) 

Definition at line 102 of file df_blockmanager.cpp.

References dbg_NORM, log_DBG_m, log_FUNC_m, m_mgr, m_readerIdx, m_reserved, df_BlockManager::ReaderFinished(), and Release().

00102                             {
00103 
00104     log_FUNC_m(~df_MgrReader);
00105 
00106     if (m_reserved) {
00107         log_DBG_m(dbg_NORM, "Releasing block.");
00108         Release();
00109     }
00110 
00111     m_mgr.ReaderFinished(m_readerIdx);
00112 }

Here is the call graph for this function:


Member Function Documentation

df_DataBlock * df_MgrReader::GetFull (  ) 

Definition at line 114 of file df_blockmanager.cpp.

References df_BlockManager::GetFull(), m_mgr, m_readerIdx, m_reserved, and NULL.

Referenced by bea_MigrationThread::Migrate(), blk_NetWriter::Run(), and blk_BufferWriter::Run().

00114                                     {
00115     df_DataBlock *blk_p = m_mgr.GetFull(m_readerIdx);
00116     if (blk_p != NULL) {
00117         m_reserved = true;
00118     }
00119     return blk_p;
00120 }

Here is the call graph for this function:

Here is the caller graph for this function:

void df_MgrReader::Release (  ) 

Definition at line 122 of file df_blockmanager.cpp.

References m_mgr, m_readerIdx, m_reserved, and df_BlockManager::Release().

Referenced by bea_MigrationThread::Migrate(), blk_NetWriter::Run(), blk_BufferWriter::Run(), and ~df_MgrReader().

00122                            {
00123 
00124     if (m_reserved) {
00125         m_reserved = false;
00126         m_mgr.Release(m_readerIdx);
00127     }
00128 }

Here is the call graph for this function:

Here is the caller graph for this function:

UInt32_t df_MgrReader::GetReaderIdx (  )  const [inline]

Definition at line 274 of file df.h.

Referenced by blk_NetWriter::Run(), and blk_BufferWriter::Run().

00274                                          {
00275         return m_readerIdx;
00276     }

Here is the caller graph for this function:

void df_MgrReader::SetError ( ivd_Exception a_err  )  [inline]

Definition at line 278 of file df.h.

Referenced by blk_NetWriter::Run(), and blk_BufferWriter::Run().

00278 { m_mgr.SetReaderError(a_err); };

Here is the caller graph for this function:


Member Data Documentation

Definition at line 278 of file df.h.

Definition at line 283 of file df.h.

Referenced by df_MgrReader(), GetFull(), Release(), and ~df_MgrReader().

Definition at line 284 of file df.h.

Referenced by df_MgrReader(), GetFull(), Release(), and ~df_MgrReader().

bool df_MgrReader::m_reserved [private]

Definition at line 285 of file df.h.

Referenced by GetFull(), Release(), and ~df_MgrReader().


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

Generated on Mon Feb 27 19:12:39 2012 for OPENARCHIVE by  doxygen 1.5.6