瀏覽代碼

communicator: don't encode fixed array lengths

Lennart Braun 2 年之前
父節點
當前提交
0351a68f81
共有 1 個文件被更改,包括 6 次插入2 次删除
  1. 6 2
      communicator/src/communicator.rs

+ 6 - 2
communicator/src/communicator.rs

@@ -25,7 +25,10 @@ impl<T: Serializable> MyFut<T> {
 impl<T: Serializable> Fut<T> for MyFut<T> {
     fn get(self) -> Result<T, Error> {
         let buf = self.buf_rx.lock().unwrap().recv()?;
-        let (data, size) = bincode::decode_from_slice(&buf, bincode::config::standard())?;
+        let (data, size) = bincode::decode_from_slice(
+            &buf,
+            bincode::config::standard().skip_fixed_array_length(),
+        )?;
         assert_eq!(size, buf.len());
         Ok(data)
     }
@@ -110,7 +113,8 @@ impl SenderThread {
     }
 
     pub fn send<T: Serializable>(&mut self, data: T) -> Result<(), Error> {
-        let buf = bincode::encode_to_vec(data, bincode::config::standard())?;
+        let buf =
+            bincode::encode_to_vec(data, bincode::config::standard().skip_fixed_array_length())?;
         self.buf_tx.send(buf)?;
         Ok(())
     }