#[derive(Debug, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub enum ReadPartition
{
Valid(Partition),
RootInvalid,
}
impl FromBytes for ReadPartition
{
type Error = ParseReadPartitionError;
#[inline(always)]
fn from_bytes(bytes: &[u8]) -> Result<Self, Self::Error>
{
use self::Partition::*;
use self::ReadPartition::*;
let variant = match bytes
{
b"root" => Valid(Root),
b"member" => Valid(NonRootMember),
b"root invalid" => RootInvalid,
_ => return Err(ParseReadPartitionError::UnknownVariant(bytes.to_vec()))
};
Ok(variant)
}
}