Adds new execution strategy nativeElseWasm (#1546)

* fix: adds new execution strategy nativeElseWasm and replace nativeWhenPossible with it

* feat: adds cmd line params for execution strategies

* fix: uses of cmd line execution strategies

* chore: remove white spaces

* chore: remove println

* chore: remove whitespace

* fix: generating functions with context

* feat: add function to generate with_context declarations

* fix: add implementation for with_context function calls

* fix: add execution context to call_api_at function

* fix: making use of context to select strategy for block_builder

* chore: cleaning up

* fix: merging issues

* fix tests

* add wasm files

* chore: small doc for context fields

* chore: delete redundant docs

* fix: use full path for ExecutionContext

* fix: add context functions from inside fold_item_impl

* chore: remove clone

* fix: moving generative function to utils, remove unused imports

* fix: add missing full path for ExecutionContext

* fix: merge issues

* update wasm files

* fix: update to keep up with changes in master

* chore: remove unused functions, clean up

* fix test

* fix grumbles

* fix: add more tests

* fix: some refactorings

* feat: add execution strategy to call

* chore: small improvements

* fix: add message to panic

* fix tests
This commit is contained in:
Marcio Diaz
2019-02-11 15:22:44 +01:00
committed by GitHub
parent f9975af020
commit b8bd49961a
31 changed files with 837 additions and 544 deletions
+1 -2
View File
@@ -437,8 +437,7 @@ impl<Factory: ServiceFactory> Components for FullComponents<Factory> {
db_settings,
executor,
&config.chain_spec,
config.block_execution_strategy,
config.api_execution_strategy,
config.execution_strategies.clone(),
)?), None))
}
+4 -7
View File
@@ -19,7 +19,7 @@
use std::net::SocketAddr;
use transaction_pool;
use crate::chain_spec::ChainSpec;
pub use client::ExecutionStrategy;
pub use client::ExecutionStrategies;
pub use client_db::PruningMode;
pub use network::config::{NetworkConfiguration, Roles};
use runtime_primitives::BuildStorage;
@@ -57,10 +57,8 @@ pub struct Configuration<C, G: Serialize + DeserializeOwned + BuildStorage> {
pub custom: C,
/// Node name.
pub name: String,
/// Block execution strategy.
pub block_execution_strategy: ExecutionStrategy,
/// Runtime API execution strategy.
pub api_execution_strategy: ExecutionStrategy,
/// Execution strategies.
pub execution_strategies: ExecutionStrategies,
/// RPC over HTTP binding address. `None` if disabled.
pub rpc_http: Option<SocketAddr>,
/// RPC over Websockets binding address. `None` if disabled.
@@ -89,8 +87,7 @@ impl<C: Default, G: Serialize + DeserializeOwned + BuildStorage> Configuration<C
keys: Default::default(),
custom: Default::default(),
pruning: PruningMode::default(),
block_execution_strategy: ExecutionStrategy::Both,
api_execution_strategy: ExecutionStrategy::Both,
execution_strategies: Default::default(),
rpc_http: None,
rpc_ws: None,
telemetry_url: None,
+1 -1
View File
@@ -49,7 +49,7 @@ pub use chain_spec::{ChainSpec, Properties};
pub use transaction_pool::txpool::{
self, Pool as TransactionPool, Options as TransactionPoolOptions, ChainApi, IntoPoolError
};
pub use client::{ExecutionStrategy, FinalityNotifications};
pub use client::FinalityNotifications;
pub use components::{ServiceFactory, FullBackend, FullExecutor, LightBackend,
LightExecutor, Components, PoolApi, ComponentClient,