gemfire::PersistenceManager Class Reference

Inherits gemfire::SharedBase.


Detailed Description

PersistenceManager API for persistence and overflow.

This class abstracts the disk-related operations in case of persistence or overflow to disk. A specific disk storage implementation will implement all the methods described here.

Public Member Functions

virtual void close ()=0
 Closes the persistence manager instance.
virtual void destroy (const CacheableKeyPtr &key, void *&PersistenceInfo)=0
 destroys the entry specified by the key in the argument.
virtual void init (const RegionPtr &region, PropertiesPtr &diskProperties)=0
 This method gets called after an implementation object is created.
void preserveSB () const
 Atomically increment reference count.
virtual CacheablePtr read (const CacheableKeyPtr &key, void *&PersistenceInfo)=0
 Reads the value for the key from the disk.
virtual bool readAll ()=0
 Reads all the values from the region.
int32_t refCount ()
 
Returns:
the reference count

void releaseSB () const
 Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.
virtual void write (const CacheableKeyPtr &key, const CacheablePtr &value, void *&PersistenceInfo)=0
 Writes a key, value pair of region to the disk.
virtual bool writeAll ()=0
 Writes all the entries for a region.
virtual ~PersistenceManager ()=0

Static Public Member Functions

static
PersistenceManagerPtr 
getPersistenceManager ()

Protected Attributes

const RegionPtr m_regionPtr
 Region for this persistence manager.


Constructor & Destructor Documentation

virtual gemfire::PersistenceManager::~PersistenceManager (  )  [pure virtual]

destructor


Member Function Documentation

virtual void gemfire::PersistenceManager::close (  )  [pure virtual]

Closes the persistence manager instance.

Exceptions:
ShutdownFailedException if close is not successful.

virtual void gemfire::PersistenceManager::destroy ( const CacheableKeyPtr key,
void *&  PersistenceInfo 
) [pure virtual]

destroys the entry specified by the key in the argument.

Parameters:
key is the key of the entry which is being destroyed.
PersistenceInfo related persistence information.
Exceptions:
RegionDestroyedException is the region is already destroyed.
EntryNotFoundException if the entry is not found on the disk.

static PersistenceManagerPtr gemfire::PersistenceManager::getPersistenceManager (  )  [static]

public methods Returns the current persistence manager.

Returns:
persistence manager

virtual void gemfire::PersistenceManager::init ( const RegionPtr region,
PropertiesPtr diskProperties 
) [pure virtual]

This method gets called after an implementation object is created.

Initializes all the implementation specific environments needed.

Exceptions:
InitfailedException if the persistence manager cannot be initialized.

void gemfire::SharedBase::preserveSB (  )  const [inherited]

Atomically increment reference count.

virtual CacheablePtr gemfire::PersistenceManager::read ( const CacheableKeyPtr key,
void *&  PersistenceInfo 
) [pure virtual]

Reads the value for the key from the disk.

Parameters:
key is the key for which the value has to be read.
PersistenceInfo related persistence information.
Returns:
value of type CacheablePtr.
Exceptions:
DiskCorruptException if the data to be read is corrupt.

virtual bool gemfire::PersistenceManager::readAll (  )  [pure virtual]

Reads all the values from the region.

Returns:
true

int32_t gemfire::SharedBase::refCount (  )  [inline, inherited]

Returns:
the reference count

void gemfire::SharedBase::releaseSB (  )  const [inherited]

Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.

virtual void gemfire::PersistenceManager::write ( const CacheableKeyPtr key,
const CacheablePtr value,
void *&  PersistenceInfo 
) [pure virtual]

Writes a key, value pair of region to the disk.

The actual file or database related write operations should be implemented in this method by the class implementing this method.

Parameters:
key the key to write.
value the value to write
PersistenceInfo related persistence information.
Exceptions:
RegionDestroyedException is the region is already destroyed.
OutofMemoryException if the disk is full
DiskFailureException if the write fails due to disk fail.

virtual bool gemfire::PersistenceManager::writeAll (  )  [pure virtual]

Writes all the entries for a region.

Refer persistance requirement doc for the use case.

Exceptions:
DiskFailureException if the write fails due to disk fail.


Field Documentation

const RegionPtr gemfire::PersistenceManager::m_regionPtr [protected]

Region for this persistence manager.


GemFire C++ Cache API Documentation