[NNTP] Extension docs snapshots
Clive D.W. Feather
clive at demon.net
Fri Dec 3 06:24:36 PST 2004
Russ Allbery said:
>> You don't know that the next thing is going to be a CHECK and, even if
>> so, why does it matter? Suppose the pipeline depth is 3:
>
>> [C] MODE STREAM
>> [C] CHECK <msg.id.1 at example.com>
>> [C] CHECK <msg.id.2 at example.com>
>> [S] 501 What is MODE STREAM?
>> [S] 500 What is CHECK?
>> [S] 500 What is CHECK?
>
>> Where's the problem?
>
> Now try that again where the next command is TAKETHIS.
That's a different problem: you really ought not to do TAKETHIS until you
know it will work. But that does *not* mean that you shouldn't pipeline
MODE STREAM.
>> Can we please go back to basic principles on this? The reason for
>> pipelining restrictions is that some servers hand off certain commands
>> to other processes and there is then an issue with which process gets
>> which data from the socket. That justifies the restriction on MODE
>> READER. The handshaking of things like IHAVE also mean that pipelining
>> can't work.
> The reason for the MODE STREAM command is that if you send TAKETHIS
> without establishing that the server supports streaming first, really,
> really bad things happen.
Agreed.
> There is no requirement in the protocol to send
> CHECK before TAKETHIS,
Also agreed.
> Really nasty interoperability problems happen if you pipeline MODE STREAM
> and TAKETHIS together to a server that doesn't support streaming. I think
> we need to say something about that somewhere.
Also agreed, but MODE STREAM isn't the problem.
The correct solution is wording something like:
A client MUST NOT use the TAKETHIS command unless:
* it has confirmed that the server capability list includes a line
with the capability name STREAMING, or
* it has received a 203 response from the MODE STREAM command.
Problem solved. Pipelining unaffected.
--
Clive D.W. Feather | Work: <clive at demon.net> | Tel: +44 20 8495 6138
Internet Expert | Home: <clive at davros.org> | Fax: +44 870 051 9937
Demon Internet | WWW: http://www.davros.org | Mobile: +44 7973 377646
Thus plc | |
More information about the ietf-nntp
mailing list