@@ -45,6 +45,7 @@ use crate::{
4545 constants:: {
4646 MAX_FIND_BLOCK_HASHES_RESULTS , MAX_FIND_BLOCK_HEADERS_RESULTS , MAX_LEGACY_CHAIN_BLOCKS ,
4747 } ,
48+ error:: ReconsiderError ,
4849 response:: NonFinalizedBlocksListener ,
4950 service:: {
5051 block_iter:: any_ancestor_blocks,
@@ -842,13 +843,11 @@ impl StateService {
842843 fn send_reconsider_block (
843844 & self ,
844845 hash : block:: Hash ,
845- ) -> oneshot:: Receiver < Result < Vec < block:: Hash > , BoxError > > {
846+ ) -> oneshot:: Receiver < Result < Vec < block:: Hash > , ReconsiderError > > {
846847 let ( rsp_tx, rsp_rx) = oneshot:: channel ( ) ;
847848
848849 let Some ( sender) = & self . block_write_sender . non_finalized else {
849- let _ = rsp_tx. send ( Err (
850- "cannot reconsider blocks while still committing checkpointed blocks" . into ( ) ,
851- ) ) ;
850+ let _ = rsp_tx. send ( Err ( ReconsiderError :: CheckpointCommitInProgress ) ) ;
852851 return rsp_rx;
853852 } ;
854853
@@ -859,9 +858,7 @@ impl StateService {
859858 unreachable ! ( "should return the same Reconsider message could not be sent" ) ;
860859 } ;
861860
862- let _ = rsp_tx. send ( Err (
863- "failed to send reconsider block request to block write task" . into ( ) ,
864- ) ) ;
861+ let _ = rsp_tx. send ( Err ( ReconsiderError :: ReconsiderSendFailed ) ) ;
865862 }
866863
867864 rsp_rx
@@ -1204,11 +1201,11 @@ impl Service<Request> for StateService {
12041201 rsp_rx
12051202 . await
12061203 . map_err ( |_recv_error| {
1207- BoxError :: from ( "reconsider block request was unexpectedly dropped" )
1204+ BoxError :: from ( ReconsiderError :: ReconsiderResponseDropped )
12081205 } )
12091206 // TODO: replace with Result::flatten once it stabilises
12101207 // https://github.com/rust-lang/rust/issues/70142
1211- . and_then ( convert :: identity )
1208+ . and_then ( |res| res . map_err ( BoxError :: from ) )
12121209 . map ( Response :: Reconsidered )
12131210 }
12141211 . instrument ( span)
0 commit comments