diff options
Diffstat (limited to 'cpp/src/qpid/broker/PersistableMessage.h')
-rw-r--r-- | cpp/src/qpid/broker/PersistableMessage.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/PersistableMessage.h b/cpp/src/qpid/broker/PersistableMessage.h index 0274b41375..a968480249 100644 --- a/cpp/src/qpid/broker/PersistableMessage.h +++ b/cpp/src/qpid/broker/PersistableMessage.h @@ -68,8 +68,16 @@ class PersistableMessage : public Persistable void enqueueAsync(); void dequeueAsync(); - bool contentReleased; syncList synclist; + struct ContentReleaseState + { + bool blocked; + bool requested; + bool released; + + ContentReleaseState(); + }; + ContentReleaseState contentReleaseState; protected: /** Called when all enqueues are complete for this message. */ @@ -97,6 +105,11 @@ class PersistableMessage : public Persistable void flush(); bool isContentReleased() const; + + void setStore(MessageStore*); + void requestContentRelease(); + void blockContentRelease(); + bool checkContentReleasable(); QPID_BROKER_EXTERN bool isEnqueueComplete(); |