chiark / gitweb /
mgmtchannel: Switch to msgpack from json
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 16 Apr 2021 23:40:55 +0000 (00:40 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 24 Apr 2021 11:58:18 +0000 (12:58 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/mgmtchannel.rs

index 36d55db546db65c253de9dada04ef9f00223fa84..3e0b7ab2220023ed0f68292935121d13f852bcdb 100644 (file)
@@ -72,15 +72,15 @@ impl MgmtChannel {
   pub fn read<T:DeserializeOwned>(&mut self) -> T {
     use MgmtChannelReadError::*;
     let f = self.read.new_frame()?.ok_or(MgmtChannelReadError::EOF)?;
-    let r = serde_json::from_reader(f);
+    let r = rmp_serde::decode::from_read(f);
     let v = r.map_err(|e| Parse(format!("{}", &e)))?;
     v
   }
 
-  #[throws(io::Error)]
+  #[throws(MgmtChannelWriteError)]
   pub fn write<T:Serialize>(&mut self, val: &T) {
     let mut f = self.write.new_frame()?;
-    serde_json::to_writer(&mut f, val)?;
+    rmp_serde::encode::write_named(&mut f, val)?;
     f.finish()?;
     self.write.flush()?;
   }