Hi!<div><br></div><div>gen_tcp:recv(..., N, M) returns {error, timeout} if N bytes has not been received after M milliseconds. If less bytes are available the call will _not_ succeed. If you are receiving data at a slow rate specifying 0 as the length is preferrable because the call will return whatever data is available at the time. If there is no data available it will wait and timeout if no data has been received after M milliseconds. If you don't want to timeout at all when doing this, specify infinity as the timout value.</div>
<div><br></div><div>MVH Magnus<br><br><div class="gmail_quote">On Tue, Dec 27, 2011 at 2:10 AM, Roberto Ostinelli <span dir="ltr"><<a href="mailto:roberto@widetag.com">roberto@widetag.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
dear list,<br><br>when calling gen_tcp:recv/3 by specifying a length and a timeout, when will {error, timeout} be a response? Is it:<br><br>1. when no bytes are received for a period longer than the specified Timeout<br>2. when the number of bytes specified in Length is not received within Timeout<br>
<br>if 2, what is the best solution to actually *not* have a recv/3 timeout while receiving bytes at a very low pace (for instance on very slow connections)?<br><br>thank you,<br><br>r.<br></blockquote></div></div>