我正在为二进制协议(Netlink)编写Rust包装器,为此我需要将一些数据(字符串和不同类型的int和uint)编码到某种缓冲区中,我看到{ {1}}已被广泛使用。我目前的伪代码如下:
Vec<u8>
我需要帮助实现能够执行上述伪代码中的struct NetlinkHeader {
length: u32,
_type: u16,
flags: u16,
sequence: u32,
pid: u32
}
impl NetlinkSerializable for NetlinkHeader {
fn to_wire_format(&self) -> Result<str, &'static str> {
let mut binary_data: Vec<u8> = Vec::with_capacity(16);
binary_data.add_binary_representation(self.length);
binary_data.add_binary_representation(self._type);
binary_data.add_binary_representation(self.flags);
binary_data.add_binary_representation(self.sequence);
binary_data.add_binary_representation(self.pid);
}
}
的内容。