mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-01-28 00:28:20 -05:00
refactor(mempool): Optimize validation task lock duration by moving async fut creation outside lock (#16159)
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
This commit is contained in:
@@ -171,14 +171,13 @@ where
|
||||
{
|
||||
let res = {
|
||||
let to_validation_task = self.to_validation_task.clone();
|
||||
let to_validation_task = to_validation_task.lock().await;
|
||||
let validator = self.validator.clone();
|
||||
to_validation_task
|
||||
.send(Box::pin(async move {
|
||||
let res = validator.validate_transaction(origin, transaction).await;
|
||||
let _ = tx.send(res);
|
||||
}))
|
||||
.await
|
||||
let fut = Box::pin(async move {
|
||||
let res = validator.validate_transaction(origin, transaction).await;
|
||||
let _ = tx.send(res);
|
||||
});
|
||||
let to_validation_task = to_validation_task.lock().await;
|
||||
to_validation_task.send(fut).await
|
||||
};
|
||||
if res.is_err() {
|
||||
return TransactionValidationOutcome::Error(
|
||||
|
||||
Reference in New Issue
Block a user