On 12/17/20 4:01 PM, Matt Pavlovich wrote:
Aleksander-

I think a C-library and a C++ wrapper would have a lot of value, and open the 
ability to have some nice CLI tools for linux admins, container images, etc.

Something like ‘amq send | recv | browse | MY.QUEUE”

I agree, I think staying with standard libraries with fewest 3rd party 
dependencies is the way to go and provide the most utility.

The activemq-openwire-generator project might be a good place to look too. We 
could generate C structs out of there to get the protocol models generated and 
packaged for consumption by a C library and C++ wrapper library.

-Matt Pavlovich

On Dec 17, 2020, at 12:28 PM, Aleksander Miera <ammi...@hotmail.com> wrote:

@Arjun Ray:
I have been doing similar things, but I would pass custom deleters to 
unique_ptrs.
Not ideal maybe, but worked good enough in my case.
I can agree that authors copied Java style a bit overzealously, but we have 
what we have.
C API would be good, too, and IMHO it should not be that hard to provide it 
with the current codebase, though it might simply require a lot of typing.

Besides, regardless of its final shape I guess the project would benefit from 
simplifying it, e.g. by replacing platfrom-specific threads with std::thread.
If the "javaisms" are to be reworked into modern C++ is a matter of taste, but 
if it's possible to be done step by step I guess it should be considered, especially now 
when the C++'s standard library has become way richer.

@Mike thanks for information on how to contribute, hopefully it will become 
handy soon :)

Best regards,
Aleksander Miera

I think one's time would be better spent using and / or contributing to an AMQP v1.0 client library (which is an ISO standard protocol) vs inventing another Openwire client at this point.  AMQP offers a well defined specification that provides a much more robust credit model and message encoding flexibility etc that Openwire simply doesn't have. Plus it would work with any AMQP v1.0 compliant broker or message service unlike an Openwire client.

Apache Qpid already has such clients http://qpid.apache.org/proton/index.html and that is where I'd spend my time if I was to ever think of working in the C or C++ client space again.


--
Tim Bish

Reply via email to