NCBI C++ ToolKit
|
Search Toolkit Book for CPagedFile
#include <sra/readers/bam/bgzf.hpp>
Public Types | |
typedef CPagedFilePage::TFilePos | TFilePos |
typedef CBinaryRangeCacheWithLock< TFilePos, CPagedFilePage > | TPageCache |
typedef TPageCache::CLock | TPage |
![]() | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Public Member Functions | |
CPagedFile (const string &file_name) | |
~CPagedFile () | |
TPage | GetPage (TFilePos pos) |
pair< Uint8, double > | GetReadStatistics () const |
void | SetPreviousReadStatistics (const pair< Uint8, double > &stats) |
size_t | GetNextPageSizePow2 () const |
![]() | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
![]() | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Private Member Functions | |
void | x_AddReadStatistics (Uint8 bytes, double seconds) |
void | x_ReadPage (CPagedFilePage &page, TFilePos file_pos, size_t size) |
Private Attributes | |
CFastMutex | m_Mutex |
CFileIO | m_File |
AutoPtr< CMemoryFileMap > | m_MemFile |
CBamVDBFile | m_VDBFile |
CRef< TPageCache > | m_PageCache |
CFastMutex | m_StatMutex |
Uint8 | m_TotalReadBytes |
double | m_TotalReadSeconds |
Uint8 | m_PreviousReadBytes |
double | m_PreviousReadSeconds |
Additional Inherited Members | |
![]() | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
![]() | |
static void | EnableDebugDump (bool on) |
![]() | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
![]() | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
typedef TPageCache::CLock CPagedFile::TPage |
Definition at line 112 of file bgzf.cpp.
References CMemoryFile_Base::eMMP_Read, CMemoryFile_Base::eMMS_Shared, CFileIO_Base::eOpen, CFileIO_Base::eRead, eUseFileIO, eUseMemFile, eUseVDBFile, file_name, kFileMode, m_File, m_MemFile, m_VDBFile, CFileIO::Open(), and AutoPtr< X, Del >::reset().
CPagedFile::~CPagedFile | ( | ) |
Definition at line 135 of file bgzf.cpp.
References GetReadStatistics(), LOG_POST, and s_GetDebug().
size_t CPagedFile::GetNextPageSizePow2 | ( | ) | const |
Definition at line 188 of file bgzf.cpp.
References GetReadStatistics(), m_PreviousReadBytes, m_PreviousReadSeconds, and stats.
Referenced by GetPage().
CPagedFile::TPage CPagedFile::GetPage | ( | TFilePos | pos | ) |
Definition at line 148 of file bgzf.cpp.
References CBinaryRangeCacheWithLock< Position, Value >::CLock::get_range(), COpenRange< Position >::GetFrom(), COpenRange< Position >::GetLength(), GetNextPageSizePow2(), CBinaryRangeCacheWithLock< Position, Value >::CLock::GetValueMutex(), kSegmentSize, m_PageCache, NCBI_THROW_FMT, s_GetPagePos(), and x_ReadPage().
Referenced by CBGZFFile::x_ReadBlock().
pair< Uint8, double > CPagedFile::GetReadStatistics | ( | ) | const |
Definition at line 174 of file bgzf.cpp.
References m_StatMutex, m_TotalReadBytes, and m_TotalReadSeconds.
Referenced by GetNextPageSizePow2(), CBGZFFile::GetReadStatistics(), and ~CPagedFile().
Definition at line 181 of file bgzf.cpp.
References m_PreviousReadBytes, m_PreviousReadSeconds, and stats.
Referenced by CBGZFFile::SetPreviousReadStatistics().
|
private |
Definition at line 212 of file bgzf.cpp.
References m_StatMutex, m_TotalReadBytes, and m_TotalReadSeconds.
Referenced by x_ReadPage().
|
private |
Definition at line 220 of file bgzf.cpp.
References cnt, CSimpleBufferT< T, ResizeStrategy >::data(), CStopWatch::Elapsed(), CStopWatch::eStart, AutoPtr< X, Del >::get(), Info(), CBGZFBlock::kMaxFileBlockSize, LOG_POST, CPagedFilePage::m_Buffer, m_File, CPagedFilePage::m_FilePos, CPagedFilePage::m_MemFile, m_MemFile, m_Mutex, CPagedFilePage::m_Ptr, CPagedFilePage::m_Size, m_VDBFile, CMemoryFileMap::Map(), min(), CFileIO::Read(), CBamVDBFile::ReadAll(), CSimpleBufferT< T, ResizeStrategy >::resize(), s_GetDebug(), CFileIO::SetFilePos(), ncbi::grid::netcache::search::fields::size, sw, and x_AddReadStatistics().
Referenced by GetPage().
|
private |
Definition at line 121 of file bgzf.hpp.
Referenced by CPagedFile(), and x_ReadPage().
|
private |
Definition at line 122 of file bgzf.hpp.
Referenced by CPagedFile(), and x_ReadPage().
|
private |
Definition at line 118 of file bgzf.hpp.
Referenced by x_ReadPage().
|
private |
|
private |
Definition at line 131 of file bgzf.hpp.
Referenced by GetNextPageSizePow2(), and SetPreviousReadStatistics().
|
private |
Definition at line 132 of file bgzf.hpp.
Referenced by GetNextPageSizePow2(), and SetPreviousReadStatistics().
|
mutableprivate |
Definition at line 128 of file bgzf.hpp.
Referenced by GetReadStatistics(), and x_AddReadStatistics().
|
private |
Definition at line 129 of file bgzf.hpp.
Referenced by GetReadStatistics(), and x_AddReadStatistics().
|
private |
Definition at line 130 of file bgzf.hpp.
Referenced by GetReadStatistics(), and x_AddReadStatistics().
|
private |
Definition at line 123 of file bgzf.hpp.
Referenced by CPagedFile(), and x_ReadPage().