use std::io::Cursor;
pub type NodeId = u64;
openraft::declare_raft_types!(
pub TypeConfig:
D = Request,
R = Response,
Node = BasicNode,
NodeId = NodeId,
Entry = openraft::Entry<TypeConfig>,
SnapshotData = Cursor<Vec<u8>>,
);
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq, Eq, Default)]
pub struct BasicNode {
pub addr: String,
}
impl std::fmt::Display for BasicNode {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.addr)
}
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq, Eq, Default)]
pub struct Request {
pub data: Vec<u8>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq, Eq, Default)]
pub struct Response {
pub value: Option<Vec<u8>>,
}