ietf-nntp Requirement for timeout close unclear
Clive D.W. Feather
clive at demon.net
Mon Jul 9 02:19:22 PDT 2001
Russ Allbery said:
>> Because if the client times out too quickly waiting for the server
>> response it will affect efficiency. Is it sensible for a client to allow
>> the server under a second to reply ? I think not.
> This is a self-correcting problem, since this causes inability for the
> client to talk to the server, whereas the other way around is not a
> self-correcting problem since the server may appear to be working fine to
> nearly all clients. As such, it doesn't seem nearly as important to me to
> worry about this direction of things.
You're making the implicit assumption that clients are somehow less
important to get correct than servers. While I can see why, I'm not sure
that it's a valid assumption. After all:
| This is a self-correcting problem, since this causes inability for the
| server to talk to the client, whereas the other way around is not a
| self-correcting problem since the client may appear to be working fine with
| nearly all servers.
Does that make sense ?
>> And vice versa; nonetheless we put limitations on when the server should
>> do that. And we don't actually say that the server can drop the
>> connection.
>
> Yes, we do.
>
> When the timer expires, the server should close the TCP connection
> without sending any response to the client.
I meant "other than after the timeout".
>>> - POST and IHAVE are mentioned explicitly and handled the same as any
>>> other timeout, which keeps things simple and should already do the
>>> correct thing with existing implementations.
>
>> This means that a client MUST NOT take more than 3 minutes to send a
>> message with POST or IHAVE, since the timer could expire in the middle
>> even though the message is arriving.
> Good point. I propose this text instead:
>
> An NNTP server MAY have an inactivity autologout timer. Such a timer
> SHOULD be of at least three minutes duration, with the exception that
> there MAY be a shorter limit on how long the server is willing to wait
> for the first command from the client. The receipt of any command
> from the client during the timer interval SHOULD suffice to reset the
> autologout timer. Similarly, the receipt of any data from the client
> while in the midst of sending a multiline message to the server (such
> as during a POST or IHAVE command) SHOULD suffice to reset the
> autologout timer. When the timer expires, the server SHOULD close the
> TCP connection without sending any response to the client, including
> when the client is in the middle of sending a multiline message to
> the server.
>
> Does that sound better?
Yes.
Nitpick: the raw input code might not be a convenient place to do the
reset; rather, the logical place might be at the point that a line has been
read. Do we want to say "receipt of a significant amount of data", or
"receipt of at least one line", or something like that, or is this too much
detail to worry about ?
> No, an explicit statement of what a terminated connection should mean from
> the perspective of the client.
Fine by me, modulo the ongoing discussion about POST with no message-ID.
--
Clive D.W. Feather | Work: <clive at demon.net> | Tel: +44 20 8371 1138
Internet Expert | Home: <clive at davros.org> | Fax: +44 20 8371 1037
Demon Internet | WWW: http://www.davros.org | DFax: +44 20 8371 4037
Thus plc | | Mobile: +44 7973 377646
More information about the ietf-nntp
mailing list