Skip to main content

CloudSyncRotationStateAccess

Trait CloudSyncRotationStateAccess 

Source
pub trait CloudSyncRotationStateAccess: Send + Sync {
    // Required methods
    fn mark_candidate(
        &self,
        generation: u64,
        mutation: ObjectHash,
    ) -> Result<(), RotationStateError>;
    fn mark_committed_mutation(
        &self,
        generation: u64,
        mutation: ObjectHash,
    ) -> Result<(), RotationStateError>;
    fn remove_candidate(
        &self,
        generation: u64,
        mutation: ObjectHash,
    ) -> Result<(), RotationStateError>;
    fn replace_candidate_mutation(
        &self,
        generation: u64,
        previous: ObjectHash,
        replacement: ObjectHash,
    ) -> Result<(), RotationStateError>;
    fn gate(&self) -> Option<RotationGate>;
    fn install_durable_gate(&self, gate: Option<RotationGate>);
    fn check(&self, live_generation: Option<u64>) -> Result<(), RotationPending>;
}

Required Methods§

Source

fn mark_candidate( &self, generation: u64, mutation: ObjectHash, ) -> Result<(), RotationStateError>

Source

fn mark_committed_mutation( &self, generation: u64, mutation: ObjectHash, ) -> Result<(), RotationStateError>

Source

fn remove_candidate( &self, generation: u64, mutation: ObjectHash, ) -> Result<(), RotationStateError>

Source

fn replace_candidate_mutation( &self, generation: u64, previous: ObjectHash, replacement: ObjectHash, ) -> Result<(), RotationStateError>

Source

fn gate(&self) -> Option<RotationGate>

Source

fn install_durable_gate(&self, gate: Option<RotationGate>)

Source

fn check(&self, live_generation: Option<u64>) -> Result<(), RotationPending>

Implementors§