- replace log crate with tracing,
- replace simple-log crate with tracing-subscriber and tracing-appender
- add nu-ansi-term crate as a dependency which is itself tracing-subscriber's dependency,
inorder to write colored outputs to the terminal since we override formatting provided
by tracing-subscriber
This also introduces "scraps" in the sled database, which are chunks that contains both data the user wants and data the user does not want. Those chunks happen because files (in fud directories) are not aligned with chunks, so they can contain the data of multiple files.
After you download a chunk, fud checks that all bytes of it was written to the filesystem, if not that chunk will be saved as a scrap in sled. It's useful for a few things:
1. You don't download that chunk again later
2. You can still verify integrity, even if you did not write the full chunk into your downloaded files
3. You can seed that chunk (once partial seeding is implemented, which is currently not the case)
They are automatically removed from sled once they are not needed anymore (the fud resource is removed, or the chunk was rewritten to the filesystem, and this time it was fully written).
Those scraps are a concept in fud, not in geode.
clippy linting at the workspace level for all crates
Configure all workspaces to use lints from the top-level Cargo.toml
file
Add example lints that the project could configure to improve security
and reliability.
Configure lints to warn level. Using deny level makes other binaries
fail to compile if even one of them has a failure.
No lints are added in this commit. Future changes can enable and fix
lints