Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
21e9162
Switch service to futures03
expenses Dec 18, 2019
3e705f6
Fix tests
expenses Dec 18, 2019
566f190
Fix service test and cli
expenses Dec 18, 2019
3dd8ff4
Re-add Executor trait to SpawnTaskHandle
expenses Dec 19, 2019
be72319
Fix node-service
expenses Dec 19, 2019
b260cfe
Update babe
expenses Dec 19, 2019
07ba97d
Fix browser node
expenses Dec 19, 2019
84032dd
Update aura
expenses Dec 19, 2019
ae7dc83
Revert back to tokio-executor to fix runtime panic
expenses Dec 19, 2019
b0308aa
Add todo item
expenses Dec 19, 2019
ca1f5f2
Fix service tests again
expenses Dec 19, 2019
b455854
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Dec 20, 2019
f650750
Timeout test futures
expenses Dec 20, 2019
a3edd86
Fix tests
expenses Dec 20, 2019
846224b
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Dec 21, 2019
a087651
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 2, 2020
326da2a
nits
expenses Jan 3, 2020
dd538b6
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 3, 2020
62e45b2
Fix service test
expenses Jan 3, 2020
b4e8d03
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 6, 2020
f4ba4fa
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 6, 2020
5d03719
Remove zstd patch
expenses Jan 6, 2020
9f57013
Re-add futures01 to aura and babe tests as a dev-dep
expenses Jan 6, 2020
5cf66ca
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 7, 2020
49ab8a1
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 7, 2020
ab73e60
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 8, 2020
1390491
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 9, 2020
4a57419
Change failing test to tee
expenses Jan 9, 2020
2f99610
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 10, 2020
cd25fcc
Fix node
expenses Jan 10, 2020
078992f
Upgrade tokio
expenses Jan 10, 2020
208291a
fix society
gui1117 Jan 10, 2020
4e29d08
Merge remote-tracking branch 'parity/gui-fix-society' into ashley-ser…
expenses Jan 10, 2020
9c19763
Start switching grandpa to stable futures
expenses Jan 10, 2020
51e0ead
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 13, 2020
ebb26a2
Revert "Start switching grandpa to stable futures"
expenses Jan 13, 2020
5a51c55
Fix utils
expenses Jan 13, 2020
01e2073
Revert substrate service test
expenses Jan 14, 2020
6ad061b
Merge remote-tracking branch 'parity/master' into ashley-service-futures
expenses Jan 14, 2020
87c740e
Revert gitlab
expenses Jan 14, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge remote-tracking branch 'parity/master' into ashley-service-futures
  • Loading branch information
expenses committed Jan 6, 2020
commit b4e8d037fefef21ecb7cc8bf8438a3ff74c2432d
21 changes: 14 additions & 7 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -153,3 +153,6 @@ members = [
[profile.release]
# Substrate runtime requires unwinding.
panic = "unwind"

[replace]
'zstd:0.5.1' = { git = "https://github.com/gyscos/zstd-rs" }
22 changes: 11 additions & 11 deletions bin/node/cli/src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,10 @@ macro_rules! new_full_start {
/// concrete types instead.
macro_rules! new_full {
($config:expr, $with_startup_data: expr) => {{
use sc_network::DhtEvent;
use futures::{
compat::Future01CompatExt,
compat::{Future01CompatExt, Stream01CompatExt},
stream::StreamExt,
future::FutureExt,
future::{self, FutureExt},
};
use sc_network::Event;

Expand All @@ -142,13 +141,6 @@ macro_rules! new_full {

let (builder, mut import_setup, inherent_data_providers) = new_full_start!($config);

// Dht event channel from the network to the authority discovery module. Use bounded channel to ensure
// back-pressure. Authority discovery is triggering one event per authority within the current authority set.
// This estimates the authority set size to be somewhere below 10 000 thereby setting the channel buffer size to
// 10 000.
let (dht_event_tx, dht_event_rx) =
futures::channel::mpsc::channel::<DhtEvent>(10_000);

let service = builder.with_network_protocol(|_| Ok(crate::service::NodeProtocol::new()))?
.with_finality_proof_provider(|client, backend|
Ok(Arc::new(grandpa::FinalityProofProvider::new(backend, client)) as _)
Expand Down Expand Up @@ -189,12 +181,20 @@ macro_rules! new_full {
let babe = sc_consensus_babe::start_babe(babe_config)?;
service.spawn_essential_task(babe);

let network = service.network();
let dht_event_stream = network.event_stream().compat()
.map(|x| x.expect("<mpsc::channel::Receiver as Stream> never returns an error; qed"))
.filter_map(|e| match e {
Event::Dht(e) => future::ready(Some(e)),
_ => future::ready(None),
})
.boxed();
let authority_discovery = sc_authority_discovery::AuthorityDiscovery::new(
service.client(),
network,
sentry_nodes,
service.keystore(),
dht_event_rx.boxed(),
dht_event_stream,
);

service.spawn_task(authority_discovery);
Expand Down
1 change: 0 additions & 1 deletion client/service/src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,6 @@ ServiceBuilder<
network_status_sinks.clone(),
system_rpc_rx,
has_bootnodes,
dht_event_tx,
), exit.clone()).map(drop)));

let telemetry_connection_sinks: Arc<Mutex<Vec<mpsc::UnboundedSender<()>>>> = Default::default();
Expand Down
24 changes: 0 additions & 24 deletions client/service/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -370,14 +370,10 @@ fn build_network_future<
status_sinks: Arc<Mutex<status_sinks::StatusSinks<(NetworkStatus<B>, NetworkState)>>>,
mut rpc_rx: mpsc::UnboundedReceiver<sc_rpc::system::Request<B>>,
should_have_peers: bool,
dht_event_tx: Option<mpsc::Sender<DhtEvent>>,
) -> impl Future<Output = ()> {
let mut imported_blocks_stream = client.import_notification_stream().fuse();
let mut finality_notification_stream = client.finality_notification_stream().fuse();

// Initializing a stream in order to obtain DHT events from the network.
let mut event_stream = network.service().event_stream().compat();

futures::future::poll_fn(move |cx| {
let before_polling = Instant::now();

Expand Down Expand Up @@ -470,26 +466,6 @@ fn build_network_future<
(status, state)
});

// Processing DHT events.
while let Poll::Ready(Some(Ok(event))) = Pin::new(&mut event_stream).poll_next(cx) {
match event {
Event::Dht(event) => {
// Given that client/authority-discovery is the only upper stack consumer of Dht events at the moment, all Dht
// events are being passed on to the authority-discovery module. In the future there might be multiple
// consumers of these events. In that case this would need to be refactored to properly dispatch the events,
// e.g. via a subscriber model.
if let Some(Err(e)) = dht_event_tx.as_ref().map(|c| c.clone().try_send(event)) {
if e.is_full() {
warn!(target: "service", "Dht event channel to authority discovery is full, dropping event.");
} else if e.is_disconnected() {
warn!(target: "service", "Dht event channel to authority discovery is disconnected, dropping event.");
}
}
}
_ => {}
}
}

// Main network polling.
if let Poll::Ready(Ok(())) = Pin::new(&mut (&mut network).compat()).poll(cx).map_err(|err| {
warn!(target: "service", "Error in network: {:?}", err);
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.