Add Event::ChannelClosed generation at channel shutdown
[rust-lightning] / lightning / src / util / ser.rs
index c76b701817b5d9eb1a5c2645f705241fe86e3ad9..83059620ed3f3382be4b349197efa1b357de72cf 100644 (file)
@@ -897,3 +897,20 @@ impl Readable for () {
                Ok(())
        }
 }
+
+impl Writeable for String {
+       #[inline]
+       fn write<W: Writer>(&self, w: &mut W) -> Result<(), io::Error> {
+               (self.len() as u16).write(w)?;
+               w.write_all(self.as_bytes())
+       }
+}
+
+impl Readable for String {
+       #[inline]
+       fn read<R: Read>(r: &mut R) -> Result<Self, DecodeError> {
+               let v: Vec<u8> = Readable::read(r)?;
+               let ret = String::from_utf8(v).map_err(|_| DecodeError::InvalidValue)?;
+               Ok(ret)
+       }
+}