I was about to send an email saying basically the same thing. I would add that STOMP might be another place to look. It has fewer capabilities than OpenWire or AMQP, but it has wide industry adoption (because it is so simple) and has an independent specification (although not ISO like AMQP).
Justin On Thu, Dec 17, 2020 at 3:28 PM Timothy Bish <tabish...@gmail.com> wrote: > 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 > >