Author: aconway
Date: Mon Jun 23 12:43:49 2008
New Revision: 670718

URL: http://svn.apache.org/viewvc?rev=670718&view=rev
Log:
Const-correctness fixes in MessageStore.h

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStore.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h
    incubator/qpid/trunk/qpid/cpp/src/tests/MessageBuilderTest.cpp
    incubator/qpid/trunk/qpid/cpp/src/tests/TestMessageStore.h

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStore.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStore.h?rev=670718&r1=670717&r2=670718&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStore.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStore.h Mon Jun 23 
12:43:49 2008
@@ -43,17 +43,15 @@
  * are valid only for the duration of the call).
  */
 class MessageStore : public TransactionalStore, public Recoverable {
-public:
+  public:
 
     /**
      * init the store, call before any other call. If not called, store 
      * is free to pick any defaults
      * 
-     * @param dir the directory to create logs/db's
-     * @param async true, enable async, false, enable sync
-     * @param force true, delete data on mode change, false, error on mode 
change
-        */
-       virtual bool init(const Options* options) = 0;
+     * @param options Options object provided by concrete store plug in.
+     */
+    virtual bool init(const Options* options) = 0;
 
     /**
      * Record the existence of a durable queue
@@ -105,15 +103,8 @@
      * store the headers as well as any content passed in. A
      * persistence id will be set on the message which can be
      * used to load the content or to append to it. 
-        * 
-        * TODO ::If it is know
-        * which queue the message is to be staged/ release to in cases
-        * of flowing tmp messages to disk for memory conservation set
-        * the queue ptr. This allows the store to optimize the read/writes
-        * for that queue and avoid searching based on id. Set queue = 0 for
-        * large message staging when the queue is not known.
      */
-    virtual void stage(boost::intrusive_ptr<PersistableMessage>& msg) = 0;
+    virtual void stage(const boost::intrusive_ptr<PersistableMessage>& msg) = 
0;
             
     /**
      * Destroys a previously staged message. This only needs
@@ -126,7 +117,7 @@
     /**
      * Appends content to a previously staged message
      */
-    virtual void appendContent(boost::intrusive_ptr<const PersistableMessage>& 
msg,
+    virtual void appendContent(const boost::intrusive_ptr<const 
PersistableMessage>& msg,
                                const std::string& data) = 0;
     
     /**
@@ -138,7 +129,7 @@
      * meta-data).
      */
     virtual void loadContent(const qpid::broker::PersistableQueue& queue, 
-                                boost::intrusive_ptr<const 
PersistableMessage>& msg,
+                             const boost::intrusive_ptr<const 
PersistableMessage>& msg,
                              std::string& data, uint64_t offset, uint32_t 
length) = 0;
     
     /**
@@ -155,7 +146,8 @@
      * distributed transaction in which the operation takes
      * place or null for 'local' transactions
      */
-    virtual void enqueue(TransactionContext* ctxt, 
boost::intrusive_ptr<PersistableMessage>& msg,
+    virtual void enqueue(TransactionContext* ctxt,
+                         const boost::intrusive_ptr<PersistableMessage>& msg,
                          const PersistableQueue& queue) = 0;
     
     /**
@@ -172,7 +164,8 @@
      * distributed transaction in which the operation takes
      * place or null for 'local' transactions
      */
-    virtual void dequeue(TransactionContext* ctxt, 
boost::intrusive_ptr<PersistableMessage>& msg,
+    virtual void dequeue(TransactionContext* ctxt,
+                         const boost::intrusive_ptr<PersistableMessage>& msg,
                          const PersistableQueue& queue) = 0;
 
     /**
@@ -185,7 +178,7 @@
      */
     virtual void flush(const qpid::broker::PersistableQueue& queue)=0;
 
-   /**
+    /**
      * Returns the number of outstanding AIO's for a given queue
      * 
      * If 0, than all the enqueue / dequeues have been stored 

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.cpp?rev=670718&r1=670717&r2=670718&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.cpp Mon 
Jun 23 12:43:49 2008
@@ -85,7 +85,7 @@
     TRANSFER_EXCEPTION(store->recover(registry));
 }
 
-void MessageStoreModule::stage( intrusive_ptr<PersistableMessage>& msg)
+void MessageStoreModule::stage(const intrusive_ptr<PersistableMessage>& msg)
 {
     TRANSFER_EXCEPTION(store->stage(msg));
 }
@@ -95,23 +95,30 @@
     TRANSFER_EXCEPTION(store->destroy(msg));
 }
 
-void MessageStoreModule::appendContent(intrusive_ptr<const 
PersistableMessage>& msg, const std::string& data)
+void MessageStoreModule::appendContent(const intrusive_ptr<const 
PersistableMessage>& msg,
+                                       const std::string& data)
 {
     TRANSFER_EXCEPTION(store->appendContent(msg, data));
 }
 
-void MessageStoreModule::loadContent(const qpid::broker::PersistableQueue& 
queue, 
-     intrusive_ptr<const PersistableMessage>& msg, string& data, uint64_t 
offset, uint32_t length)
+void MessageStoreModule::loadContent(
+    const qpid::broker::PersistableQueue& queue, 
+    const intrusive_ptr<const PersistableMessage>& msg,
+    string& data, uint64_t offset, uint32_t length)
 {
     TRANSFER_EXCEPTION(store->loadContent(queue, msg, data, offset, length));
 }
 
-void MessageStoreModule::enqueue(TransactionContext* ctxt, 
intrusive_ptr<PersistableMessage>& msg, const PersistableQueue& queue)
+void MessageStoreModule::enqueue(TransactionContext* ctxt,
+                                 const intrusive_ptr<PersistableMessage>& msg,
+                                 const PersistableQueue& queue)
 {
     TRANSFER_EXCEPTION(store->enqueue(ctxt, msg, queue));
 }
 
-void MessageStoreModule::dequeue(TransactionContext* ctxt, 
intrusive_ptr<PersistableMessage>& msg, const PersistableQueue& queue)
+void MessageStoreModule::dequeue(TransactionContext* ctxt,
+                                 const intrusive_ptr<PersistableMessage>& msg,
+                                 const PersistableQueue& queue)
 {
     TRANSFER_EXCEPTION(store->dequeue(ctxt, msg, queue));
 }

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.h?rev=670718&r1=670717&r2=670718&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.h 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/MessageStoreModule.h Mon Jun 
23 12:43:49 2008
@@ -38,10 +38,10 @@
 class MessageStoreModule : public MessageStore
 {
     MessageStore* store;
-public:
+  public:
     MessageStoreModule(MessageStore* store);
 
-       bool init(const Options* options);
+    bool init(const Options* options);
     std::auto_ptr<TransactionContext> begin();
     std::auto_ptr<TPCTransactionContext> begin(const std::string& xid);
     void prepare(TPCTransactionContext& txn);
@@ -60,16 +60,18 @@
     void create(const PersistableConfig& config);
     void destroy(const PersistableConfig& config);
     void recover(RecoveryManager& queues);
-    void stage(boost::intrusive_ptr<PersistableMessage>& msg);
+    void stage(const boost::intrusive_ptr<PersistableMessage>& msg);
     void destroy(PersistableMessage& msg);
-    void appendContent(boost::intrusive_ptr<const PersistableMessage>& msg, 
const std::string& data);
+    void appendContent(const boost::intrusive_ptr<const PersistableMessage>& 
msg, const std::string& data);
     void loadContent(const qpid::broker::PersistableQueue& queue, 
-                 boost::intrusive_ptr<const PersistableMessage>& msg, 
std::string& data,
-              uint64_t offset, uint32_t length);
+                     const boost::intrusive_ptr<const PersistableMessage>& 
msg, std::string& data,
+                     uint64_t offset, uint32_t length);
 
-    void enqueue(TransactionContext* ctxt, 
boost::intrusive_ptr<PersistableMessage>& msg,
+    void enqueue(TransactionContext* ctxt,
+                 const boost::intrusive_ptr<PersistableMessage>& msg,
                  const PersistableQueue& queue);
-    void dequeue(TransactionContext* ctxt, 
boost::intrusive_ptr<PersistableMessage>& msg,
+    void dequeue(TransactionContext* ctxt,
+                 const boost::intrusive_ptr<PersistableMessage>& msg,
                  const PersistableQueue& queue);
     u_int32_t outstandingQueueAIO(const PersistableQueue& queue);
     void flush(const qpid::broker::PersistableQueue& queue);

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.cpp?rev=670718&r1=670717&r2=670718&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.cpp Mon Jun 
23 12:43:49 2008
@@ -94,7 +94,7 @@
     QPID_LOG(info, "Persistence not enabled, no recovery attempted.");
 }
 
-void NullMessageStore::stage(intrusive_ptr<PersistableMessage>&)
+void NullMessageStore::stage(const intrusive_ptr<PersistableMessage>&)
 {
     QPID_LOG(info, "Can't stage message. Persistence not enabled.");
 }
@@ -103,23 +103,29 @@
 {
 }
 
-void NullMessageStore::appendContent(intrusive_ptr<const PersistableMessage>&, 
const string&)
+void NullMessageStore::appendContent(const intrusive_ptr<const 
PersistableMessage>&, const string&)
 {
     QPID_LOG(info, "Can't append content. Persistence not enabled.");
 }
 
-void NullMessageStore::loadContent(const qpid::broker::PersistableQueue&, 
intrusive_ptr<const PersistableMessage>&, string&, uint64_t, uint32_t)
+void NullMessageStore::loadContent(const qpid::broker::PersistableQueue&,
+                                   const intrusive_ptr<const 
PersistableMessage>&,
+                                   string&, uint64_t, uint32_t)
 {
     QPID_LOG(info, "Can't load content. Persistence not enabled.");
 }
 
-void NullMessageStore::enqueue(TransactionContext*, 
intrusive_ptr<PersistableMessage>& msg, const PersistableQueue& queue)
+void NullMessageStore::enqueue(TransactionContext*,
+                               const intrusive_ptr<PersistableMessage>& msg,
+                               const PersistableQueue& queue)
 {
     msg->enqueueComplete(); 
     QPID_LOG(info, "Message is not durably recorded on '" << queue.getName() 
<< "'. Persistence not enabled.");
 }
 
-void NullMessageStore::dequeue(TransactionContext*, 
intrusive_ptr<PersistableMessage>& msg, const PersistableQueue&)
+void NullMessageStore::dequeue(TransactionContext*,
+                               const intrusive_ptr<PersistableMessage>& msg,
+                               const PersistableQueue&)
 {
     msg->dequeueComplete();
 }

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h?rev=670718&r1=670717&r2=670718&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h Mon Jun 23 
12:43:49 2008
@@ -38,7 +38,7 @@
     std::set<std::string> prepared;
     const bool warn;
     uint64_t nextPersistenceId;
-public:
+  public:
     NullMessageStore(bool warn = false);
 
     virtual bool init(const Options* options);
@@ -61,16 +61,18 @@
     virtual void create(const PersistableConfig& config);
     virtual void destroy(const PersistableConfig& config);
     virtual void recover(RecoveryManager& queues);
-    virtual void stage(boost::intrusive_ptr<PersistableMessage>& msg);
+    virtual void stage(const boost::intrusive_ptr<PersistableMessage>& msg);
     virtual void destroy(PersistableMessage& msg);
-    virtual void appendContent(boost::intrusive_ptr<const PersistableMessage>& 
msg,
+    virtual void appendContent(const boost::intrusive_ptr<const 
PersistableMessage>& msg,
                                const std::string& data);
     virtual void loadContent(const qpid::broker::PersistableQueue& queue,
-                             boost::intrusive_ptr<const PersistableMessage>& 
msg, std::string& data,
+                             const boost::intrusive_ptr<const 
PersistableMessage>& msg, std::string& data,
                              uint64_t offset, uint32_t length);
-    virtual void enqueue(TransactionContext* ctxt, 
boost::intrusive_ptr<PersistableMessage>& msg,
+    virtual void enqueue(TransactionContext* ctxt,
+                         const boost::intrusive_ptr<PersistableMessage>& msg,
                          const PersistableQueue& queue);
-    virtual void dequeue(TransactionContext* ctxt, 
boost::intrusive_ptr<PersistableMessage>& msg,
+    virtual void dequeue(TransactionContext* ctxt,
+                         const boost::intrusive_ptr<PersistableMessage>& msg,
                          const PersistableQueue& queue);
     virtual u_int32_t outstandingQueueAIO(const PersistableQueue& queue);
     virtual void flush(const qpid::broker::PersistableQueue& queue);

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h?rev=670718&r1=670717&r2=670718&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h Mon Jun 
23 12:43:49 2008
@@ -37,8 +37,7 @@
 class MessageStore;
 
 /**
- * The interface messages must expose to the MessageStore in order to
- * be persistable.
+ * Base class for persistable messages.
  */
 class PersistableMessage : public Persistable
 {
@@ -122,7 +121,6 @@
                     PersistableQueue::shared_ptr q(i->lock());
                     if (q) q->notifyDurableIOComplete();
                 } 
-                //synclist.clear();
             }            
         }
     }

Modified: incubator/qpid/trunk/qpid/cpp/src/tests/MessageBuilderTest.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/tests/MessageBuilderTest.cpp?rev=670718&r1=670717&r2=670718&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/tests/MessageBuilderTest.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/tests/MessageBuilderTest.cpp Mon Jun 23 
12:43:49 2008
@@ -63,14 +63,15 @@
         ops.push_back(APPEND); 
     }
 
