Re: #468 p2: Expectation extensions (was: Expect header 'understand' vs 'meet')

On Sat, Aug 10, 2013 at 09:37:53AM +0000, Poul-Henning Kamp wrote:
> In message <20130810092804.GO4079@1wt.eu>, Willy Tarreau writes:
> 
> >I disagree with deprecating it, it's the only way to send non-idempotent
> >request over a reused connection. 
> 
> Not really.
> 
> Send the headers, wait a RTT to see if you get an ACK, if not abandon.
> 
> It's much faster than using Expect and at least as realiable.

No, for two reasons :

  - this is not really doable at the application level (can only be
    OS dependant, as the application manipulates connected sockets,
    not packets).

  - the fact that the TCP stack in front of you has ACKed your data
    only means they were received in socket buffers, not that they
    were delivered to the application. And when the keep-alive
    timeout strikes and the server closes, there is no way to ensure
    that pending data are always taken care of (since they can come
    in between the moment you check and the close).

Willy

Received on Saturday, 10 August 2013 10:02:10 UTC