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