nntp-overview generates .overview files per group from incoming usenet headers (POST, IHAVE, TAKETHIS).
Generation is done in a concurrent way and files are mmap'ed while open.
Overview file content is human readable based on RFC overview.FMT
"MSG_NUM:", // MSG_NUM field is not present in output to overview.FMT command but when requesting XOVER we output it
"Subject:",
"From:",
"Date:",
"Message-ID:",
"References:",
"Bytes:",
"Lines:",
"Xref:full",
OV_Handler processes MMAP open/retrieve/park/close requests and schedules workers for writing overview data.
The system keeps track of last message number per group when adding new overview to group.
When integrated into a usenet server: works as a central message numbering station per group.
import (
"github.com/go-while/go-utils"
"github.com/go-while/nntp-overview"
)
Example integration in repo: nntp-overview_test
Pull requests are welcome.
For major changes, please open an issue first to discuss what you would like to change.