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

Alex Kiernan alexk at demon.net
Mon Jan 6 10:07:51 UTC 2003


Russ Allbery <rra at stanford.edu> writes:

> 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.
> 

That looks about right to me.

Whilst we're talking about innd looping over groups, could we consider
changing the API so that innd gets a cancel it pulls out the original
article and passes the pieces into the overview database in a similar
way, rather than passing in the TOKEN (which none of the
implementations implement AFAICR)

-- 
Alex Kiernan, Principal Engineer, Development, THUS plc


More information about the inn-workers mailing list