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