use std::io;
use std::io::{Read, Write};
use common::BinarySerializable;
#[derive(
Copy, Clone, Debug, PartialEq, PartialOrd, Eq, Ord, Hash, serde::Serialize, serde::Deserialize,
)]
pub struct Field(u32);
impl Field {
pub const fn from_field_id(field_id: u32) -> Field {
Field(field_id)
}
pub const fn field_id(self) -> u32 {
self.0
}
}
impl BinarySerializable for Field {
fn serialize<W: Write + ?Sized>(&self, writer: &mut W) -> io::Result<()> {
self.0.serialize(writer)
}
fn deserialize<R: Read>(reader: &mut R) -> io::Result<Field> {
u32::deserialize(reader).map(Field)
}
}