Commit graph

7 commits

Author SHA1 Message Date
2b92954cea Corrections suggested by tin. 2026-08-24 11:31:22 -03:00
b345a8d544 Implements the SEARCH command. 2026-08-21 12:18:51 -03:00
1536193116 Implements LISTGROUP and provides bytes correctly in XOVER. 2026-08-20 16:50:39 -03:00
33b3a7da01 Rebuilds and verifies the index. 2026-08-18 18:20:23 -03:00
e1826ad9eb Give up on using catch and use conditions instead.
This is a major rewrite of how we're catching for trouble during
parsing and the posting of articles.  When fetching articles by
message-id, we don't need to enforce that a group has been chosen.
2026-08-18 15:33:26 -03:00
05be4aad57 A major rewrite: new cmd-post, the index and procedure group-high-low.
The index is now a central part of the system, as it should.  We store
articles just like git stores its objects, in a two-tier directory.
For example, article whose message id hashes to deadbeef is stored at
index/de/ad/deadbeef.  Articles in groups are now hardlinked to the
index, the main repository of articles.

Group's article names are now cached in groups/<g>/.meta/.  The meta
information is incrementally augmented every time it's necessary.
Commands LIST and GROUP are now served at constant time.

Other little fixes were done a long the way.
2026-08-17 11:43:06 -03:00
602f44b464 Cleans up LOOP completely for coherence with the new io work.
We're ready to tackle the new design on the index, so we're going live
with the current changes so that we can use it every day and spot any
mishaps we might find (while we write the new index subsystem).
2026-08-06 18:14:29 -03:00