summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SimpleMessage.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/SimpleMessage.h')
-rw-r--r--cpp/src/qpid/broker/SimpleMessage.h44
1 files changed, 24 insertions, 20 deletions
diff --git a/cpp/src/qpid/broker/SimpleMessage.h b/cpp/src/qpid/broker/SimpleMessage.h
index edfaa8d13b..72ede431e0 100644
--- a/cpp/src/qpid/broker/SimpleMessage.h
+++ b/cpp/src/qpid/broker/SimpleMessage.h
@@ -25,47 +25,51 @@
#define qpid_broker_SimpleMessage_h_
#include "AsyncStore.h" // DataSource
-#include "MessageHandle.h"
+//#include "MessageHandle.h"
#include "PersistableMessage.h"
namespace qpid {
namespace broker {
-class SimpleMessage: public PersistableMessage,
- public DataSource
+class SimpleMessage: /*public PersistableMessage,*/
+ public DataSource,
+ public RefCounted
{
public:
- SimpleMessage(const char* msgData,
- const uint32_t msgSize);
+ SimpleMessage();
SimpleMessage(const char* msgData,
const uint32_t msgSize,
- AsyncStore* store);
+ boost::intrusive_ptr<PersistableMessage> persistentContext);
virtual ~SimpleMessage();
- const MessageHandle& getHandle() const;
- MessageHandle& getHandle();
+// const MessageHandle& getHandle() const;
+// MessageHandle& getHandle();
uint64_t contentSize() const;
- // --- Interface Persistable ---
- virtual void setPersistenceId(uint64_t id) const;
- virtual uint64_t getPersistenceId() const;
- virtual void encode(qpid::framing::Buffer& buffer) const;
- virtual uint32_t encodedSize() const;
+// // --- Interface Persistable ---
+// virtual void setPersistenceId(uint64_t id) const;
+// virtual uint64_t getPersistenceId() const;
+// virtual void encode(qpid::framing::Buffer& buffer) const;
+// virtual uint32_t encodedSize() const;
+//
+// // --- Interface PersistableMessage ---
+// virtual void allDequeuesComplete();
+// virtual uint32_t encodedHeaderSize() const;
- // --- Interface PersistableMessage ---
- virtual void allDequeuesComplete();
- virtual uint32_t encodedHeaderSize() const;
- virtual bool isPersistent() const;
+ // Persistent operations
+ bool isPersistent() const;
+ boost::intrusive_ptr<PersistableMessage> getPersistentContext() const;
// --- Interface DataSource ---
virtual uint64_t getSize(); // <- same as encodedSize()?
virtual void write(char* target);
private:
- mutable uint64_t m_persistenceId;
+// mutable uint64_t m_persistenceId;
const std::string m_msg;
- AsyncStore* m_store;
+ boost::intrusive_ptr<PersistableMessage> m_persistentContext;
+// AsyncStore* m_store;
- MessageHandle m_msgHandle;
+// MessageHandle m_msgHandle;
};
}} // namespace qpid::broker