X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Futil%2Fser.rs;h=7971f35fc97ce6ef0c8ec9c5dba4348cfdce697b;hb=89749eddec2ea178858bb5bc96c7d79e02944586;hp=af4de88a1a7dda59145b1ea25fa7b7e434519f76;hpb=f97d5203227d9f0985c8cb3c7acc1f21971aaae7;p=rust-lightning diff --git a/lightning/src/util/ser.rs b/lightning/src/util/ser.rs index af4de88a..7971f35f 100644 --- a/lightning/src/util/ser.rs +++ b/lightning/src/util/ser.rs @@ -17,7 +17,7 @@ use crate::prelude::*; use crate::io::{self, Read, Seek, Write}; use crate::io_extras::{copy, sink}; use core::hash::Hash; -use crate::sync::Mutex; +use crate::sync::{Mutex, RwLock}; use core::cmp; use core::convert::TryFrom; use core::ops::Deref; @@ -1195,6 +1195,18 @@ impl Writeable for Mutex { } } +impl Readable for RwLock { + fn read(r: &mut R) -> Result { + let t: T = Readable::read(r)?; + Ok(RwLock::new(t)) + } +} +impl Writeable for RwLock { + fn write(&self, w: &mut W) -> Result<(), io::Error> { + self.read().unwrap().write(w) + } +} + impl Readable for (A, B) { fn read(r: &mut R) -> Result { let a: A = Readable::read(r)?;