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 ®ion, 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 () |
| |
| 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. | |
| virtual gemfire::PersistenceManager::~PersistenceManager | ( | ) | [pure virtual] |
destructor
| virtual void gemfire::PersistenceManager::close | ( | ) | [pure virtual] |
Closes the persistence manager instance.
| 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.
| key | is the key of the entry which is being destroyed. | |
| PersistenceInfo | related persistence information. |
| 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.
| 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.
| 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.
| key | is the key for which the value has to be read. | |
| PersistenceInfo | related persistence information. |
| DiskCorruptException | if the data to be read is corrupt. |
| virtual bool gemfire::PersistenceManager::readAll | ( | ) | [pure virtual] |
Reads all the values from the region.
| int32_t gemfire::SharedBase::refCount | ( | ) | [inline, inherited] |
| 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.
| key | the key to write. | |
| value | the value to write | |
| PersistenceInfo | related persistence information. |
| 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.
| DiskFailureException | if the write fails due to disk fail. |
const RegionPtr gemfire::PersistenceManager::m_regionPtr [protected] |
Region for this persistence manager.