|
reSIProcate
SIP stack, Dialog Usage Manager and related libraries
|
Implementation of a persistence manager. More...
#include <InMemorySyncPubDb.hxx>
Public Member Functions | |
| InMemorySyncPubDb (bool syncEnabled=false) | |
| virtual | ~InMemorySyncPubDb ()=default |
| virtual void | addHandler (InMemorySyncPubDbHandler *handler) |
| virtual void | removeHandler (InMemorySyncPubDbHandler *handler) |
| virtual void | initialSync (unsigned int connectionId) |
| virtual void | addUpdateDocument (const PubDocument &document) |
| virtual bool | removeDocument (const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t lastUpdated, bool syncPublication=false) |
| virtual bool | getMergedETags (const Data &eventType, const Data &documentKey, ETagMerger &merger, Contents *destination) |
| virtual bool | documentExists (const Data &eventType, const Data &documentKey, const Data &eTag) |
| virtual bool | checkExpired (const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t lastUpdated) |
| virtual void | lockDocuments () |
| virtual KeyToETagMap & | getDocuments () |
| virtual void | unlockDocuments () |
Public Member Functions inherited from resip::PublicationPersistenceManager | |
| PublicationPersistenceManager ()=default | |
| virtual | ~PublicationPersistenceManager ()=default |
| virtual void | addUpdateDocument (const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t expirationTime, const Contents *contents, const SecurityAttributes *securityAttributes, bool syncPublication=false) |
| virtual bool | getDocument (const resip::Data &eventType, const resip::Data &documentKey, const resip::Data &eTag, PubDocument &document) |
Protected Types | |
| typedef std::list< InMemorySyncPubDbHandler * > | HandlerList |
Protected Member Functions | |
| void | invokeOnDocumentModified (bool sync, const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t expirationTime, uint64_t lastUpdated, const Contents *contents, const SecurityAttributes *securityAttributes) |
| void | invokeOnDocumentRemoved (bool sync, const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t lastUpdated) |
| void | invokeOnInitialSyncDocument (unsigned int connectionId, const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t expirationTime, uint64_t lastUpdated, const Contents *contents, const SecurityAttributes *securityAttributes) |
| bool | shouldEraseDocument (PubDocument &document, uint64_t now) |
Protected Attributes | |
| bool | mSyncEnabled |
| HandlerList | mHandlers |
| Mutex | mHandlerMutex |
| KeyToETagMap | mPublicationDb |
| Mutex | mDatabaseMutex |
Additional Inherited Members | |
Public Types inherited from resip::PublicationPersistenceManager | |
| typedef std::map< resip::Data, PubDocument > | ETagToDocumentMap |
| typedef std::map< resip::Data, ETagToDocumentMap > | KeyToETagMap |
Implementation of a persistence manager.
This class keeps all publications in memory, and is used for remote replication.
The InMemorySyncPubDbHandler can be used by an external mechanism to transport publication documents to a remote peer for replication. See the RegSyncClient and RegSyncServer implementations in the repro project.
Definition at line 42 of file InMemorySyncPubDb.hxx.
|
protected |
Definition at line 70 of file InMemorySyncPubDb.hxx.
|
explicit |
Definition at line 11 of file InMemorySyncPubDb.cxx.
|
virtualdefault |
|
virtual |
Definition at line 16 of file InMemorySyncPubDb.cxx.
|
virtual |
Implements resip::PublicationPersistenceManager.
Definition at line 106 of file InMemorySyncPubDb.cxx.
|
virtual |
Implements resip::PublicationPersistenceManager.
Definition at line 292 of file InMemorySyncPubDb.cxx.
|
virtual |
Implements resip::PublicationPersistenceManager.
Definition at line 264 of file InMemorySyncPubDb.cxx.
|
virtual |
Implements resip::PublicationPersistenceManager.
Definition at line 343 of file InMemorySyncPubDb.cxx.
|
virtual |
Implements resip::PublicationPersistenceManager.
Definition at line 216 of file InMemorySyncPubDb.cxx.
|
virtual |
Definition at line 68 of file InMemorySyncPubDb.cxx.
|
protected |
Definition at line 355 of file InMemorySyncPubDb.cxx.
|
protected |
Definition at line 370 of file InMemorySyncPubDb.cxx.
|
protected |
Definition at line 385 of file InMemorySyncPubDb.cxx.
|
virtual |
Implements resip::PublicationPersistenceManager.
Definition at line 337 of file InMemorySyncPubDb.cxx.
|
virtual |
Implements resip::PublicationPersistenceManager.
Definition at line 173 of file InMemorySyncPubDb.cxx.
|
virtual |
Definition at line 23 of file InMemorySyncPubDb.cxx.
|
protected |
Definition at line 37 of file InMemorySyncPubDb.cxx.
|
virtual |
Implements resip::PublicationPersistenceManager.
Definition at line 349 of file InMemorySyncPubDb.cxx.
|
protected |
Definition at line 75 of file InMemorySyncPubDb.hxx.
|
protected |
Definition at line 72 of file InMemorySyncPubDb.hxx.
|
protected |
Definition at line 71 of file InMemorySyncPubDb.hxx.
|
protected |
Definition at line 74 of file InMemorySyncPubDb.hxx.
|
protected |
Definition at line 69 of file InMemorySyncPubDb.hxx.