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.
Implementors§
impl AutoMerge for LinkedAccount
Available on crate feature
integration only.