You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by cc...@apache.org on 2007/11/12 16:38:57 UTC

svn commit: r594186 - in /incubator/qpid/trunk/qpid/cpp/src/qpid/broker: PersistableMessage.h PersistableQueue.h Queue.h

Author: cctrieloff
Date: Mon Nov 12 07:38:56 2007
New Revision: 594186

URL: http://svn.apache.org/viewvc?rev=594186&view=rev
Log:
- notify the queue when a async IO completes for a message.


Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h

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=594186&r1=594185&r2=594186&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h Mon Nov 12 07:38:56 2007
@@ -108,6 +108,11 @@
         if (asyncEnqueueCounter > 0) {
             if (--asyncEnqueueCounter == 0) {
                 asyncEnqueueLock.notify();
+				if (store) {
+                    for (syncList::iterator i = synclist.begin(); i != synclist.end(); ++i) {
+        	            (*i)->notifyDurableIOComplete();
+                    } 
+                }
             }
         }
     }

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h?rev=594186&r1=594185&r2=594186&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableQueue.h Mon Nov 12 07:38:56 2007
@@ -70,15 +70,15 @@
     };
     
     
-protected:
     /**
-    * call back for the store to signal AIO writes have
+    * call back to signal async AIO writes have
     * completed (enqueue/dequeue etc)
     *
     * Note: DO NOT do work on this callback, if you block
     * this callback you will block the store.
     */
     virtual void notifyDurableIOComplete()  = 0;
+protected:
     
     ExternalQueueStore* externalQueueStore;
     

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h?rev=594186&r1=594185&r2=594186&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h Mon Nov 12 07:38:56 2007
@@ -113,13 +113,9 @@
             bool getNextMessage(QueuedMessage& msg);
             bool exclude(Message::shared_ptr msg);
  
-        protected:
-           /**
-            * Call back from store
-            */
-            virtual void notifyDurableIOComplete();
 
         public:
+            virtual void notifyDurableIOComplete();
             typedef boost::shared_ptr<Queue> shared_ptr;
 
             typedef std::vector<shared_ptr> vector;