s3sync 1.58.6

Reliable, flexible, and fast synchronization tool for S3.
Documentation
pub mod always_different_diff_detector;
pub mod checksum_diff_detector;
pub mod etag_diff_detector;
pub mod size_diff_detector;
pub mod standard_diff_detector;
use anyhow::Result;
use async_trait::async_trait;
use aws_sdk_s3::operation::head_object::HeadObjectOutput;

use crate::types::S3syncObject;

pub type DiffDetector = Box<dyn DiffDetectionStrategy + Send + Sync>;
#[async_trait]
pub trait DiffDetectionStrategy {
    async fn is_different(
        &self,
        source_object: &S3syncObject,
        target_object: &HeadObjectOutput,
    ) -> Result<bool>;
}