-    void stage(intrusive_ptr<PersistableMessage>& msg)
+    void stage(const intrusive_ptr<PersistableMessage>& msg)
     {
         checkExpectation(STAGE);
         BOOST_CHECK_EQUAL(expectedMsg, msg);
         msg->setPersistenceId(++id);
     }
 
-    void appendContent(intrusive_ptr<const PersistableMessage>& msg, const 
string& data)
+    void appendContent(const intrusive_ptr<const PersistableMessage>& msg,
+                       const string& data)
     {
         checkExpectation(APPEND);
         BOOST_CHECK_EQUAL(static_pointer_cast<const 
PersistableMessage>(expectedMsg), msg);

Modified: incubator/qpid/trunk/qpid/cpp/src/tests/TestMessageStore.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/tests/TestMessageStore.h?rev=670718&r1=670717&r2=670718&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/tests/TestMessageStore.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/tests/TestMessageStore.h Mon Jun 23 
12:43:49 2008
@@ -36,12 +36,16 @@
     std::vector<boost::intrusive_ptr<PersistableMessage> > dequeued;
     std::vector<msg_queue_pair> enqueued;
     
-    void dequeue(TransactionContext*, 
boost::intrusive_ptr<PersistableMessage>& msg, const PersistableQueue& 
/*queue*/)
+    void dequeue(TransactionContext*,
+                 const boost::intrusive_ptr<PersistableMessage>& msg,
+                 const PersistableQueue& /*queue*/)
     {
         dequeued.push_back(msg);
     }
 
-    void enqueue(TransactionContext*, 
boost::intrusive_ptr<PersistableMessage>& msg, const PersistableQueue& queue)
+    void enqueue(TransactionContext*,
+                 const boost::intrusive_ptr<PersistableMessage>& msg,
+                 const PersistableQueue& queue)
     {
         msg->enqueueComplete(); 
         enqueued.push_back(msg_queue_pair(queue.getName(), msg));


Reply via email to