Unverified Commit 1d05f779 authored by Bernhard Schuster's avatar Bernhard Schuster Committed by GitHub
Browse files

minor chore changes (#3944)

* chore: mild refactor, avoid the channel in handle_import_statements

* chore/md: lint
parent 2257112c
Pipeline #159456 passed with stages
in 36 minutes and 7 seconds
......@@ -537,7 +537,7 @@ async fn handle_incoming(
statements,
pending_confirmation,
} => {
handle_import_statements(
let outcome = handle_import_statements(
ctx,
overlay_db,
state,
......@@ -546,10 +546,10 @@ async fn handle_incoming(
session,
statements,
now,
pending_confirmation,
metrics,
)
.await?;
pending_confirmation.send(outcome).map_err(|_| Error::OneshotSend)?;
},
DisputeCoordinatorMessage::RecentDisputes(rx) => {
let recent_disputes = overlay_db.load_recent_disputes()?.unwrap_or_default();
......@@ -648,14 +648,10 @@ async fn handle_import_statements(
now: Timestamp,
pending_confirmation: oneshot::Sender<ImportStatementsResult>,
metrics: &Metrics,
) -> Result<(), Error> {
) -> Result<ImportStatementsResult, Error> {
if state.highest_session.map_or(true, |h| session + DISPUTE_WINDOW < h) {
// It is not valid to participate in an ancient dispute (spam?).
pending_confirmation
.send(ImportStatementsResult::InvalidImport)
.map_err(|_| Error::OneshotSend)?;
return Ok(())
return Ok(ImportStatementsResult::InvalidImport)
}
let validators = match state.rolling_session_window.session_info(session) {
......@@ -666,11 +662,7 @@ async fn handle_import_statements(
"Missing info for session which has an active dispute",
);
pending_confirmation
.send(ImportStatementsResult::InvalidImport)
.map_err(|_| Error::OneshotSend)?;
return Ok(())
return Ok(ImportStatementsResult::InvalidImport)
},
Some(info) => info.validators.clone(),
};
......@@ -795,15 +787,12 @@ async fn handle_import_statements(
//
// We expect that if the candidate is truly disputed that the higher-level network
// code will retry.
pending_confirmation
.send(ImportStatementsResult::InvalidImport)
.map_err(|_| Error::OneshotSend)?;
tracing::debug!(
target: LOG_TARGET,
"Recovering availability failed - invalid import."
);
return Ok(())
return Ok(ImportStatementsResult::InvalidImport)
}
metrics.on_open();
......@@ -821,11 +810,7 @@ async fn handle_import_statements(
overlay_db.write_candidate_votes(session, candidate_hash, votes.into());
pending_confirmation
.send(ImportStatementsResult::ValidImport)
.map_err(|_| Error::OneshotSend)?;
Ok(())
Ok(ImportStatementsResult::ValidImport)
}
fn find_controlled_validator_indices(
......@@ -932,8 +917,7 @@ async fn issue_local_statement(
// Do import
if !statements.is_empty() {
let (pending_confirmation, rx) = oneshot::channel();
handle_import_statements(
match handle_import_statements(
ctx,
overlay_db,
state,
......@@ -942,11 +926,10 @@ async fn issue_local_statement(
session,
statements,
now,
pending_confirmation,
metrics,
)
.await?;
match rx.await {
.await?
{
Err(_) => {
tracing::error!(
target: LOG_TARGET,
......
# How to run this collator
First start two validators that will run for the relay chain:
```sh
cargo run --release -- -d alice --chain rococo-local --validator --alice --port 50551
cargo run --release -- -d bob --chain rococo-local --validator --bob --port 50552
```
Next start the collator that will collate for the adder parachain:
```sh
cargo run --release -p test-parachain-adder-collator -- --tmp --chain rococo-local --port 50553
```
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment