Author: cctrieloff
Date: Fri Sep 21 12:10:31 2007
New Revision: 578232

URL: http://svn.apache.org/viewvc?rev=578232&view=rev
Log:
- dequeue fix for AIO
- added access functions needed for AIO in Recoverable classes.


Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/BrokerQueue.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoverableQueue.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/BrokerQueue.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/BrokerQueue.cpp?rev=578232&r1=578231&r2=578232&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/BrokerQueue.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/BrokerQueue.cpp Fri Sep 21 
12:10:31 2007
@@ -255,9 +255,7 @@
     QueuedMessage msg;
     if(!messages.empty()){
         msg = messages.front();
-       if (msg.payload->isEnqueueComplete()){
-           pop();
-       }
+        pop();
     }
     return msg;
 }

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoverableQueue.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoverableQueue.h?rev=578232&r1=578231&r2=578232&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoverableQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoverableQueue.h Fri Sep 21 
12:10:31 2007
@@ -40,6 +40,7 @@
     typedef boost::shared_ptr<RecoverableQueue> shared_ptr;
 
     virtual void setPersistenceId(uint64_t id) = 0;
+    virtual uint64_t getPersistenceId() const = 0;
     /**
      * Used during recovery to add stored messages back to the queue
      */
@@ -48,7 +49,7 @@
 
     virtual const std::string& getName() const = 0;
     virtual void setExternalQueueStore(ExternalQueueStore* inst) = 0;
-
+       virtual ExternalQueueStore* getExternalQueueStore() const = 0;
 
 };
 

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp?rev=578232&r1=578231&r2=578232&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp Fri 
Sep 21 12:10:31 2007
@@ -61,9 +61,11 @@
 public:
     RecoverableQueueImpl(Queue::shared_ptr& _queue) : queue(_queue) {}
     ~RecoverableQueueImpl() {};
-    void setPersistenceId(uint64_t id);
+    void setPersistenceId(uint64_t id);    
+       uint64_t getPersistenceId() const;
     const std::string& getName() const;
     void setExternalQueueStore(ExternalQueueStore* inst);
+    ExternalQueueStore* getExternalQueueStore() const;
     void recover(RecoverableMessage::shared_ptr msg);
     void enqueue(DtxBuffer::shared_ptr buffer, RecoverableMessage::shared_ptr 
msg);
     void dequeue(DtxBuffer::shared_ptr buffer, RecoverableMessage::shared_ptr 
msg);
@@ -156,6 +158,11 @@
 {
     queue->setPersistenceId(id);
 }
+       
+uint64_t RecoverableQueueImpl::getPersistenceId() const
+{
+       return queue->getPersistenceId();
+}
 
 const std::string& RecoverableQueueImpl::getName() const
 {
@@ -165,6 +172,11 @@
 void RecoverableQueueImpl::setExternalQueueStore(ExternalQueueStore* inst)
 {
     queue->setExternalQueueStore(inst);
+}
+
+ExternalQueueStore* RecoverableQueueImpl::getExternalQueueStore() const
+{
+       return queue->getExternalQueueStore();
 }
 
 void RecoverableExchangeImpl::setPersistenceId(uint64_t id)


Reply via email to