1#if !defined(RESIP_INMEMORYSYNCPUBDB_HXX)
2#define RESIP_INMEMORYSYNCPUBDB_HXX
13class SecurityAttributes;
51 virtual void initialSync(
unsigned int connectionId);
Base class for all SIP body types.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
virtual void onInitialSyncDocument(unsigned int connectionId, const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t expirationTime, uint64_t lastUpdated, const Contents *contents, const SecurityAttributes *securityAttributes)
virtual ~InMemorySyncPubDbHandler()=default
InMemorySyncPubDbHandler(HandlerMode mode=SyncServer)
virtual void onDocumentRemoved(bool sync, const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t lastUpdated)=0
virtual void onDocumentModified(bool sync, const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t expirationTime, uint64_t lastUpdated, const Contents *contents, const SecurityAttributes *securityAttributes)=0
HandlerMode getMode() const noexcept
Implementation of a persistence manager.
virtual KeyToETagMap & getDocuments()
bool shouldEraseDocument(PubDocument &document, uint64_t now)
virtual void unlockDocuments()
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)
virtual ~InMemorySyncPubDb()=default
virtual bool checkExpired(const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t lastUpdated)
virtual void lockDocuments()
virtual bool documentExists(const Data &eventType, const Data &documentKey, const Data &eTag)
KeyToETagMap mPublicationDb
virtual void addUpdateDocument(const PubDocument &document)
virtual void initialSync(unsigned int connectionId)
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)
virtual void addHandler(InMemorySyncPubDbHandler *handler)
virtual bool removeDocument(const Data &eventType, const Data &documentKey, const Data &eTag, uint64_t lastUpdated, bool syncPublication=false)
std::list< InMemorySyncPubDbHandler * > HandlerList
virtual void removeHandler(InMemorySyncPubDbHandler *handler)
virtual bool getMergedETags(const Data &eventType, const Data &documentKey, ETagMerger &merger, Contents *destination)
Abstract interface of a datastore of all publication documents processed by DUM.
std::map< resip::Data, ETagToDocumentMap > KeyToETagMap
dcm! – add UnusedChecking(_enum) below;
std::mutex Mutex
A semaphore that can be locked by only one thread at a time.
unsigned long long uint64_t