mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-18 20:32:45 +00:00
Notify lookup sync of gossip processing results (#5722)
* Notify lookup sync of gossip processing results * Add tests * Add GossipBlockProcessResult event * Re-add dropped comments * Update beacon_node/network/src/network_beacon_processor/sync_methods.rs * update test_lookup_disconnection_peer_left
This commit is contained in:
@@ -2,8 +2,8 @@ use crate::sync::block_lookups::single_block_lookup::{
|
||||
LookupRequestError, SingleBlockLookup, SingleLookupRequestState,
|
||||
};
|
||||
use crate::sync::block_lookups::{BlobRequestState, BlockRequestState, PeerId};
|
||||
use crate::sync::manager::{BlockProcessType, Id, SLOT_IMPORT_TOLERANCE};
|
||||
use crate::sync::network_context::SyncNetworkContext;
|
||||
use crate::sync::manager::{Id, SLOT_IMPORT_TOLERANCE};
|
||||
use crate::sync::network_context::{LookupRequestResult, SyncNetworkContext};
|
||||
use beacon_chain::block_verification_types::RpcBlock;
|
||||
use beacon_chain::BeaconChainTypes;
|
||||
use std::sync::Arc;
|
||||
@@ -45,7 +45,7 @@ pub trait RequestState<T: BeaconChainTypes> {
|
||||
peer_id: PeerId,
|
||||
downloaded_block_expected_blobs: Option<usize>,
|
||||
cx: &mut SyncNetworkContext<T>,
|
||||
) -> Result<bool, LookupRequestError>;
|
||||
) -> Result<LookupRequestResult, LookupRequestError>;
|
||||
|
||||
/* Response handling methods */
|
||||
|
||||
@@ -80,7 +80,7 @@ impl<T: BeaconChainTypes> RequestState<T> for BlockRequestState<T::EthSpec> {
|
||||
peer_id: PeerId,
|
||||
_: Option<usize>,
|
||||
cx: &mut SyncNetworkContext<T>,
|
||||
) -> Result<bool, LookupRequestError> {
|
||||
) -> Result<LookupRequestResult, LookupRequestError> {
|
||||
cx.block_lookup_request(id, peer_id, self.requested_block_root)
|
||||
.map_err(LookupRequestError::SendFailed)
|
||||
}
|
||||
@@ -97,10 +97,10 @@ impl<T: BeaconChainTypes> RequestState<T> for BlockRequestState<T::EthSpec> {
|
||||
peer_id: _,
|
||||
} = download_result;
|
||||
cx.send_block_for_processing(
|
||||
id,
|
||||
block_root,
|
||||
RpcBlock::new_without_blobs(Some(block_root), value),
|
||||
seen_timestamp,
|
||||
BlockProcessType::SingleBlock { id },
|
||||
)
|
||||
.map_err(LookupRequestError::SendFailed)
|
||||
}
|
||||
@@ -128,7 +128,7 @@ impl<T: BeaconChainTypes> RequestState<T> for BlobRequestState<T::EthSpec> {
|
||||
peer_id: PeerId,
|
||||
downloaded_block_expected_blobs: Option<usize>,
|
||||
cx: &mut SyncNetworkContext<T>,
|
||||
) -> Result<bool, LookupRequestError> {
|
||||
) -> Result<LookupRequestResult, LookupRequestError> {
|
||||
cx.blob_lookup_request(
|
||||
id,
|
||||
peer_id,
|
||||
@@ -149,13 +149,8 @@ impl<T: BeaconChainTypes> RequestState<T> for BlobRequestState<T::EthSpec> {
|
||||
seen_timestamp,
|
||||
peer_id: _,
|
||||
} = download_result;
|
||||
cx.send_blobs_for_processing(
|
||||
block_root,
|
||||
value,
|
||||
seen_timestamp,
|
||||
BlockProcessType::SingleBlob { id },
|
||||
)
|
||||
.map_err(LookupRequestError::SendFailed)
|
||||
cx.send_blobs_for_processing(id, block_root, value, seen_timestamp)
|
||||
.map_err(LookupRequestError::SendFailed)
|
||||
}
|
||||
|
||||
fn response_type() -> ResponseType {
|
||||
|
||||
Reference in New Issue
Block a user