<div dir="ltr">Excellent points.  <div><br></div><div>Having had a chance to sleep on it - its seems to me you need to have an API that exposes the protocol at some level. A layer that abstracts away the concept of channels can always be layered over the top of that.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Aug 8, 2013 at 6:58 AM, Michael Klishin <span dir="ltr">&lt;<a href="mailto:mklishin@gopivotal.com" target="_blank">mklishin@gopivotal.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Alan Antonuk:<br>
<div class="im"><br>
&gt; That makes me wonder what is it that developers use channels for?  My understanding is they&#39;re were designed to be an &#39;error scope&#39; at a protocol level. I don&#39;t see a lot of developers using them that way, and sometimes its the source of a bit of pain (having to recreate any resources that get destroyed as a result of a channel exception, or in bad cases, their whole app aborts because the channel dies).<br>

<br>
</div>For separating things that may require different error handling.<br>
<div class="im"><br>
&gt; My thinking is that an API could be created that internally uses channels intelligently to give more native feel to error handling. One example of changing the API might be: instead of apply basic.qos to a channel, you apply it to a consumer, and internally the library maps a consumer to a channel, so a BasicQos on a consumer.  The same can be done for other aspects of the protocol (this is what I ended up doing with SimpleAmqpClient).  A downside being the API may not map 1:1  to a lot of the documentation that is out there.<br>

<br>
</div>Nearly every other client exposes basic.qos on a channel, not a consumer. Not doing the same<br>
will likely only cause more confusion at this point, not less.<br>
--<br>
MK<br>
<br>
<br>_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">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>
<br></blockquote></div><br></div>