2.5 wish list (was Re: pre-2.4 (was Re: buffindexed jumbo patch) )

Russ Allbery rra at stanford.edu
Tue Dec 24 06:46:49 UTC 2002


Russ Allbery <rra at Stanford.EDU> writes:

> If we instead had something like:

> OVADDRESULT
> OVadd(struct overview *, struct newsgroups *, struct overdata *)

> where struct overview is an opaque data structure corresponding to an
> open overview database and the others are something like:

Ah, no, that's not right either.  Pick the interface that puts the
division of abstraction at the right point.

The overview database is a database indexed by group and article number.
The interface should therefore be:

    OVadd(struct overview *, const char *group, ARTNUM article,
          struct overdata *)

so that the key is passed in explicitly.  That means that innd will have
to loop on the groups, but it doesn't have to build up a complex data
structure to store that information.  I expect that innd will want to end
up with a list of newsgroups anyway to do various other things, so it just
has to store the article numbers in that list as it assigns them.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>

    Please send questions to the list rather than mailing me directly.
     <http://www.eyrie.org/~eagle/faqs/questions.html> explains why.


More information about the inn-workers mailing list