Refactored Slicable (#324)

* Refactored Slicable

* Docs

* Wasm build

* Wasm build

* Renamed traits

* Review nits

* Renamed Slicable as well
This commit is contained in:
Arkadiy Paronyan
2018-07-15 22:51:21 +02:00
committed by Gav Wood
parent b45020175a
commit 1aeb2825af
84 changed files with 901 additions and 818 deletions
+10 -10
View File
@@ -47,7 +47,7 @@ mod collator_pool;
mod router;
pub mod consensus;
use codec::Slicable;
use codec::{Decode, Encode};
use futures::sync::oneshot;
use parking_lot::Mutex;
use polkadot_consensus::{Statement, SignedStatement, GenericStatement};
@@ -81,25 +81,25 @@ pub struct Status {
collating_for: Option<(AccountId, ParaId)>,
}
impl Slicable for Status {
fn encode(&self) -> Vec<u8> {
let mut v = Vec::new();
impl Encode for Status {
fn encode_to<T: codec::Output>(&self, dest: &mut T) {
match self.collating_for {
Some(ref details) => {
v.push(1);
details.using_encoded(|s| v.extend(s));
dest.push_byte(1);
dest.push(details);
}
None => {
v.push(0);
dest.push_byte(0);
}
}
v
}
}
fn decode<I: ::codec::Input>(input: &mut I) -> Option<Self> {
impl Decode for Status {
fn decode<I: codec::Input>(input: &mut I) -> Option<Self> {
let collating_for = match input.read_byte()? {
0 => None,
1 => Some(Slicable::decode(input)?),
1 => Some(Decode::decode(input)?),
_ => return None,
};
Some(Status { collating_for })
+1 -1
View File
@@ -23,7 +23,7 @@ use polkadot_consensus::GenericStatement;
use polkadot_primitives::{Block, Hash, SessionKey};
use polkadot_primitives::parachain::{CandidateReceipt, HeadData, BlockData};
use substrate_primitives::H512;
use codec::Slicable;
use codec::Encode;
use substrate_network::{PeerId, PeerInfo, ClientHandle, Context, message::Message as SubstrateMessage, message::Role, specialization::Specialization, generic_message::Message as GenericMessage};
use std::sync::Arc;