Here are some design notes for this feature:
Data that we need to manage:
- email address
- IP Address
- Count
- Total Score
- Access/Modification Time (atime and mtime should in theory always be the same with AWL)
Key is email address and IP Address
We need to have a database format version as part of the file.
Expiration is based on atime of the entries.
Expiration value is configurable (default is 30 days)
Entries with 0 totscore values can be removed or even entries with totscore/count == 0 can be removed. Possibly provide some sort of margine, -.5 to .5 or something like that.
Expiration will be done via a seperate command, so no need to build expiration into things right off the bat.