AMQP as a spec, only really specifies how clients and brokers should talk to each other, and the features that brokers should expose to clients. �It leaves the programming API open to interpretation. �The rabbitmq-c library exposes a pretty raw and low-level interface to AMQP. �It doesn't make any effort to solve common messaging idioms (like RPC, or a multi-threaded consumer), leaving that to the user of the library. �<div>
<br></div><div>I hope to address this in a future version of the library, by making these these a part of the API or providing a higher-level API that provides solutions for these messaging patterns.</div><div><br></div><div>
-Alan<br><div><br></div><div><br><div class="gmail_quote">On Thu, Feb 16, 2012 at 9:41 PM, Eric J. Holtman <span dir="ltr"><<a href="mailto:eric@holtmans.com" target="_blank">eric@holtmans.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On 2/16/2012 7:27 PM, Alan Antonuk wrote:<br>
><br>
> Thats one way to do it. �Another would be to a have a "connection thread"<br>
> that would own the non-thread-safe objects, and would dispatch the messages<br>
> to the worker threads. �It takes a bit more code to accomplish it but its<br>
<br>
</div>....<br>
<div><br>
> As a self-less plug, if you're looking for a C++ wrapper - I'd encourage<br>
> you to checkout SimpleAmqpClient <a href="https://github.com/alanxz/SimpleAmqpClient" target="_blank">https://github.com/alanxz/SimpleAmqpClient</a>,<br>
> which is Yet Another rabbitmq-c wrapper. �It won't necessarily solve your<br>
> threading question though.<br>
><br>
<br>
</div>Thanks, Alan!<br>
<br>
I guess after reading through a couple of books, I was assuming<br>
that implementations of Rabbit (or AMQP) would make using multiple<br>
channels across threads easier.<br>
<br>
However, I spent today glancing over the actual protocol spec,<br>
and now I understand why rabittmq-c doesn't do that: �there's<br>
just way too much state in each object.<br>
<br>
OK, I can live with it... I just wanted to be sure I wasn't<br>
fundamentally misunderstanding something.<br>
<div><div><br>
<br>
_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
</div></div></blockquote></div><br>
</div></div>