Description of problem: Current API is very 0-10 centric and a little too low level in places. Would be preferable to support an alternative API at a higher level of abstraction.
*** Bug 430491 has been marked as a duplicate of this bug. ***
I'm marking this feature complete and will raise any necessary changes/fixes as more specific BZs. There are some examples and two (in progress) test programs (qpid_send, qpid_recv). Some reference documentation is available through doxygen though this does have some gaps (any specific gaps noticed can be raised as BZs if necessary).
The protocol independent API for python was implemented. Tested on RHEL 4.8 / 5.5 beta i386 / x86_64 on packages: [root@mrg-qe-02 bz497747-8]# rpm -qa | grep qpid | sort -u python-qpid-0.7.917557-4.el5 qpid-cpp-client-0.7.916826-2.el5 qpid-cpp-client-devel-0.7.916826-2.el5 qpid-cpp-client-rdma-0.7.916826-2.el5 qpid-cpp-client-ssl-0.7.916826-2.el5 qpid-cpp-mrg-debuginfo-0.7.916826-2.el5 qpid-cpp-server-0.7.916826-2.el5 qpid-cpp-server-cluster-0.7.916826-2.el5 qpid-cpp-server-devel-0.7.916826-2.el5 qpid-cpp-server-rdma-0.7.916826-2.el5 qpid-cpp-server-ssl-0.7.916826-2.el5 qpid-cpp-server-store-0.7.916826-2.el5 qpid-cpp-server-xml-0.7.916826-2.el5 qpid-dotnet-0.4.738274-2.el5 qpid-java-client-0.7.918215-1.el5 qpid-java-common-0.7.918215-1.el5 qpid-tools-0.7.917557-4.el5 Address concept is working (both as queue and exchange). Simple and threaded receive and consume is working somehow. Interoperability between c++ and python analyzed and working. There are some missing features at the moment and some reliability issues which will be/were addressed separately. -> VERIFIED
Test repro linked https://bugzilla.redhat.com/show_bug.cgi?id=497748#c4
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause: Current API is very 0-10 centric and a little too low level in places. Would be preferable to support an alternative API at a higher level of abstraction. Consequence: It will be difficult to support future AMQP versions. Fix: protocol independent c++ API was implemented Result: Extra layer of indirection will make it easy to support new versions of AMQP, as well as multiple versions simultaneously.
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1,14 +1 @@ -Cause: +This update introduces protocol independent C++ API. The extra layer of indirection will make it easy to support new versions of the AMQP (Advanced Message Queuing Protocol) protocol, as well as multiple versions simultaneously.- Current API is very 0-10 centric and a little too low level in places. Would be preferable to support an alternative API at a higher level of abstraction. - - - Consequence: - It will be difficult to support future AMQP versions. - - - Fix: - protocol independent c++ API was implemented - - - Result: - Extra layer of indirection will make it easy to support new versions of AMQP, as well as multiple versions simultaneously.
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -This update introduces protocol independent C++ API. The extra layer of indirection will make it easy to support new versions of the AMQP (Advanced Message Queuing Protocol) protocol, as well as multiple versions simultaneously.+This update introduces a protocol-independent C++ API. The extra layer of indirection will make it easy to support new versions of the AMQP (Advanced Message Queuing Protocol) protocol, as well as multiple versions simultaneously.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2010-0773.html