use crate::io::WireType;
use enc::{DecodeFromRead, DecodeFromReadPrefix, EncodeToSlice, EncodeToWrite, EncodedLen};
use std::fmt::Debug;
use std::hash::Hash;
pub trait Packet:
'static
+ Clone
+ Ord
+ PartialOrd
+ Eq
+ PartialEq
+ Hash
+ Debug
+ Sync
+ Send
+ EncodedLen
+ EncodeToSlice
+ EncodeToWrite
+ DecodeFromRead
+ DecodeFromReadPrefix
{
fn wire() -> WireType;
}