pub trait AutoMerge: RemoteSyncHandler {
// Provided methods
fn auto_merge_identity<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn auto_merge_account<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn auto_merge_device<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn auto_merge_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn auto_merge<'life0, 'life1, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
conflict: MaybeConflict,
local: SyncStatus,
_remote: SyncStatus,
) -> Pin<Box<dyn Future<Output = Result<MergeOutcome, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn auto_merge_folder<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
_local_status: &'life2 SyncStatus,
folder_id: &'life3 VaultId,
outcome: &'life4 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait { ... }
}Expand description
Support for auto merge on sync.
Provided Methods§
Sourcefn auto_merge_identity<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn auto_merge_identity<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Auto merge identity folders.
Sourcefn auto_merge_account<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn auto_merge_account<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Auto merge account events.
Sourcefn auto_merge_device<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn auto_merge_device<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Auto merge device events.
Sourcefn auto_merge_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Available on crate feature files only.
fn auto_merge_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
outcome: &'life2 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
files only.Auto merge file events.
Sourcefn auto_merge<'life0, 'life1, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
conflict: MaybeConflict,
local: SyncStatus,
_remote: SyncStatus,
) -> Pin<Box<dyn Future<Output = Result<MergeOutcome, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn auto_merge<'life0, 'life1, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
conflict: MaybeConflict,
local: SyncStatus,
_remote: SyncStatus,
) -> Pin<Box<dyn Future<Output = Result<MergeOutcome, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Try to auto merge on conflict.
Searches the remote event log for a common ancestor and attempts to merge commits from the common ancestor with the diff that would have been applied.
Once the changes have been merged a force update of the server is necessary.
Sourcefn auto_merge_folder<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
_local_status: &'life2 SyncStatus,
folder_id: &'life3 VaultId,
outcome: &'life4 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn auto_merge_folder<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
options: &'life1 SyncOptions,
_local_status: &'life2 SyncStatus,
folder_id: &'life3 VaultId,
outcome: &'life4 mut MergeOutcome,
) -> Pin<Box<dyn Future<Output = Result<bool, <Self as RemoteSyncHandler>::Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Auto merge a folder.
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.