pub trait DPT {
// Required methods
fn encode(&self, buf: &mut Vec<u8>);
fn decode(&mut self, buf: &[u8]) -> Result<(), KnxNetIpError>
where Self: Sized;
fn bit_len(&self) -> u16;
// Provided method
fn unit(&self) -> &str { ... }
}