Skip to content

Commit

Permalink
fix: clean up public API for clearing files
Browse files Browse the repository at this point in the history
`clear_layer_data()` and `clear_caches` are never called within `rust-fil-proofs`
and also not used in `rust-filecoin-proofs-api`, hence remove them.

The `clear_cache()` and `clear_synthetic_proofs()` functions don't need to be
generic over the tree as it's never used within those functions. This is a
breaking change.

BREAKING CHANGE: signature of `clear_cache()` and `clear_synthetic_proofs()`
changed. The generic parameter is no longer needed.
  • Loading branch information
vmx committed Jan 8, 2025
1 parent 47d71fd commit adc2ea3
Showing 1 changed file with 2 additions and 38 deletions.
40 changes: 2 additions & 38 deletions filecoin-proofs/src/api/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,7 @@ pub use winning_post::*;

pub use storage_proofs_update::constants::{partition_count, TreeRHasher};

// TODO vmx 2023-09-26: The `Tree` generic is not needed, it's only there in order to not breaking
// the public API. Once we break the API, remove that generic.
// Ensure that any associated cached data persisted is discarded.
pub fn clear_cache<Tree>(cache_dir: &Path) -> Result<()> {
pub fn clear_cache(cache_dir: &Path) -> Result<()> {
info!("clear_cache:start");

let result = stacked::clear_cache_dir(cache_dir);
Expand All @@ -64,40 +61,7 @@ pub fn clear_cache<Tree>(cache_dir: &Path) -> Result<()> {
result
}

// TODO vmx 2023-09-26: The `Tree` generic is not needed, it's only there in order to not breaking
// the public API. Once we break the API, remove that generic.
// Ensure that any associated cached data persisted is discarded.
pub fn clear_caches<Tree: MerkleTreeTrait>(
replicas: &BTreeMap<SectorId, PrivateReplicaInfo<Tree>>,
) -> Result<()> {
info!("clear_caches:start");

for replica in replicas.values() {
clear_cache::<Tree>(replica.cache_dir.as_path())?;
}

info!("clear_caches:finish");

Ok(())
}

// TODO vmx 2023-09-26: The `Tree` generic is not needed, it's only there in order to not breaking
// the public API. Once we break the API, remove that generic.
// Ensure that any persisted layer data generated from porep are discarded.
pub fn clear_layer_data<Tree>(cache_dir: &Path) -> Result<()> {
info!("clear_layer_data:start");

let result = stacked::clear_cache_dir(cache_dir);

info!("clear_layer_data:finish");

result
}

// TODO vmx 2023-09-26: The `Tree` generic is not needed, it's only there in order to not breaking
// the public API. Once we break the API, remove that generic.
// Ensure that any persisted vanilla proofs generated from synthetic porep are discarded.
pub fn clear_synthetic_proofs<Tree>(cache_dir: &Path) -> Result<()> {
pub fn clear_synthetic_proofs(cache_dir: &Path) -> Result<()> {
info!("clear_synthetic_proofs:start");

let result = stacked::clear_synthetic_proofs(cache_dir);
Expand Down

0 comments on commit adc2ea3

Please sign in to comment.