Author: gsim
Date: Thu Oct 11 02:20:18 2007
New Revision: 583750
URL: http://svn.apache.org/viewvc?rev=583750&view=rev
Log:
Requeue messages for cancelled subscriptions on reciver (rather than
redelivering)
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp?rev=583750&r1=583749&r2=583750&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.cpp Thu Oct 11
02:20:18 2007
@@ -79,9 +79,13 @@
}
void DeliveryRecord::redeliver(SemanticState* const session) {
- if (!confirmed && !cancelled) {
- if(pull){
+ if (!confirmed) {
+ if(pull || cancelled){
//if message was originally sent as response to get, we must
requeue it
+
+ //or if subscription was cancelled, requeue it (waiting for
+ //final confirmation for AMQP WG on this case)
+
requeue();
}else{
msg.payload->redeliver();//mark as redelivered