1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use std::marker::PhantomData;

use peace::cfg::State;

use crate::{
    ShSyncCmdData, ShSyncCmdError, ShSyncCmdExecutionRecord, ShSyncCmdStateDiff,
    ShSyncCmdSyncStatus,
};

/// Tar extraction status diff function.
#[derive(Debug)]
pub struct ShSyncCmdStateDiffFn<Id>(PhantomData<Id>);

impl<Id> ShSyncCmdStateDiffFn<Id>
where
    Id: Send + Sync + 'static,
{
    pub async fn state_diff(
        _data: ShSyncCmdData<'_, Id>,
        _state_current: &State<ShSyncCmdSyncStatus, ShSyncCmdExecutionRecord>,
        _state_desired: &State<ShSyncCmdSyncStatus, ShSyncCmdExecutionRecord>,
    ) -> Result<ShSyncCmdStateDiff, ShSyncCmdError> {
        todo!()
    }
}