ATLAS Offline Software
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | List of all members
pool::CollectionPool Class Reference

#include <CollectionPool.h>

Collaboration diagram for pool::CollectionPool:

Classes

class  flushing_iterator
 iterator that flushes and closes all collections More...
 

Public Member Functions

 CollectionPool (unsigned maxOpen=50, unsigned cacheSize=100)
 
virtual ~CollectionPool ()
 
virtual void addCollection (const std::string &guid, ICollection *coll)
 add GUID -> collection mapping More...
 
virtual ICollectionget (const std::string &guid)
 get back which collection corresponds to a GUID More...
 
virtual void insertRow (const std::string &guid, const pool::CollectionRowBuffer &row)
 insert row to a connection designated for a given GUID More...
 
virtual pool::CollectionRowBuffergetRowBuffer (const std::string &)
 
virtual const std::string & getDstRefName ()
 

Protected Member Functions

void queueOpenColl (pool::ICollection *coll)
 
void reduceQueue ()
 
void writeCache (pool::ICollection *coll)
 

Protected Attributes

unsigned m_maxOpen
 
unsigned m_rowCacheSize
 
std::queue< pool::ICollection * > m_queue
 
std::map< std::string, pool::ICollection * > m_map
 
std::map< pool::ICollection *, rowVect_tm_rowCache
 
pool::CollectionRowBuffer m_rowBuffer
 
std::string m_dstRefName
 

Private Types

typedef std::vector< pool::CollectionRowBufferrowVect_t
 

Detailed Description

Definition at line 29 of file CollectionPool.h.

Member Typedef Documentation

◆ rowVect_t

Definition at line 31 of file CollectionPool.h.

Constructor & Destructor Documentation

◆ CollectionPool()

pool::CollectionPool::CollectionPool ( unsigned  maxOpen = 50,
unsigned  cacheSize = 100 
)

◆ ~CollectionPool()

virtual pool::CollectionPool::~CollectionPool ( )
virtual

Member Function Documentation

◆ addCollection()

virtual void pool::CollectionPool::addCollection ( const std::string &  guid,
ICollection coll 
)
virtual

add GUID -> collection mapping

◆ get()

virtual ICollection* pool::CollectionPool::get ( const std::string &  guid)
virtual

get back which collection corresponds to a GUID

◆ getDstRefName()

virtual const std::string& pool::CollectionPool::getDstRefName ( )
virtual

◆ getRowBuffer()

virtual pool::CollectionRowBuffer& pool::CollectionPool::getRowBuffer ( const std::string &  )
virtual

◆ insertRow()

virtual void pool::CollectionPool::insertRow ( const std::string &  guid,
const pool::CollectionRowBuffer row 
)
virtual

insert row to a connection designated for a given GUID

◆ queueOpenColl()

void pool::CollectionPool::queueOpenColl ( pool::ICollection coll)
protected

◆ reduceQueue()

void pool::CollectionPool::reduceQueue ( )
protected

◆ writeCache()

void pool::CollectionPool::writeCache ( pool::ICollection coll)
protected

Member Data Documentation

◆ m_dstRefName

std::string pool::CollectionPool::m_dstRefName
protected

Definition at line 88 of file CollectionPool.h.

◆ m_map

std::map< std::string, pool::ICollection* > pool::CollectionPool::m_map
protected

Definition at line 85 of file CollectionPool.h.

◆ m_maxOpen

unsigned pool::CollectionPool::m_maxOpen
protected

Definition at line 82 of file CollectionPool.h.

◆ m_queue

std::queue< pool::ICollection* > pool::CollectionPool::m_queue
protected

Definition at line 84 of file CollectionPool.h.

◆ m_rowBuffer

pool::CollectionRowBuffer pool::CollectionPool::m_rowBuffer
protected

Definition at line 87 of file CollectionPool.h.

◆ m_rowCache

std::map< pool::ICollection*, rowVect_t > pool::CollectionPool::m_rowCache
protected

Definition at line 86 of file CollectionPool.h.

◆ m_rowCacheSize

unsigned pool::CollectionPool::m_rowCacheSize
protected

Definition at line 83 of file CollectionPool.h.


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