Author: gsim
Date: Tue Mar 24 14:07:25 2009
New Revision: 757808

URL: http://svn.apache.org/viewvc?rev=757808&view=rev
Log:
QPID-1771: fix as applied to branch as r757807.


Modified:
    qpid/trunk/qpid/cpp/src/qpid/cluster/Decoder.cpp
    qpid/trunk/qpid/cpp/src/qpid/cluster/EventFrame.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/cluster/Decoder.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/cluster/Decoder.cpp?rev=757808&r1=757807&r2=757808&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/cluster/Decoder.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/cluster/Decoder.cpp Tue Mar 24 14:07:25 2009
@@ -47,12 +47,13 @@
         // We must give 1 unit read credit per event.
         // This event does not complete any frames so 
         // send an empty frame with the read credit.
-        process(EventFrame(EventHeader(), framing::AMQFrame(), 1));
+        process(EventFrame(eh, framing::AMQFrame(), 1));
     }    
 }
 
 void Decoder::process(const EventFrame& ef) {
-    if (ef.frame.getMethod() && 
ef.frame.getMethod()->isA<framing::ClusterConnectionDeliverCloseBody>())
+    //need to check that this is not the empty frame mentioned above
+    if (ef.frame.getBody() && ef.frame.getMethod() && 
ef.frame.getMethod()->isA<framing::ClusterConnectionDeliverCloseBody>())
         map.erase(ef.connectionId);
     callback(ef);
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/cluster/EventFrame.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/cluster/EventFrame.cpp?rev=757808&r1=757807&r2=757808&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/cluster/EventFrame.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/cluster/EventFrame.cpp Tue Mar 24 14:07:25 2009
@@ -33,7 +33,9 @@
 }
 
 std::ostream& operator<<(std::ostream& o, const EventFrame& e) {
-    return o << e.frame  << " " << e.type << " " << e.connectionId;
+    if (e.frame.getBody()) o << e.frame;
+    else o << "null-frame";
+    o << " " << e.type << " " << e.connectionId;
     if (e.readCredit) o << " read-credit=" << e.readCredit;
     return o;
 }



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to