Multi-file indexes
The stigmerge_fileindex::Index structure supports multi-file shares; each file is expressed as a FileSpec with a PayloadSlice over a contiguous byte stream.
In practice though, stigmerge fetching, seeding and CLI operations assume a single file.
Supporting multiple file shares would be great; then you could share or download an entire folder of files.
Implementation will be a little tricky. Off the top of my head, you'll need to:
- Update the Index diff function
- Update the local fs reconciliation in stigmerge_peer::Fetcher
- Update the Seeder as well, most likely
- Update the CLI to deal with files vs directories and call the appropriate indexer methods/functions (unless you manage to unify theses?)
A word of caution if you take this on while feat/tracker branch work is still underway in #241 -- in that branch, Fetchers and Seeders are going to get decomposed into a more modular CSP to support simultaneous uploading and downloading. If you're serious about taking this work on we can probably work around each other but without coordination, someone's gonna get rebased and it could be significant.