Natterings about history files
Alex Kiernan
alexk at demon.net
Thu Feb 8 07:06:29 UTC 2001
Russ Allbery <rra at stanford.edu> writes:
> Alex Kiernan <alexk at demon.net> writes:
>
> > Looking at it again this morning (OVhisthasmsgid), it looks like it is
> > used during group based expiry - when an overview method determines that
> > the underlying storage manager is EXPENSIVESTAT, it attempts to check
> > whether there's a storage token still associated with the message in the
> > history file (fetch the offset from the dbz file, break out & discard
> > the times, check if we've a valid token left).
>
> > ISTM that if you just did a HIScheck you'd keep overviews for articles
> > for too long (which I guess isn't a disaster), alternatively we could
> > adjust HISlookup to return an expired flag (modifying the TOKEN to
> > include an expired flag sounds like a bad idea to me):
>
> > enum status { NOTFOUND, FOUND, EXPIRED };
> > enum status HISlookup(struct history *, const char *key, time_t *arrived,
> > time_t *posted, time_t *expires, TOKEN *token)
>
> Why not just call HISlookup returning a bool, and if it returns false
> (message ID not found), assume that the message has expired from history?
> Does that do the wrong thing in any circumstances?
>
FX: lights come on!
Yes, you're right! It does do the right thing. OK there's no way to
retrieve the posted or arrived time for articles where we've no token,
but so what.
--
Alex Kiernan, Principal Engineer, Development, Thus PLC
More information about the inn-workers
mailing list