[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