use std::error::Error;
use std::{cmp, fmt};
+use std::io::Read;
use std::result::Result;
use util::{byte_utils, internal_traits, events};
-use util::ser::{Readable, Reader, Writeable, Writer};
+use util::ser::{Readable, Writeable, Writer};
pub trait MsgEncodable {
fn encode(&self) -> Vec<u8>;
bitcoin_signature
});
-impl<W: ::std::io::Write> Writeable<W> for ChannelReestablish {
- fn write(&self, w: &mut Writer<W>) -> Result<(), DecodeError> {
+impl<W: Writer> Writeable<W> for ChannelReestablish {
+ fn write(&self, w: &mut W) -> Result<(), DecodeError> {
self.channel_id.write(w)?;
self.next_local_commitment_number.write(w)?;
self.next_remote_commitment_number.write(w)?;
}
}
-impl<R: ::std::io::Read> Readable<R> for ChannelReestablish{
- fn read(r: &mut Reader<R>) -> Result<Self, DecodeError> {
+impl<R: Read> Readable<R> for ChannelReestablish{
+ fn read(r: &mut R) -> Result<Self, DecodeError> {
Ok(Self {
channel_id: Readable::read(r)?,
next_local_commitment_number: Readable::read(r)?,
data
});
-impl<W: ::std::io::Write> Writeable<W> for OnionPacket {
- fn write(&self, w: &mut Writer<W>) -> Result<(), DecodeError> {
+impl<W: Writer> Writeable<W> for OnionPacket {
+ fn write(&self, w: &mut W) -> Result<(), DecodeError> {
self.version.write(w)?;
match self.public_key {
Ok(pubkey) => pubkey.write(w)?,
}
}
-impl<R: ::std::io::Read> Readable<R> for OnionPacket {
- fn read(r: &mut Reader<R>) -> Result<Self, DecodeError> {
+impl<R: Read> Readable<R> for OnionPacket {
+ fn read(r: &mut R) -> Result<Self, DecodeError> {
Ok(OnionPacket {
version: Readable::read(r)?,
public_key: {
onion_routing_packet
});
-impl<W: ::std::io::Write> Writeable<W> for OnionRealm0HopData {
- fn write(&self, w: &mut Writer<W>) -> Result<(), DecodeError> {
+impl<W: Writer> Writeable<W> for OnionRealm0HopData {
+ fn write(&self, w: &mut W) -> Result<(), DecodeError> {
self.short_channel_id.write(w)?;
self.amt_to_forward.write(w)?;
self.outgoing_cltv_value.write(w)?;
}
}
-impl<R: ::std::io::Read> Readable<R> for OnionRealm0HopData {
- fn read(r: &mut Reader<R>) -> Result<Self, DecodeError> {
+impl<R: Read> Readable<R> for OnionRealm0HopData {
+ fn read(r: &mut R) -> Result<Self, DecodeError> {
Ok(OnionRealm0HopData {
short_channel_id: Readable::read(r)?,
amt_to_forward: Readable::read(r)?,
}
}
-impl<W: ::std::io::Write> Writeable<W> for OnionHopData {
- fn write(&self, w: &mut Writer<W>) -> Result<(), DecodeError> {
+impl<W: Writer> Writeable<W> for OnionHopData {
+ fn write(&self, w: &mut W) -> Result<(), DecodeError> {
self.realm.write(w)?;
self.data.write(w)?;
self.hmac.write(w)?;
}
}
-impl<R: ::std::io::Read> Readable<R> for OnionHopData {
- fn read(r: &mut Reader<R>) -> Result<Self, DecodeError> {
+impl<R: Read> Readable<R> for OnionHopData {
+ fn read(r: &mut R) -> Result<Self, DecodeError> {
Ok(OnionHopData {
realm: {
let r: u8 = Readable::read(r)?;
}
}
-impl<W: ::std::io::Write> Writeable<W> for Ping {
- fn write(&self, w: &mut Writer<W>) -> Result<(), DecodeError> {
+impl<W: Writer> Writeable<W> for Ping {
+ fn write(&self, w: &mut W) -> Result<(), DecodeError> {
self.ponglen.write(w)?;
vec![0u8; self.byteslen as usize].write(w)?; // size-unchecked write
Ok(())
}
}
-impl<R: ::std::io::Read> Readable<R> for Ping {
- fn read(r: &mut Reader<R>) -> Result<Self, DecodeError> {
+impl<R: Read> Readable<R> for Ping {
+ fn read(r: &mut R) -> Result<Self, DecodeError> {
Ok(Ping {
ponglen: Readable::read(r)?,
byteslen: {
}
}
-impl<W: ::std::io::Write> Writeable<W> for Pong {
- fn write(&self, w: &mut Writer<W>) -> Result<(), DecodeError> {
+impl<W: Writer> Writeable<W> for Pong {
+ fn write(&self, w: &mut W) -> Result<(), DecodeError> {
vec![0u8; self.byteslen as usize].write(w)?; // size-unchecked write
Ok(())
}
}
-impl<R: ::std::io::Read> Readable<R> for Pong {
- fn read(r: &mut Reader<R>) -> Result<Self, DecodeError> {
+impl<R: Read> Readable<R> for Pong {
+ fn read(r: &mut R) -> Result<Self, DecodeError> {
Ok(Pong {
byteslen: {
let byteslen = Readable::read(r)?;
}
}
-impl<W: ::std::io::Write> Writeable<W> for UnsignedChannelAnnouncement {
- fn write(&self, w: &mut Writer<W>) -> Result<(), DecodeError> {
+impl<W: Writer> Writeable<W> for UnsignedChannelAnnouncement {
+ fn write(&self, w: &mut W) -> Result<(), DecodeError> {
self.features.write(w)?;
self.chain_hash.write(w)?;
self.short_channel_id.write(w)?;
}
}
-impl<R: ::std::io::Read> Readable<R> for UnsignedChannelAnnouncement {
- fn read(r: &mut Reader<R>) -> Result<Self, DecodeError> {
+impl<R: Read> Readable<R> for UnsignedChannelAnnouncement {
+ fn read(r: &mut R) -> Result<Self, DecodeError> {
Ok(Self {
features: {
let f: GlobalFeatures = Readable::read(r)?;
contents
});
-impl<W: ::std::io::Write> Writeable<W> for UnsignedChannelUpdate {
- fn write(&self, w: &mut Writer<W>) -> Result<(), DecodeError> {
+impl<W: Writer> Writeable<W> for UnsignedChannelUpdate {
+ fn write(&self, w: &mut W) -> Result<(), DecodeError> {
self.chain_hash.write(w)?;
self.short_channel_id.write(w)?;
self.timestamp.write(w)?;
}
}
-impl<R: ::std::io::Read> Readable<R> for UnsignedChannelUpdate {
- fn read(r: &mut Reader<R>) -> Result<Self, DecodeError> {
+impl<R: Read> Readable<R> for UnsignedChannelUpdate {
+ fn read(r: &mut R) -> Result<Self, DecodeError> {
Ok(Self {
chain_hash: Readable::read(r)?,
short_channel_id: Readable::read(r)?,
contents
});
-impl<W: ::std::io::Write> Writeable<W> for ErrorMessage {
- fn write(&self, w: &mut Writer<W>) -> Result<(), DecodeError> {
+impl<W: Writer> Writeable<W> for ErrorMessage {
+ fn write(&self, w: &mut W) -> Result<(), DecodeError> {
self.channel_id.write(w)?;
self.data.as_bytes().to_vec().write(w)?; // write with size prefix
Ok(())
}
}
-impl<R: ::std::io::Read> Readable<R> for ErrorMessage {
- fn read(r: &mut Reader<R>) -> Result<Self, DecodeError> {
+impl<R: Read> Readable<R> for ErrorMessage {
+ fn read(r: &mut R) -> Result<Self, DecodeError> {
Ok(Self {
channel_id: Readable::read(r)?,
data: {
}
}
-impl<W: ::std::io::Write> Writeable<W> for UnsignedNodeAnnouncement {
- fn write(&self, w: &mut Writer<W>) -> Result<(), DecodeError> {
+impl<W: Writer> Writeable<W> for UnsignedNodeAnnouncement {
+ fn write(&self, w: &mut W) -> Result<(), DecodeError> {
self.features.write(w)?;
self.timestamp.write(w)?;
self.node_id.write(w)?;
}
}
-impl<R: ::std::io::Read> Readable<R> for UnsignedNodeAnnouncement {
- fn read(r: &mut Reader<R>) -> Result<Self, DecodeError> {
+impl<R: Read> Readable<R> for UnsignedNodeAnnouncement {
+ fn read(r: &mut R) -> Result<Self, DecodeError> {
let features: GlobalFeatures = Readable::read(r)?;
if features.requires_unknown_bits() {
return Err(DecodeError::UnknownRequiredFeature);