diff options
Diffstat (limited to 'cpp/src/qpid/broker/Message.h')
-rw-r--r-- | cpp/src/qpid/broker/Message.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/Message.h b/cpp/src/qpid/broker/Message.h index de716e9441..96fcf61dfc 100644 --- a/cpp/src/qpid/broker/Message.h +++ b/cpp/src/qpid/broker/Message.h @@ -45,6 +45,7 @@ class Exchange; class ExchangeRegistry; class MessageStore; class Queue; +class ExpiryPolicy; class Message : public PersistableMessage { public: @@ -73,8 +74,11 @@ public: const framing::FieldTable* getApplicationHeaders() const; bool isPersistent(); bool requiresAccept(); - void setTimestamp(); - bool hasExpired() const; + + void setTimestamp(const boost::intrusive_ptr<ExpiryPolicy>& e); + void setExpiryPolicy(const boost::intrusive_ptr<ExpiryPolicy>& e); + bool hasExpired(); + sys::AbsTime getExpiration() const { return expiration; } framing::FrameSet& getFrames() { return frames; } const framing::FrameSet& getFrames() const { return frames; } @@ -171,6 +175,7 @@ public: ConnectionToken* publisher; mutable MessageAdapter* adapter; qpid::sys::AbsTime expiration; + boost::intrusive_ptr<ExpiryPolicy> expiryPolicy; static TransferAdapter TRANSFER; |