Trait DeduplicateSharedSize

Source
pub trait DeduplicateSharedSize<Size: Size>: Sized {
    type Report;
    type Error;

    // Required method
    fn deduplicate(
        self,
        data_tree: &mut DataTree<OsStringDisplay, Size>,
    ) -> Result<Self::Report, Self::Error>;
}
Expand description

Ability to correct the sizes in a DataTree by reducing the size of recorded shared links.

The input tree is assumed to be not yet deduplicated.

Required Associated Types§

Source

type Report

Report returned when DeduplicateSharedSize::deduplicate succeeds.

Source

type Error

Error returned when DeduplicateSharedSize::deduplicate fails.

Required Methods§

Source

fn deduplicate( self, data_tree: &mut DataTree<OsStringDisplay, Size>, ) -> Result<Self::Report, Self::Error>

Correct the sizes in a DataTree by reducing the size of recorded shared links.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Size> DeduplicateSharedSize<Size> for Aware<Size>
where DataTree<OsStringDisplay, Size>: Send, Size: Size + Sync,

Source§

impl<Size> DeduplicateSharedSize<Size> for HardlinkIgnorant
where Size: Size + Sync,

Do nothing to deduplicate the sizes of hardlinks.