Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
remove unneeded state
Browse files Browse the repository at this point in the history
  • Loading branch information
drahnr committed Jun 20, 2022
1 parent 079a28c commit 6109018
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 32 deletions.
2 changes: 1 addition & 1 deletion node/network/bridge/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ pub(crate) struct PeerData {
/// Shared state between incoming and outgoing.

#[derive(Default, Clone)]
pub struct Shared(Arc<Mutex<SharedInner>>);
pub(crate) struct Shared(Arc<Mutex<SharedInner>>);

#[derive(Default)]
struct SharedInner {
Expand Down
2 changes: 1 addition & 1 deletion node/network/bridge/src/rx/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@ impl<N, AD> NetworkBridgeRx<N, AD> {
network_service: N,
authority_discovery_service: AD,
sync_oracle: Box<dyn SyncOracle + Send>,
shared: Shared,
metrics: Metrics,
) -> Self {
let shared = Shared::default();
Self { network_service, authority_discovery_service, sync_oracle, shared, metrics }
}
}
Expand Down
14 changes: 2 additions & 12 deletions node/network/bridge/src/tx/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ pub struct NetworkBridgeTx<N, AD> {
/// `Network` trait implementing type.
network_service: N,
authority_discovery_service: AD,
shared: Shared,
metrics: Metrics,
}

Expand All @@ -59,15 +58,7 @@ impl<N, AD> NetworkBridgeTx<N, AD> {
/// This assumes that the network service has had the notifications protocol for the network
/// bridge already registered. See [`peers_sets_info`](peers_sets_info).
pub fn new(network_service: N, authority_discovery_service: AD, metrics: Metrics) -> Self {
let shared = Shared::default();
Self { network_service, authority_discovery_service, shared, metrics }
}

/// Obtain the shared internal state.
///
/// Should only be used for setting up `NetworkBridgeRx`.
pub fn shared(&self) -> Shared {
self.shared.clone()
Self { network_service, authority_discovery_service, metrics }
}
}

Expand Down Expand Up @@ -284,8 +275,7 @@ where
N: Network,
AD: validator_discovery::AuthorityDiscovery + Clone + Sync,
{
let NetworkBridgeTx { network_service, authority_discovery_service, metrics, shared: _ } =
bridge;
let NetworkBridgeTx { network_service, authority_discovery_service, metrics } = bridge;

handle_subsystem_messages(ctx, network_service, authority_discovery_service, metrics).await?;

Expand Down
29 changes: 11 additions & 18 deletions node/service/src/overseer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -191,25 +191,18 @@ where

let spawner = SpawnGlue(spawner);

// bridge in and out are coupled via `Shared`.
let bridge_out = NetworkBridgeTxSubsystem::new(
network_service.clone(),
authority_discovery_service.clone(),
Box::new(network_service.clone()),
Metrics::register(registry)?,
);

let bridge_in = NetworkBridgeRxSubsystem::new(
network_service.clone(),
authority_discovery_service.clone(),
Box::new(network_service.clone()),
bridge_out.shared(),
Metrics::register(registry)?,
);

let builder = Overseer::builder()
.network_bridge(bridge_out)
.network_bridge_in(bridge_in)
.network_bridge_tx(NetworkBridgeTxSubsystem::new(
network_service.clone(),
authority_discovery_service.clone(),
Metrics::register(registry)?,
))
.network_bridge_rx(NetworkBridgeRxSubsystem::new(
network_service.clone(),
authority_discovery_service.clone(),
Box::new(network_service.clone()),
Metrics::register(registry)?,
))
.availability_distribution(AvailabilityDistributionSubsystem::new(
keystore.clone(),
IncomingRequestReceivers { pov_req_receiver, chunk_req_receiver },
Expand Down

0 comments on commit 6109018

Please sign in to comment.