[NNTP] LISTGROUP wording

Ade Lovett ade at lovett.com
Thu Apr 28 00:00:56 PDT 2005


Clive D.W. Feather wrote:
> It's a programming philosophy thing that I've run into in several places
> in the past. While it seems "obvious" that the client should be aware,
> it sometimes turns out to be harder than it looks, requiring the
> maintenance of global state across several modules.

In such a case, where a client starts losing touch with itself, normal
programming practice would then be to fall back to first principles, and
explicitly send the necessary sequence of commands in order to get that
module back into a known state.

In addition, such maintenance of global state across several modules can
 equally, if not moreso, be ascribed to the server side given that there
are considerably less servers than clients, and thus servers have to
handle more state.

This probably isn't the time to be discussing implementation aspects
though :)

> The other piece of state associated with a connection - the current article
> number - can be determined by just going "STAT".

That's completely different.  We already have a multitude of commands
where the current article number is REQUIRED for correct server-side
operation, so that is maintained.  What's being proposed here would
require the server to additionally maintain a *human-readable* version
of a variable-length piece of data, for no apparent gain.

After all, being a paranoid programmer, if I were to issue a GROUP
command (with or without an argument), I'd want to check the group name
returned by the server against what I had, just to make sure the server
hadn't somehow lost its touch on reality.


Of the (admittedly few) Windows (XP) and Mac (OSX) newsreaders I took a
quick peek at, Forte's Agent was the one that really stood out as being
a consumer of LISTGROUP - it seems to use it to cover against
backfilling (heh..)

If change is somehow mandated for LISTGROUP, my personal preference
would be for it to be tagged as deprecated.  As a potential client
author, LISTGROUP doesn't really buy me anything over, say:

	GROUP foo
	XHDR Message-ID 0-99999999999

which, with the range argument, gives me considerably more flexibility,
particularly in high-traffic newsgroups, as well as more useful
information than output that could quite simply be (and almost certainly
is, in some cases):

	for (n=lo; n<=hi; n++)
	{
		printf("%ld\n", n);
	}

Before anyone gets too excited with deprecation though, having thought
about it some more, my preference would be to leave GROUP and LISTGROUP
as they are now.

-aDe



More information about the ietf-nntp mailing list