<div dir="ltr">Hello again,<div><br></div><div>We moved forward a bit and digged in search for where the hiccups occur. It seems that the data transfer is actually quite fast and fluent, BUT every so often (by that I mean too often) there is a huge gap between recv callbacks from agent. Exactly 4s gaps. This totally kills the transfer rate as you might imagine. Exactly 4s seemed to be "too perfect" to be accidental, so after a quick grep I found this:</div>
<div><br></div><div><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px"><code>// If there are no pending clocks, wake up every 4 seconds
#define DEFAULT_TIMEOUT 4000</code></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px"><code><br></code></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px">
<code><font face="arial, helvetica, sans-serif">And sure - tinkering with this value provided different transfer speeds (sometimes much, much higher - almost on par with tcp). Of course changing this default timeout should not be a solution. So my question is - what may cause a scenario when this timeout is reached really frequently and do you have any idea how to improve to avoid it?</font></code></pre>
<pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px"><code><font face="arial, helvetica, sans-serif"><br></font></code></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px">
<code><font face="arial, helvetica, sans-serif">Thanks for your time. Kind regards,</font></code></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px"><code><font face="arial, helvetica, sans-serif">Radosław Kołodziejczyk.</font></code></pre>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-06-17 18:17 GMT+02:00 Olivier Crête <span dir="ltr"><<a href="mailto:olivier.crete@collabora.com" target="_blank">olivier.crete@collabora.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<div><div class="h5"><br>
On Tue, 2014-06-17 at 13:44 +0200, Radosław Kołodziejczyk wrote:<br>
> Hello,<br>
><br>
> We've compiled libnice and are using it with GLIB 2.34 on Windows to<br>
> transfer data using the reliable agent. What we found is that it can<br>
> have a really poor performance on some hosts. We've put together a<br>
> simple test program to send gibberish from client to server and even<br>
> while running it via LAN the transfer rate on some systems is down to<br>
> 0,5 MB/s. We can observe 'hiccups' on the receiving side, where the<br>
> data callback is not being called for periods of 100-400 ms sometimes.<br>
> I see a lot of retransmits going on on the sending side.<br>
><br>
> Does anyone have any experience with the reliable agent, especially on<br>
> Windows, and may provide some insight what can be tweaked or what can<br>
> cause such issues?<br>
<br>
</div></div>Most of these are probably due to packet losses, the pseudotcp code is<br>
quite primitive in that regard.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Olivier Crête<br>
<a href="mailto:olivier.crete@collabora.com">olivier.crete@collabora.com</a><br>
<br>
</font></span></blockquote></div><br></div>