pub fn encode<F>( buf: &mut [u8], src: Ipv4Addr, dst: Ipv4Addr, proto: u8, encoder: F, ) -> Result<&[u8], Error>where F: FnOnce(&mut [u8]) -> Result<usize, Error>,