<div dir="ltr"><div>Hi,</div>
<div> </div>
<div>I&#39;m following the Erlang client introduction:</div>
<div><a href="http://hopper.squarespace.com/blog/2008/1/12/introducing-the-erlang-amqp-client.html">http://hopper.squarespace.com/blog/2008/1/12/introducing-the-erlang-amqp-client.html</a></div>
<div> </div>
<div>All the calls are made against the parent process. </div>
<div>For example:</div>
<div>amqp_channel:cast(Channel, BasicPublish, Content).</div>
<div> </div>
<div>In amqp_channel the cast function is defined as:</div>
<div>cast(Channel, Method) -&gt;<br>    gen_server:cast(Channel, {cast, Method}).</div>
<div> </div>
<div>When using a large number of direct Erlang clients for a gateway implementation</div>
<div>where every outer client using some protocol has an Erlang client acting as a translator, </div>
<div>wouldn&#39;t this design create a block at amqp_channel:cast/2 and slow things down?</div>
<div>Shouldn&#39;t the client call gen_server:cast/2 directly instead of calling amqp_channel:cast/2 </div>
<div>and use the fact that each Erlang client is a process?</div>
<div> </div>
<div>Thanks</div>
<div> </div>
<div> </div></div>