Update the service to std futures (#4447)

* Switch service to futures03

* Fix tests

* Fix service test and cli

* Re-add Executor trait to SpawnTaskHandle

* Fix node-service

* Update babe

* Fix browser node

* Update aura

* Revert back to tokio-executor to fix runtime panic

* Add todo item

* Fix service tests again

* Timeout test futures

* Fix tests

* nits

* Fix service test

* Remove zstd patch

* Re-add futures01 to aura and babe tests as a dev-dep

* Change failing test to tee

* Fix node

* Upgrade tokio

* fix society

* Start switching grandpa to stable futures

* Revert "Start switching grandpa to stable futures"

This reverts commit 9c1976346237637effc07c13f7d0403daf5e71cf.

* Fix utils

* Revert substrate service test

* Revert gitlab

Co-authored-by: thiolliere <gui.thiolliere@gmail.com>
This commit is contained in:
Ashley
2020-01-14 15:43:45 +01:00
committed by GitHub
parent 972be34e38
commit 3219be2508
24 changed files with 246 additions and 312 deletions
+3 -9
View File
@@ -22,10 +22,7 @@ use service::{
ChainSpec, RuntimeGenesis
};
use wasm_bindgen::prelude::*;
use futures::{
TryFutureExt as _, FutureExt as _, Stream as _, Future as _, TryStreamExt as _,
channel::{oneshot, mpsc}, future::{poll_fn, ok}, compat::*,
};
use futures::{prelude::*, channel::{oneshot, mpsc}, future::{poll_fn, ok}, compat::*};
use std::task::Poll;
use std::pin::Pin;
use chain_spec::Extension;
@@ -82,8 +79,7 @@ struct RpcMessage {
}
/// Create a Client object that connects to a service.
pub fn start_client(service: impl AbstractService) -> Client {
let mut service = service.compat();
pub fn start_client(mut service: impl AbstractService) -> Client {
// We dispatch a background task responsible for processing the service.
//
// The main action performed by the code below consists in polling the service with
@@ -94,10 +90,8 @@ pub fn start_client(service: impl AbstractService) -> Client {
loop {
match Pin::new(&mut rpc_send_rx).poll_next(cx) {
Poll::Ready(Some(message)) => {
let fut = service.get_ref()
let fut = service
.rpc_query(&message.session, &message.rpc_json)
.compat()
.unwrap_or_else(|_| None)
.boxed();
let _ = message.send_back.send(fut);
},