pub struct GeoReplicationManager { /* private fields */ }Expand description
Geo-Replication Manager.
Manages cross-region event replication with CRDT conflict resolution and HLC-based causal ordering.
Implementations§
Source§impl GeoReplicationManager
impl GeoReplicationManager
Sourcepub fn new(config: GeoReplicationConfig) -> Self
pub fn new(config: GeoReplicationConfig) -> Self
Create a new geo-replication manager.
Sourcepub fn hlc(&self) -> &Arc<HybridLogicalClock>
pub fn hlc(&self) -> &Arc<HybridLogicalClock>
Get the HLC instance.
Sourcepub fn resolver(&self) -> &Arc<CrdtResolver>
pub fn resolver(&self) -> &Arc<CrdtResolver>
Get the CRDT resolver.
Sourcepub fn stamp_event(&self, event_id: &str, event_data: Value) -> ReplicatedEvent
pub fn stamp_event(&self, event_id: &str, event_data: Value) -> ReplicatedEvent
Stamp a new local event with an HLC timestamp.
Sourcepub fn queue_for_replication(&self, event: &ReplicatedEvent)
pub fn queue_for_replication(&self, event: &ReplicatedEvent)
Queue an event for replication to all peers.
Sourcepub fn drain_outbound(
&self,
peer_region: &str,
max_batch: usize,
) -> Vec<ReplicatedEvent>
pub fn drain_outbound( &self, peer_region: &str, max_batch: usize, ) -> Vec<ReplicatedEvent>
Drain the outbound buffer for a specific peer.
Sourcepub fn receive_sync(&self, request: &GeoSyncRequest) -> GeoSyncResponse
pub fn receive_sync(&self, request: &GeoSyncRequest) -> GeoSyncResponse
Receive events from a peer region.
Applies CRDT conflict resolution and returns the sync response.
Sourcepub fn set_peer_health(&self, peer_region: &str, health: PeerHealth)
pub fn set_peer_health(&self, peer_region: &str, health: PeerHealth)
Update a peer’s health status.
Sourcepub fn peer_health(&self, peer_region: &str) -> PeerHealth
pub fn peer_health(&self, peer_region: &str) -> PeerHealth
Get a peer’s health status.
Sourcepub fn peers(&self) -> &[PeerRegion]
pub fn peers(&self) -> &[PeerRegion]
Get all peers.
Sourcepub fn sync_interval(&self) -> Duration
pub fn sync_interval(&self) -> Duration
Get sync interval.
Sourcepub fn batch_size(&self) -> usize
pub fn batch_size(&self) -> usize
Get batch size.
Sourcepub fn build_sync_request(&self, peer_region: &str) -> Option<GeoSyncRequest>
pub fn build_sync_request(&self, peer_region: &str) -> Option<GeoSyncRequest>
Build a sync request for a specific peer.
Sourcepub fn select_failover_region(&self) -> Option<String>
pub fn select_failover_region(&self) -> Option<String>
Select the best failover region (lowest replication lag, healthy).
Sourcepub fn status(&self) -> GeoReplicationStatus
pub fn status(&self) -> GeoReplicationStatus
Get full replication status.
Auto Trait Implementations§
impl !Freeze for GeoReplicationManager
impl !RefUnwindSafe for GeoReplicationManager
impl Send for GeoReplicationManager
impl Sync for GeoReplicationManager
impl Unpin for GeoReplicationManager
impl UnsafeUnpin for GeoReplicationManager
impl !UnwindSafe for GeoReplicationManager
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