#include <recoveryStore.h>
List of all members.
Public Types |
typedef ACE_Hash_Map_Manager
< ACE_CString, ACE_CString,
ACE_Thread_Mutex > | STORE_HASH_MAP |
typedef ACE_Hash_Map_Iterator
< ACE_CString, ACE_CString,
ACE_Thread_Mutex > | STORE_HASH_MAP_ITER |
typedef ACE_Hash_Map_Entry
< ACE_CString, ACE_CString > | STORE_HASH_MAP_ENTRY |
Public Member Functions |
| RecoveryStore (const ACE_CString &file_name, bool load=true, ACE_UINT32 max_size=0) |
| ~RecoveryStore (void) |
int | open (void) |
int | close (void) |
ACE_UINT32 | get_max_size (void) |
void | set_max_size (ACE_UINT32 size) |
ACE_UINT32 | get_current_size (void) |
ACE_UINT32 | get_n_records (void) |
int | log (const ACE_CString &id, const ACE_CString &data, bool bsave=true) |
int | exists (const ACE_CString &id) |
int | retrieve (const ACE_CString &id, ACE_CString &data) |
int | update (const ACE_CString &id, const ACE_CString &data, bool bsave=true) |
int | remove (const ACE_CString &id, bool bsave=true) |
STORE_HASH_MAP_ITER | get_iterator (void) |
int | save (void) |
int | load (void) |
int | unlink (void) |
Protected Attributes |
RecoveryStore::STORE_HASH_MAP | rec_hash_ |
ACE_CString | file_name_ |
ACE_UINT32 | max_size_ |
ACE_UINT32 | current_size_ |
ACE_UINT32 | num_records_ |
ACE_Recursive_Thread_Mutex | mutex_ |
Detailed Description
A container class for storing recovery information using ACE_CString class. This implementation uses an ACE_Hash_Map_Manager internally to store recovery info. stored in ACE_CString. Permits fast searches by id. It also supports saving data into a file.
- Author:
- Matej Sekoranja, Jozef Stefan Institute, Slovenia
- Version:
- "@(#) $Id: recoveryStore.h,v 1.8 2006/09/01 02:20:55 cparedes Exp $" keys must not contain SEPARATOR_CHAR --- this restriction should be somehow removed in implementation...
Member Typedef Documentation
Constructor & Destructor Documentation
recovery::RecoveryStore::RecoveryStore |
( |
const ACE_CString & |
file_name, |
|
|
bool |
load = true , |
|
|
ACE_UINT32 |
max_size = 0 | |
|
) |
| | |
Constructor
- Parameters:
-
| file_name | file name of recovery file |
| load | load existing recovery file |
| max_size | maximum size of the store |
- See also:
- set_max_size
recovery::RecoveryStore::~RecoveryStore |
( |
void |
|
) |
|
Member Function Documentation
int recovery::RecoveryStore::close |
( |
void |
|
) |
|
Finalization method
Calls ACE_Hash_Map close() method.
- Returns:
- 0 on success, -1 on failure
int recovery::RecoveryStore::exists |
( |
const ACE_CString & |
id |
) |
|
Checks if recordwith key id is already mapped
- Parameters:
-
- Returns:
- 0 if record with key id is mapped, otherwise -1
ACE_UINT32 recovery::RecoveryStore::get_current_size |
( |
void |
|
) |
|
Gets the current size (in bytes) of the store (id+data).
- Returns:
- current size (in bytes) of the store (id+data)
Get iterator of the store
- Returns:
- iterator of the store
ACE_UINT32 recovery::RecoveryStore::get_max_size |
( |
void |
|
) |
|
Get the current set value of the max size of the store.
- Returns:
- current set value of max size
ACE_UINT32 recovery::RecoveryStore::get_n_records |
( |
void |
|
) |
|
Get the number of records in the store right now.
- Returns:
- number of records in the store
int recovery::RecoveryStore::load |
( |
void |
|
) |
|
Load records from the recovery file to the store
- Returns:
- 0 on success, -1 on failure
int recovery::RecoveryStore::log |
( |
const ACE_CString & |
id, |
|
|
const ACE_CString & |
data, |
|
|
bool |
bsave = true | |
|
) |
| | |
Insert rec into storage
- Parameters:
-
| id | id of the record |
| data | record data |
| bsave | save data to recovery file after operation |
- Returns:
- 0 on success, -1 on failure, 1 if store if full
int recovery::RecoveryStore::open |
( |
void |
|
) |
|
Initialization method
Calls ACE_Hash_Map open() method.
- Returns:
- 0 if successful, -1 if failed
int recovery::RecoveryStore::remove |
( |
const ACE_CString & |
id, |
|
|
bool |
bsave = true | |
|
) |
| | |
Remove record data with the given id from the storage
- Parameters:
-
| id | id of the record |
| bsave | save data to recovery file after operation |
- Returns:
- 0 on success, -1 on failure
int recovery::RecoveryStore::retrieve |
( |
const ACE_CString & |
id, |
|
|
ACE_CString & |
data | |
|
) |
| | |
Set data to the record data with the given id
- Parameters:
-
| id | id of the record |
| data | record data |
- Returns:
- 0 on success, -1 on failure
int recovery::RecoveryStore::save |
( |
void |
|
) |
|
Save records from the store to the recovery file
- Returns:
- 0 on success, -1 on failure
void recovery::RecoveryStore::set_max_size |
( |
ACE_UINT32 |
size |
) |
|
Set the max size of the store; size == 0 means infinite.
- Parameters:
-
| size | max size of the store |
int recovery::RecoveryStore::unlink |
( |
void |
|
) |
|
Remove recovery store file
- Returns:
- 0 on success, -1 on failure
int recovery::RecoveryStore::update |
( |
const ACE_CString & |
id, |
|
|
const ACE_CString & |
data, |
|
|
bool |
bsave = true | |
|
) |
| | |
Update data in the storage to the record with the given id
- Parameters:
-
| id | id of the record |
| data | record data |
| bsave | save data to recovery file after operation |
- Returns:
- 0 on success, -1 on failure, 1 if store if full
Member Data Documentation
The current size (in bytes) of the store
The maximum size of the store.
Thread mutex for thread-safe code
The current number of records in the store
The ACE implementation of hash map (ACE_Hash_Map_Manager)
The documentation for this class was generated from the following file: