[NNTP] Snapshot 6

Clive D.W. Feather clive at demon.net
Fri Jan 7 06:01:14 PST 2005


Russ Allbery said:
>> Since LISTGROUP, OVER and HDR have become optional capabilities rather
>> than extensions (which I'm fine with), I'd like to see some kind of
>> uniformity with the way that optional reader commands are advertised. We
>> have LISTGROUP, OVER and HDR advertised with their own capabilities, yet
>> POST is an argument to READER.  Obviously OVER needs to be a separate
>> capability because it has its own argument (unless we tweak syntax), but
>> LISTGROUP and HDR could simply be additional arguments to READER.
> 
>> Similarly, if we change the IHAVE capability back to TRANSIT, then the
>> STREAMING extension could simply be a STREAMING argument to TRANSIT rather
>> than its own capability.
> 
>> However, for simplicity and consistency it probably makes more sense to
>> just make POST its own capability.  Having said all that, I won't argue
>> strenuously for any changes.
> 
> Hm, just making POST its own capability is very tempting, I agree.  I like
> that better than doing what you describe in the first two paragraphs
> above.  (My general feeling is that arguments to capabilities should be
> used sparingly and avoided where possible.

To answer both of you at once, the difference between the approaches is
that making POST a separate capability allows it to be advertised by a
transit server, while making POST an argument only allows it to be
advertised by those servers that fully support the READER group.

[A server can implement anything, but it can't put it into CAPABILITIES
output unless it follows the rules.]

So the arguments approach allows us to put one level of dependency into
place without special wording that can be misunderstood.

On that basis, I'd argue that POST and LISTGROUP should both be arguments
of READER. OVER and HDR should be separate capabilities because they *can*
be used by message-ID (and note that we still have HEAD in the mandatory
commands).

[If we wanted to make OVER an argument of READER, we can simply say that
either one argument OVER or two arguments OVER MSGID, in that order,
appear in the argument list. There's no rule that says that arguments have
to be independent and reorderable; it's just how things have turned out so
far.]

STREAMING is a reasonable replacement for IHAVE, so it should also be
separate.

> Note that the total amount of
> data returned by the server is exactly the same whether it's a separate
> capability or an argument to another capability.  *grin*)

Not so. READER and POST as two separate capabilities is one octet more than
READER POST as a single capability. *bigger grin*

-- 
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