pub struct ReplicationManager { /* private fields */ }Expand description
Manages replication across all partitions
Implementations§
Source§impl ReplicationManager
impl ReplicationManager
Sourcepub fn new(local_node: NodeId, config: ReplicationConfig) -> Self
pub fn new(local_node: NodeId, config: ReplicationConfig) -> Self
Create new replication manager
Sourcepub fn set_raft_node(&mut self, raft_node: Arc<RwLock<RaftNode>>)
pub fn set_raft_node(&mut self, raft_node: Arc<RwLock<RaftNode>>)
Set Raft node for ISR propagation
Sourcepub fn get_or_create(
&self,
partition_id: PartitionId,
is_leader: bool,
) -> Arc<PartitionReplication>
pub fn get_or_create( &self, partition_id: PartitionId, is_leader: bool, ) -> Arc<PartitionReplication>
Get or create partition replication state
Sourcepub fn get(
&self,
partition_id: &PartitionId,
) -> Option<Arc<PartitionReplication>>
pub fn get( &self, partition_id: &PartitionId, ) -> Option<Arc<PartitionReplication>>
Get partition replication state
Sourcepub fn remove(
&self,
partition_id: &PartitionId,
) -> Option<Arc<PartitionReplication>>
pub fn remove( &self, partition_id: &PartitionId, ) -> Option<Arc<PartitionReplication>>
Remove partition replication state
Sourcepub fn leading_partitions(&self) -> Vec<PartitionId>
pub fn leading_partitions(&self) -> Vec<PartitionId>
Get all partitions we’re leading
Sourcepub async fn handle_replica_fetch(
&self,
partition_id: &PartitionId,
replica_id: &NodeId,
fetch_offset: u64,
) -> Result<()>
pub async fn handle_replica_fetch( &self, partition_id: &PartitionId, replica_id: &NodeId, fetch_offset: u64, ) -> Result<()>
Handle replica fetch and propagate ISR changes if needed
Sourcepub async fn run_health_checks(&self)
pub async fn run_health_checks(&self)
Run periodic health checks
Auto Trait Implementations§
impl Freeze for ReplicationManager
impl !RefUnwindSafe for ReplicationManager
impl Send for ReplicationManager
impl Sync for ReplicationManager
impl Unpin for ReplicationManager
impl UnsafeUnpin for ReplicationManager
impl !UnwindSafe for ReplicationManager
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