Subject: Re: internet draft on suggested mod to the Nagle algorithm

From: Vernon Schryver <[email-masked]>
Date: Thu, 11 Feb 1999 18:08:32 -0700 (MST)

> From: Henrik Frystyk Nielsen <[email-masked]>

> >Who is urging that applications be smart enough to see REQ2 before
> >finishing sending RES1?  It's nice to gobble all currently waiting input
> >before sending your output, but I think it's above and beyond the call of
> >duty, and edges into geewhiz freaping creaturism territory.
>
> Welcome to HTTP/1.1 pipelining [1] :)
>
> It's in Apache, Jigsaw, and possibly many other HTTP/1.1 servers.

Didn't I also see a note from you saying the only existing HTTP/1.1 code
that does it is yours?   If so, that sounds like nicer way to say about
the same thing as I tried to.

I'm not enthused by the creaping featurism aspects of the explicit flush
bit.  It all seems too much like the Winsock 2.0 mess.  (Don't take my
word; go get the spec at http://www.stardust.com/wsresource/wsresrce.html)
But an explict flush bit certainly sounds more useful, more flexible,
easier to understand, possible to implement, possible to test standards
compliance, and remotely possible to explain to the many people who code
send-send-read applications.

If I had a nickle for every time I've tried to explain why it's not just
obvious common sense to reduce the number sends per transaction ...
"Set the SO_SEGFLUSH bit" sounds more likely to be understood than
"code it correctly."  It does a less harm to the net than "turn off Nagle."

Again, what are the concrete example applications on real life systems
where the proposed modification to Nagle are better?  I've just re-read
the draft, and don't the advantages of the proposal, given that most
systems (that care about performance) are doing as RFC 896 and 1122 say
and operating on application send requests instead of on packets, and
since most transaction applications either send a lot more than 2920 bytes
or less than 1460.

Vernon Schryver    [email-masked]

---

From: Henrik Frystyk Nielsen <[email-masked]>
Date: Fri, 12 Feb 1999 06:47:51 -0500

>the same thing as I tried to.

Nope, I said there are two cases: client side and server side. What you
explicitly referred to is server side pipelining which is trivially
implemented.

Henrik
--
Henrik Frystyk Nielsen,
World Wide Web Consortium
http://www.w3.org/People/Frystyk