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&#39;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">&lt;<a href="mailto:eric@holtmans.com" target="_blank">eric@holtmans.com</a>&gt;</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>
&gt;<br>
&gt; Thats one way to do it. �Another would be to a have a &quot;connection thread&quot;<br>
&gt; that would own the non-thread-safe objects, and would dispatch the messages<br>
&gt; to the worker threads. �It takes a bit more code to accomplish it but its<br>
<br>
</div>....<br>
<div><br>
&gt; As a self-less plug, if you&#39;re looking for a C++ wrapper - I&#39;d encourage<br>
&gt; you to checkout SimpleAmqpClient <a href="https://github.com/alanxz/SimpleAmqpClient" target="_blank">https://github.com/alanxz/SimpleAmqpClient</a>,<br>
&gt; which is Yet Another rabbitmq-c wrapper. �It won&#39;t necessarily solve your<br>
&gt; threading question though.<br>
&gt;<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&#39;t do that: �there&#39;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&#39;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>