modulepackage
0.0.0-20240720211150-65ec024177c0
Repository: https://github.com/go-while/nntp-overview.git
Documentation: pkg.go.dev
# README
nntp-overview
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
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.
USAGE
import (
"github.com/go-while/go-utils"
"github.com/go-while/nntp-overview"
)
Example integration in repo: nntp-overview_test
Contributing
Pull requests are welcome.
For major changes, please open an issue first to discuss what you would like to change.
License
Author
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Rescan_Overview returns: true|false, last_msgnum.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
write overview throws errstr 'ef01' when buffer is full and needs to grow.
string used as file delimiter.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
flush mmaps every N seconds.
No description provided by the author
initially reserve n bytes in overview file.
finally reserve n bytes in overview file.
minimum.
No description provided by the author
No description provided by the author
No description provided by the author
todo: hardcoded fix: should be a variable hostname?.
zero pad with nul.
replace this pattern with zero padding.
the len of the pattern.
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
* 16^idx = max cached to flush.
No description provided by the author
No description provided by the author
locking queue prevents opening of more overview files.
No description provided by the author
The date format layouts to try.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
parallel sql threads.
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
every worker checks vs Open_MMAP_Overviews if any other worker is processing this group right now if map[group]bool returns true, waiting worker places a channel in ch and waits for return signal.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author