Expose VecWriter outside of util::ser since peer_handler uses it
[rust-lightning] / lightning / src / ln / peer_handler.rs
index 5838b782f4d4124a906d07f7d8e4c0cfad65eb8d..4809cecc4ad7cb008bf7b69bf9cf2723109c781d 100644 (file)
@@ -12,7 +12,7 @@ use ln::features::InitFeatures;
 use ln::msgs;
 use ln::msgs::ChannelMessageHandler;
 use ln::channelmanager::{SimpleArcChannelManager, SimpleRefChannelManager};
-use util::ser::{Writeable, Writer, Readable};
+use util::ser::{Writeable, Readable, VecWriter};
 use ln::peer_channel_encryptor::{PeerChannelEncryptor,NextNoiseStep};
 use util::byte_utils;
 use util::events::{MessageSendEvent, MessageSendEventsProvider};
@@ -191,17 +191,6 @@ pub struct PeerManager<Descriptor: SocketDescriptor, CM: Deref> where CM::Target
        logger: Arc<Logger>,
 }
 
-struct VecWriter(Vec<u8>);
-impl Writer for VecWriter {
-       fn write_all(&mut self, buf: &[u8]) -> Result<(), ::std::io::Error> {
-               self.0.extend_from_slice(buf);
-               Ok(())
-       }
-       fn size_hint(&mut self, size: usize) {
-               self.0.reserve_exact(size);
-       }
-}
-
 macro_rules! encode_msg {
        ($msg: expr, $msg_code: expr) => {{
                let mut msg = VecWriter(Vec::new());