-
Notifications
You must be signed in to change notification settings - Fork 21
feat(MemStore)!: expose garbage collection #177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Documentation for this PR has been generated and is available at: https://n0-computer.github.io/iroh-blobs/pr/177/docs/iroh_blobs/ Last updated: 2025-10-06T15:19:09Z |
MemStore|
😊 I guess I thought gc for mem was working since I had tests for it... Ah, this is where the stray file form the other PR comes from! |
|
Looks fine other than fmt. The public API change is so inconsequential that I am tempted to call this "no change"... A public type has stopped implementing one or more auto traits. This can break downstream code that depends on the traits being implemented. Options is no longer RefUnwindSafe, nobody cares... |
9a0777e to
3668422
Compare
da7145c to
d112bae
Compare
## Description #177 made GC work with the MemStore as well. However the types needed for configuring that are still behind the `fs-store` feature. This PR exposes these types independent of feature flags. ## Breaking Changes Moved: `iroh_blobs::store::fs::options::{GcConfig, ProtectOutcome, ProtectCb}` are now `iroh_blobs::store::{GcConfig, ProtectOutcome, ProtectCb}` ## Notes & open questions <!-- Any notes, remarks or open questions you have to make about the PR. --> ## Change checklist - [ ] Self-review. - [ ] Documentation updates following the [style guide](https://rust-lang.github.io/rfcs/1574-more-api-documentation-conventions.html#appendix-a-full-conventions-text), if relevant. - [ ] Tests if relevant. - [ ] All breaking changes documented.
Description
This was a smaller change than expected.
gc_smoke_memtest, so we know GC works with a memstorestore::mem::Optionswas already defined, just empty. I've added a publicgc: Option<GcConfig>fieldMemStore::newto callMemStore::new_with_optsto expose providing custom GC optionsBreaking Changes
None.
Notes & open questions
I haven't actually ensured that
MemStore::new_with_optsworks & is publically exposed. Should add a test for thatChange checklist