Bug 497747 - Feature: Protocol independent API for c++
Summary: Feature: Protocol independent API for c++
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: 1.1.1
Hardware: All
OS: Linux
urgent
medium
Target Milestone: 1.3
: ---
Assignee: Gordon Sim
QA Contact: Frantisek Reznicek
URL:
Whiteboard:
: 430491 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-04-26 20:57 UTC by Gordon Sim
Modified: 2015-11-16 00:07 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
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.
Clone Of:
Environment:
Last Closed: 2010-10-14 15:59:52 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0773 0 normal SHIPPED_LIVE Moderate: Red Hat Enterprise MRG Messaging and Grid Version 1.3 2010-10-14 15:56:44 UTC

Description Gordon Sim 2009-04-26 20:57:47 UTC
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.

Comment 1 Gordon Sim 2009-05-05 17:08:59 UTC
*** Bug 430491 has been marked as a duplicate of this bug. ***

Comment 3 Gordon Sim 2010-01-29 09:00:28 UTC
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).

Comment 4 Frantisek Reznicek 2010-03-17 15:10:16 UTC
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

Comment 5 Frantisek Reznicek 2010-03-17 15:13:32 UTC
Test repro linked https://bugzilla.redhat.com/show_bug.cgi?id=497748#c4

Comment 6 mick 2010-10-07 18:52:20 UTC
    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.

Comment 7 Martin Prpič 2010-10-10 08:19:04 UTC
    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.

Comment 8 Douglas Silas 2010-10-11 13:52:21 UTC
    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.

Comment 10 errata-xmlrpc 2010-10-14 15:59:52 UTC
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


Note You need to log in before you can comment on or make changes to this bug.