use super::{register::RegisterWrite, CmdError, Error};
use crate::types::Chunk;
use serde::{Deserialize, Serialize};
use xor_name::XorName;
#[allow(clippy::large_enum_variant)]
#[derive(Eq, PartialEq, Clone, Serialize, Deserialize, Debug)]
pub enum DataCmd {
StoreChunk(Chunk),
Register(RegisterWrite),
}
impl DataCmd {
pub fn error(&self, error: Error) -> CmdError {
use DataCmd::*;
match self {
StoreChunk(_) => CmdError::Data(error),
Register(c) => c.error(error),
}
}
pub fn dst_name(&self) -> XorName {
use DataCmd::*;
match self {
StoreChunk(c) => *c.name(),
Register(c) => c.dst_name(),
}
}
}