<div dir="ltr">Thanks, Jason. To me, the Jetty code looks like it&#39;s doing pretty much what Stuart told me to do. Can you tell me which part exactly assumes the blocking behavior so I can relay that to the Pedestal guys?<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 16, 2014 at 10:33 PM, Jason T. Greene <span dir="ltr">&lt;<a href="mailto:jgreene@redhat.com" target="_blank">jgreene@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
Sent from my iPhone<br>
<span class=""><br>
&gt; On Sep 16, 2014, at 8:19 PM, Jim Crossley &lt;<a href="mailto:jim@crossleys.org">jim@crossleys.org</a>&gt; wrote:<br>
&gt;<br>
&gt; Is this an async or a blocking transfer? The problem with<br>
&gt; &gt; ReadableByteChannel is that it can be a blocking channel, and as a<br>
&gt; &gt; result reading from it in the IO thread will result in crappy<br>
&gt; &gt; performance.<br>
&gt;<br>
&gt; Because of the way they&#39;re using it (with Clojure&#39;s core.async library)<br>
&gt; I expect the transfer to be async, but I&#39;ll verify that with them.<br>
<br>
</span>I just looked at the Jetty impl, and the code assumes blocking behavior with that method. Anything using it will be blocking reads with non blocking writes.</blockquote></div><br></div>