ietf-nntp Message from Chin Chee-Kai

Stan O. Barber sob at verio.net
Tue Jul 18 19:56:15 PDT 2000


Chin Chee-Kai writes:

>> "Stan O. Barber" wrote:
>> 
>> One more thing, we could make this command "RESET STATE" of the server so that
>> the
>> group and article pointers are reset to "undefined". I believe that is
>> consistent with what INN does. It's a matter of choice for this WG to voice.

This is a good point on cleaning up the specification on the state
of the server.  On the issue of the "current article pointer" (CAP),
there are 2 points I'd like to bring up for your consideration:

--------------------
1. Adding an optional integer argument to NEXT and LAST, to specify
the "step" to NEXT or LAST to.   Where the optional integer argument
is absent, a default of 1 is assumed by the server.  This provides
compatibility with previous specification.  An integer argument of
0 is a sentinel used to indicate "go to the extreme end".  Thus,
"NEXT 0" means move the CAP to the last article of the current group,
and "LAST 0" means move the CAP to the starting article of the current
group.  In this way, we allow a client to hop within the group articles
at will and to "reset" the pointer either way, far left or far right.

More specifically:
[===========
   3.5.1.  LAST

   LAST   

   The internally maintained "current article pointer" is set to the
   previous article in the current newsgroup.  If already positioned at
   the first article of the newsgroup, an error message is returned and
   the current article remains selected.

   The internally-maintained "current article pointer" is set by this
   command.
===========]

suggested change:
-->
[===========
   3.5.1.  LAST

   LAST [nnn]

   The internally maintained "current article pointer" is set to a
   previous article in the current newsgroup.  The second parameter nnn
   is a non-negative integer specifying the number of articles from the
   current article position to move back to.  If the "current article
   pointer" is presently pointing at the k-th article, then a positive
   value of nnn, if it is specified, will move the "current aritlce
   pointer" to the (k - nnn)th article.  If such a move will have
   caused the "current article pointer" to move beyond the first 
   article, or if the "current article pointer" is already positioned
   at the first article of the newsgroup, an error message is returned
   and the current article remains selected.

   If nnn is absent, the processing takes place as if nnn is set as 1.
   If nnn is present and specifies the value zero (0), the "current 
   article pointer" is moved to the first article in the current group,
   as if nnn is set as (k - 1).

   The internally-maintained "current article pointer" is set by this
   command from the original k-th article to (k - nnn)th article.

   On success, a response indicating the current article number, and
   the message-id string will be returned.  No text is sent in response
   to this command.
===========]


and also



[===========
   3.9.1.  NEXT

   NEXT

   The internally maintained "current article pointer" is advanced to
   the next article in the current newsgroup.  If no more articles
   remain in the current group, an error message is returned and the
   current article remains selected.

   The internally-maintained "current article pointer" is set by this
   command.

   A response indicating the current article number, and the message-id
   string will be returned.  No text is sent in response to this
   command.
===========]

suggested change:
-->
[===========
   3.9.1.  NEXT

   NEXT [nnn]

   The internally maintained "current article pointer" is advanced to
   an article ordered later in the current newsgroup.    The second 
   parameter nnn is a non-negative integer specifying the number of 
   articles from the current article position to move forward to.
   If the "current article pointer" is presently pointing at the 
   k-th article, then a positive value of nnn, if it is specified, 
   will move the "current aritlce pointer" to the (k + nnn)th article.
   If such a move will have caused the "current article pointer" to move
   beyond the last article, or if the "current article pointer" is
   already positioned at the last article of the newsgroup, an error
   message is returned and the current article remains selected.

   If nnn is absent, the processing takes place as if nnn is set as 1.
   If nnn is present and specifies the value zero (0), the "current 
   article pointer" is moved to the last article in the current group.

   The internally-maintained "current article pointer" is set by this
   command according to the above description.

   On success, a response indicating the current article number, and
   the message-id string will be returned.  No text is sent in response
   to this command.
===========]






--------------------
2. For some commands, the notion of how the "current article pointer"
(CAP) should be handled is unspecified or unclear.  It is good to be 
specific as to how the CAP should be handled.  More specifically:


[===========
   3.1.2 ARTICLE (selection by number)
   ....
   .... 3rd paragraph
   The internally-maintained "current article pointer" is set by this
   command if a valid article number is specified.
===========]

suggested change:
-->
[===========
   The internally-maintained "current article pointer" is set by this
   command if a valid article number is specified.  Otherwise the
   pointer remains unchanged.
===========]




and also 

[===========
   3.4.1 IHAVE
   3.6.1 LIST
   3.7.1 NEWGROUPS
   3.8.1 NEWNEWS
   3.10.1.  POST
   3.12.1.  SLAVE
   ....
   .... just before their corresponding .2 sections,
===========]

suggested change:
--> add

[===========
   The internally-maintained "current article pointer" remains unchanged.
===========]



Cheers,
CK



More information about the ietf-nntp mailing list