Author: gsim
Date: Tue Apr  1 10:13:43 2008
New Revision: 643478

URL: http://svn.apache.org/viewvc?rev=643478&view=rev
Log:
Added a dump method to buffer for debugging io (patch from [EMAIL PROTECTED])


Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.h

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.cpp?rev=643478&r1=643477&r2=643478&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.cpp Tue Apr  1 
10:13:43 2008
@@ -22,6 +22,7 @@
 #include "FramingContent.h" 
 #include "FieldTable.h" 
 #include <string.h>
+#include <boost/format.hpp>
 namespace qpid {
 
 namespace framing {
@@ -255,6 +256,21 @@
     checkAvailable(len);
     memcpy(s, data + position, len);
     position += len;
+}
+
+void Buffer::dump(std::ostream& out) const {
+    for (uint32_t i = position; i < size; i++)
+    {
+        if (i != position)
+            out << " ";
+        out << boost::format("%02x") % ((unsigned) (uint8_t) data[i]);
+    }
+}
+
+std::ostream& operator<<(std::ostream& out, const Buffer& b){
+    out << "Buffer[";
+    b.dump(out);
+    return out << "]";
 }
 
 }}

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.h?rev=643478&r1=643477&r2=643478&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.h Tue Apr  1 10:13:43 
2008
@@ -112,7 +112,11 @@
 
     template <class T> void put(const T& data) { data.encode(*this); }
     template <class T> void get(T& data) { data.decode(*this); }
+
+    void dump(std::ostream&) const;
 };
+
+std::ostream& operator<<(std::ostream&, const Buffer&);
 
 }} // namespace qpid::framing
 


Reply via email to