<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Wed, Aug 7, 2013 at 1:49 PM, Daniel Pocock <span dir="ltr"><<a href="mailto:daniel@pocock.com.au" target="_blank">daniel@pocock.com.au</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im"><span style="color:rgb(34,34,34)">Does this mean we need to block and/or use threads to receive messages?</span><br>
</div></blockquote><div><br></div><div>Yes, the state of rabbitmq-c and SimpleAmqpClient when waiting for a delivery from a consumer is you need to block, optionally with a timeout.</div><div> <br></div><div>The problem I'm stating is that AMQP has some async parts to the protocol, and rabbitmq-c doesn't do anything to handle these events as they're fired from the broker. They're only 'seen' by rabbitmq-c when synchronous calls are made.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Do you envisage making it work like boost::asio or have you seen<br>
anything like that for AMQP?<br></blockquote><div><br></div><div>A few years back I started to implement a pure C++ AMQP client library leveraging boost::asio. You can find it here:</div><div><a href="https://github.com/alanxz/libamqp-cpp">https://github.com/alanxz/libamqp-cpp</a><br>
</div><div>The project was not completed. I don't have plans to resume work it.</div><div><br></div><div>Recently I have been doing a bit of design work to see what would be necessary to create an library that leverages libuv to make a fully-functional native AMQP client.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><span style="color:rgb(34,34,34)">Did you collaborate with anybody for the Debian package of the C client?</span><br></div>
<a href="http://packages.debian.org/jessie/librabbitmq-dev" target="_blank">http://packages.debian.org/jessie/librabbitmq-dev</a><br>
<br></blockquote><div>That package is very old. People have come to me time-to-time for assistance in creating a Ubuntu and/or Debian package, and not having a lot of knowledge in the process I do what I can to help out. Currently there is some packaging material in the debian directory of the rabbitmq-c repo. It is somewhat out of date, though not as old as what you've linked.</div>
<div><br></div><div>I personally would like to move the packaging details out of the repository to allow for different distributions to come up with their own independent packaging, as each distribution seems to do things in a slightly different and incompatible way. If you or someone you know is willing to step up and help maintain said package, I will do what I can to help out.</div>
<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Has anybody discussed a package of the C++ client?<br></blockquote><div><br></div><div>I haven't heard of anyone doing so. One roadblock is that when SimpleAmqpClient was created it used a newer version of boost than came packaged with the LTS version of Ubuntu because it needed the boost.chrono library which was fairly new at the time. I'm not sure if the situation has changed since then.</div>
<div><br></div><div>Again if you or someone you know is willing to step up and help maintain an SimpleAmqpClient package, I will do what I can to help out.</div></div><br></div></div>