You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2008/09/23 20:35:52 UTC

svn commit: r698272 - /incubator/qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp

Author: gsim
Date: Tue Sep 23 11:35:52 2008
New Revision: 698272

URL: http://svn.apache.org/viewvc?rev=698272&view=rev
Log:
Batch writing of outgoing messages (up to one buffers worth)


Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp?rev=698272&r1=698271&r2=698272&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp Tue Sep 23 11:35:52 2008
@@ -79,10 +79,11 @@
     }
     size_t frameSize=0;
     while (!frameQueue.empty() && ((frameSize=frameQueue.front().size()) <= out.available())) {
-            frameQueue.front().encode(out);
-            QPID_LOG(trace, "SENT [" << identifier << "]: " << frameQueue.front());
-            frameQueue.pop_front();
-            buffered -= frameSize;
+        frameQueue.front().encode(out);
+        QPID_LOG(trace, "SENT [" << identifier << "]: " << frameQueue.front());
+        frameQueue.pop_front();
+        buffered -= frameSize;
+        if (frameQueue.empty() && out.available() > 0) connection->doOutput(); 
     }
     assert(frameQueue.empty() || frameQueue.front().size() <= size);
     if (!frameQueue.empty() && frameQueue.front().size() > size)