To clarify further... You can put any arbitrary binary content into the body of an AMQP message. William is illustrating how to use the AMQP codec to safely encode typed data in binary form. Using the AMQP codec allows you to not concern yourself with issues like endian-byte-order in multi-byte integers.

-Ted

William Henry wrote:
Hi Wes,

It is possible. Unfortunately the only C++ example I can think of this is 
currently in the management (QMF) code.  I'll try to get another example out 
soon.

Have a look here:
cpp/src/qpid/agent/ManagementAgentImpl.cpp

Simply, the steps are:
You create a Buffer and then use the various put APIs (e.g. putLong, putDouble 
etc.) to put the binary types in the Buffer. You then place that Buffer in the 
data portion of the message. On the consumer side you extract the Buffer and 
then use the various get APIs (e.g. getLong, getDouble etc.) to retrieve the 
values from the Buffer.

Best,
William


----- "Wes Parish" <wes.par...@cowtownt.org> wrote:

Is the Qpid C++ Client API capable of transferring binary data?  It
seems like the only data type in qpid/client/Message.h is the
std::string (data field of TransferContent.h).
I am interested in transferring segments of binary data, and not ascii
strings.  Is this possible with the current Qpid C++ API
implementation?  I have not researched the AMQP protocol much yet, but
had assumed this would be possible with the wire protocol.  If it is
not currently implemented, but it is possible, would it be as simple
as overridding the TransferContent and Message classes and working
backwards from there?

Thanks,
Wes

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscr...@qpid.apache.org


Reply via email to