ietf-nntp New wording on article numbers - draft 2

Robert Elz kre at munnari.OZ.AU
Wed Jan 1 22:09:31 PST 1997


    Date:        Wed, 1 Jan 1997 14:21:37 +0000 (GMT)
    From:        "Clive D.W. Feather" <clive at demon.net>
    Message-ID:  <852128497.9075.0 at office.demon.net>

    - An arrival timestamp, giving the time it arrived at the server.
    This timestamp is not directly exposed to the client, but can be
    derived using the NEWNEWS command.

(Aside - wouldn't it be nice if we could make NEWNEWS vanish...)


    3.2.  The GROUP command
    3.2.1.  GROUP
    
    The successful selection response will return the article numbers of
    the first and last articles in the group at the moment of selection
    (these numbers are referred to as the "current low water mark" and
    the "current high water mark"), and an estimate of the number of
    articles on file in the group. The estimate MUST be at least the
    actual number of articles available, and MUST be no greater than one
    more than the difference between the low and high water marks. (Some
    implementations will actually count the number of articles on file.
    Others will just subtract low water mark from high water mark and add
    one to get an estimate.)

You should probably include the qualification "for a group that is
not empty" somewhere there, otherwise fine.
    
    If the group is empty, one of the following three situations will
    occur. Clients MUST accept all three cases; servers MUST NOT represent
    an empty group in any other way.
    (1) The high water mark will be one less than the low water mark,
    and the estimated article count will be zero. Servers SHOULD use this
    method to show an empty group. This is the only time that the high
    water mark can be less than the low water mark.
    (2) All three numbers will be zero.
    (3) The high water mark is greater than or equal to the low water mark;
    the estimated article count might be zero or non-zero.

Is (3) really needed?  Does anything operate that way now?  I think
the world would be a happier place if "count == 0" implied an empty
group, always...   Oh, I see you're allowing for a server not
realising that a group is empty and simply doing the subtraction
thing, and yet want to allow for the group being empty.   I'm not
sure that's worth the effort - simply make sure that it is clear
that the actual number of articles available (at the instant of the
group command being answered) can be anything between (and
including) 0 and the count returned.   Never mind...
    
    The set of articles in a group may change after the GROUP command is
    carried out. That is:
[...]
    * new articles may be added with article numbers greater than the
    current high water mark (if an article that was the one with the
    highest number has been removed, the next new article will not have
    the number one greater than the current highwater mark).

Don't use "current", that has temporal signifigance, and the
"current" high water mark will change when a new article arrives
(you just don't know it yet).  Use "the high water mark reported"
or something like that.
    
    When a subsequent GROUP command for the same newsgroup is issued,
    either by the same client or a different client, the current low
    water mark in the response MUST be no less than that in any previous
    response for that newsgroup.

Again, this only applies if the group is not empty (or the 0 0 0)
answer can be returned.

    Except when all three numbers are zero,

which would be illegal if the previous sentence is not qualified
(unless there had been no previous response for this newsgroup).

It is also not clear which previous responses matter here, any
response ever issued by any NNTP server on this host, any response
issued by this NNTP server to anyone, to this client, on this
one connection ... (or even any previous response issued by any NNTP
server in the universe ever.)   The wording needs tightening.

    3.1.2.  ARTICLE (selection by number)
    
    A previously valid article number might not remain valid if the article
    has been removed. A previously invalid article number might become
    valid if the article has been reinstated, but such an article number
    MUST be no less than the current low water mark for that group.

I'm not sure that it actually hurts a lot if the number goes back.
if the client has marked to the low water mark as gone, then the
reinstatement below it will never be noticed, and may as well never
have happened for that client, but that is harmless.  Other clients
may see it.

    3.5.  The LAST command
    3.5.1.  LAST
    
    Add the paragraphs:
    
    There might be no previous article in the group, even though the
    current article number is not the current low water mark. There MUST
    NOT be a previous article when the current article is the current low
    water mark.

Exactly whose idea of "current" this refers to is not
at all clear (in "current low warter mark" as opposed to
"current article" which should be well defined).
    

    3.9.  The NEXT command
    3.9.1.  NEXT

    There might be no subsequent article in the group, even though the
    current article number is not the current high water mark. Similarly
    (and unlike the LAST command) there might be a subsequent article in
    the group even though the article number *is* the last one; in this
    case, another GROUP command will return a higher high water mark. A
    server MIGHT, but SHOULD NOT return an article number greater than
    the current high water mark.

Again, exactly whose idea of "current" this refers to is not
at all clear.  (current hwm).

kre



More information about the ietf-nntp mailing list