[ros-dev] Loopback problem

Ge van Geldorp gvg at reactos.org
Wed Dec 21 17:34:00 CET 2005


> From: Phillip Susi
> 
> Ge van Geldorp wrote:
> > I've been wrong before, but that's my interpretation of 
> > what's happening. We've only sent one byte and are trying
> > to send another single byte.
> 
> Wait a second... why is it sending only one byte at a time?  
> The caller is only send()ing one byte at a time?

Yup.

> The caller really should not be doing that.

Hmm, I just read a Larry Wall quote: "we're not terribly interested in
telling people what they can't do" :-)

> You may be seeing the nagle 
> algorithm kicking in then, which specifically tries to wait 
> for an ack before sending more frames, _unless_ there is 
> enough queued data to send another complete frame. 
> This prevents tons of single byte frames from flooding the 
> network, instead coalescing them into larger frames.
> 
> I'm curious now about the application.  Why is it sending one 
> byte at a time to itself via the loopback?  That seems to be broken.

The application is the Mozilla ActiveX control. My guess (but I haven't
studied its source code to confirm this) is that it is doing this as a form
of inter-thread communication. It might be broken, but it works ok on
Windows, so we have to make it work also.
In my first post I've included a simple test app which demonstrates the
behaviour. I can send it again if you like.

GvG



More information about the Ros-dev mailing list