Generate dispatch code from macro impl_stubs.

This commit is contained in:
Gav
2018-02-07 21:30:54 +01:00
parent 692770e03f
commit 652b5705d6
3 changed files with 11 additions and 18 deletions
-11
View File
@@ -32,9 +32,6 @@ extern crate polkadot_primitives;
extern crate polkadot_executor as executor;
extern crate native_runtime;
#[cfg(test)]
#[macro_use]
extern crate hex_literal;
#[macro_use]
extern crate clap;
#[macro_use]
@@ -42,14 +39,6 @@ extern crate error_chain;
#[macro_use]
extern crate log;
// TODO: move into own crate.
#[cfg(test)]
macro_rules! map {
($( $name:expr => $value:expr ),*) => (
vec![ $( ( $name, $value ) ),* ].into_iter().collect()
)
}
pub mod error;
/// Parse command line arguments and start the node.
+1 -6
View File
@@ -39,12 +39,7 @@ impl NativeExecutionDispatch for LocalNativeExecutionDispatch {
}
fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
match method {
"execute_block" => Some(runtime::execute_block(data)),
"execute_transaction" => Some(runtime::execute_transaction(data)),
"finalise_block" => Some(runtime::finalise_block(data)),
_ => None,
}
runtime::dispatch(method, data)
}
}
+10 -1
View File
@@ -131,7 +131,16 @@ pub fn print<T: Printable + Sized>(value: T) {
#[macro_export]
macro_rules! impl_stubs {
($( $name:ident ),*) => {}
($( $name:ident ),*) => {
pub fn dispatch(method: &str, data: &[u8]) -> Option<Vec<u8>> {
match method {
$(
stringify!($name) => Some($name(data)),
)*
_ => None,
}
}
}
}
#[cfg(test)]