use crate::Node;
use std::sync::Arc;
#[derive(Debug)]
pub struct PartitionStatus {
pub bval: Option<u64>,
pub id: u16,
pub retry: bool,
pub digest: Option<[u8; 20]>,
pub node: Option<Arc<Node>>,
pub sequence: Option<u64>,
}
impl PartitionStatus {
pub(crate) const fn new(partition_id: usize) -> Self {
PartitionStatus {
bval: None,
id: partition_id as u16,
retry: true,
digest: None,
node: None,
sequence: None,
}
}
pub(crate) const fn set_digest(&mut self, digest: Option<[u8; 20]>) {
self.digest = digest;
}
pub(crate) const fn reset_sequence(&mut self) {
self.sequence = None;
}
pub(crate) fn reset_node(&mut self) {
self.node = None;
}
}