Natterings about history files
Russ Allbery
rra at stanford.edu
Wed Feb 7 21:22:51 UTC 2001
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?
--
Russ Allbery (rra at stanford.edu) <http://www.eyrie.org/~eagle/>
More information about the inn-workers
mailing list