core: various cleanups, improvements, code comments (#38)
* core: cleanup slicing impls for Hash * core: clean up Readable trait, implement Readable/Writeable for various integers * core: change Hash debug output to hex * core: correct warnings in all modules
This commit is contained in:
committed by
Ignotus Peverell
parent
9e82fb1774
commit
39ddeb0a2a
+11
-11
@@ -69,7 +69,7 @@ enum_from_primitive! {
|
||||
/// the header first, handles its validation and then reads the Readable body,
|
||||
/// allocating buffers of the right size.
|
||||
pub fn read_msg<T>(conn: TcpStream) -> Box<Future<Item = (TcpStream, T), Error = Error>>
|
||||
where T: Readable<T> + 'static
|
||||
where T: Readable + 'static
|
||||
{
|
||||
let read_header = read_exact(conn, vec![0u8; HEADER_LEN as usize])
|
||||
.from_err()
|
||||
@@ -157,7 +157,7 @@ impl Writeable for MsgHeader {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<MsgHeader> for MsgHeader {
|
||||
impl Readable for MsgHeader {
|
||||
fn read(reader: &mut Reader) -> Result<MsgHeader, ser::Error> {
|
||||
try!(reader.expect_u8(MAGIC[0]));
|
||||
try!(reader.expect_u8(MAGIC[1]));
|
||||
@@ -209,7 +209,7 @@ impl Writeable for Hand {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<Hand> for Hand {
|
||||
impl Readable for Hand {
|
||||
fn read(reader: &mut Reader) -> Result<Hand, ser::Error> {
|
||||
let (version, capab, nonce) = ser_multiread!(reader, read_u32, read_u32, read_u64);
|
||||
let total_diff = try!(Difficulty::read(reader));
|
||||
@@ -256,7 +256,7 @@ impl Writeable for Shake {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<Shake> for Shake {
|
||||
impl Readable for Shake {
|
||||
fn read(reader: &mut Reader) -> Result<Shake, ser::Error> {
|
||||
let (version, capab) = ser_multiread!(reader, read_u32, read_u32);
|
||||
let total_diff = try!(Difficulty::read(reader));
|
||||
@@ -284,7 +284,7 @@ impl Writeable for GetPeerAddrs {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<GetPeerAddrs> for GetPeerAddrs {
|
||||
impl Readable for GetPeerAddrs {
|
||||
fn read(reader: &mut Reader) -> Result<GetPeerAddrs, ser::Error> {
|
||||
let capab = try!(reader.read_u32());
|
||||
let capabilities = try!(Capabilities::from_bits(capab).ok_or(ser::Error::CorruptedData));
|
||||
@@ -308,7 +308,7 @@ impl Writeable for PeerAddrs {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<PeerAddrs> for PeerAddrs {
|
||||
impl Readable for PeerAddrs {
|
||||
fn read(reader: &mut Reader) -> Result<PeerAddrs, ser::Error> {
|
||||
let peer_count = try!(reader.read_u32());
|
||||
if peer_count > MAX_PEER_ADDRS {
|
||||
@@ -341,7 +341,7 @@ impl Writeable for PeerError {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<PeerError> for PeerError {
|
||||
impl Readable for PeerError {
|
||||
fn read(reader: &mut Reader) -> Result<PeerError, ser::Error> {
|
||||
let (code, msg) = ser_multiread!(reader, read_u32, read_vec);
|
||||
let message = try!(String::from_utf8(msg).map_err(|_| ser::Error::CorruptedData));
|
||||
@@ -378,7 +378,7 @@ impl Writeable for SockAddr {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<SockAddr> for SockAddr {
|
||||
impl Readable for SockAddr {
|
||||
fn read(reader: &mut Reader) -> Result<SockAddr, ser::Error> {
|
||||
let v4_or_v6 = try!(reader.read_u8());
|
||||
if v4_or_v6 == 0 {
|
||||
@@ -422,7 +422,7 @@ impl Writeable for Locator {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<Locator> for Locator {
|
||||
impl Readable for Locator {
|
||||
fn read(reader: &mut Reader) -> Result<Locator, ser::Error> {
|
||||
let len = reader.read_u8()?;
|
||||
let mut hashes = Vec::with_capacity(len as usize);
|
||||
@@ -448,7 +448,7 @@ impl Writeable for Headers {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<Headers> for Headers {
|
||||
impl Readable for Headers {
|
||||
fn read(reader: &mut Reader) -> Result<Headers, ser::Error> {
|
||||
let len = reader.read_u16()?;
|
||||
let mut headers = Vec::with_capacity(len as usize);
|
||||
@@ -469,7 +469,7 @@ impl Writeable for Empty {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<Empty> for Empty {
|
||||
impl Readable for Empty {
|
||||
fn read(reader: &mut Reader) -> Result<Empty, ser::Error> {
|
||||
Ok(Empty {})
|
||||
}
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ impl Writeable for PeerData {
|
||||
}
|
||||
}
|
||||
|
||||
impl Readable<PeerData> for PeerData {
|
||||
impl Readable for PeerData {
|
||||
fn read(reader: &mut Reader) -> Result<PeerData, ser::Error> {
|
||||
let addr = SockAddr::read(reader)?;
|
||||
let (capab, ua, fl) = ser_multiread!(reader, read_u32, read_vec, read_u8);
|
||||
|
||||
Reference in New Issue
Block a user