pub struct RealtimeSyncManager<Tr>{ /* private fields */ }Expand description
Real-time synchronization manager
Implementations§
Source§impl<Tr> RealtimeSyncManager<Tr>
impl<Tr> RealtimeSyncManager<Tr>
pub fn new(replica_id: ReplicaId, transport: Tr, storage: Arc<Storage>) -> Self
Sourcepub async fn start(&mut self) -> Result<(), RealtimeSyncError>
pub async fn start(&mut self) -> Result<(), RealtimeSyncError>
Start real-time synchronization
Sourcepub async fn stop(&mut self) -> Result<(), RealtimeSyncError>
pub async fn stop(&mut self) -> Result<(), RealtimeSyncError>
Stop real-time synchronization
Sourcepub async fn subscribe(
&self,
event_types: Vec<String>,
callback: Box<dyn Fn(RealtimeEvent) + Send + Sync>,
) -> Result<String, RealtimeSyncError>
pub async fn subscribe( &self, event_types: Vec<String>, callback: Box<dyn Fn(RealtimeEvent) + Send + Sync>, ) -> Result<String, RealtimeSyncError>
Subscribe to real-time events
Sourcepub async fn unsubscribe(
&self,
subscription_id: &str,
) -> Result<(), RealtimeSyncError>
pub async fn unsubscribe( &self, subscription_id: &str, ) -> Result<(), RealtimeSyncError>
Unsubscribe from real-time events
Sourcepub async fn broadcast_change<T: Mergeable + Serialize + Clone>(
&self,
key: &str,
value: &T,
change_type: ChangeType,
) -> Result<(), RealtimeSyncError>
pub async fn broadcast_change<T: Mergeable + Serialize + Clone>( &self, key: &str, value: &T, change_type: ChangeType, ) -> Result<(), RealtimeSyncError>
Broadcast a change to all connected peers
Sourcepub async fn process_incoming_changes(
&mut self,
) -> Result<usize, RealtimeSyncError>
pub async fn process_incoming_changes( &mut self, ) -> Result<usize, RealtimeSyncError>
Process incoming changes from peers
Sourcepub async fn get_sync_state(&self) -> SyncState
pub async fn get_sync_state(&self) -> SyncState
Get current synchronization state
Sourcepub async fn get_active_users(&self) -> HashMap<ReplicaId, UserInfo>
pub async fn get_active_users(&self) -> HashMap<ReplicaId, UserInfo>
Get active users
Auto Trait Implementations§
impl<Tr> Freeze for RealtimeSyncManager<Tr>where
Tr: Freeze,
impl<Tr> !RefUnwindSafe for RealtimeSyncManager<Tr>
impl<Tr> Send for RealtimeSyncManager<Tr>
impl<Tr> Sync for RealtimeSyncManager<Tr>
impl<Tr> Unpin for RealtimeSyncManager<Tr>where
Tr: Unpin,
impl<Tr> !UnwindSafe for RealtimeSyncManager<Tr>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more