chore: relax ProviderFactory setup (#13254)

This commit is contained in:
Arsenii Kulikov
2024-12-10 04:17:34 +04:00
committed by GitHub
parent 386e4b3ebd
commit 980e62a5b8
13 changed files with 61 additions and 85 deletions

View File

@ -4,24 +4,23 @@ use reth_network_p2p::{
bodies::{downloader::BodyDownloader, response::BlockResponse},
error::{DownloadError, DownloadResult},
};
use reth_primitives::BlockBody;
use std::ops::RangeInclusive;
use std::{fmt::Debug, ops::RangeInclusive};
/// A [`BodyDownloader`] implementation that does nothing.
#[derive(Debug, Default)]
#[non_exhaustive]
pub struct NoopBodiesDownloader;
pub struct NoopBodiesDownloader<B>(std::marker::PhantomData<B>);
impl BodyDownloader for NoopBodiesDownloader {
type Body = BlockBody;
impl<B: Debug + Send + Sync + Unpin + 'static> BodyDownloader for NoopBodiesDownloader<B> {
type Body = B;
fn set_download_range(&mut self, _: RangeInclusive<BlockNumber>) -> DownloadResult<()> {
Ok(())
}
}
impl Stream for NoopBodiesDownloader {
type Item = Result<Vec<BlockResponse<alloy_consensus::Header, BlockBody>>, DownloadError>;
impl<B> Stream for NoopBodiesDownloader<B> {
type Item = Result<Vec<BlockResponse<alloy_consensus::Header, B>>, DownloadError>;
fn poll_next(
self: std::pin::Pin<&mut Self>,

View File

@ -1,28 +1,28 @@
use alloy_consensus::Header;
use futures::Stream;
use reth_network_p2p::headers::{
downloader::{HeaderDownloader, SyncTarget},
error::HeadersDownloaderError,
};
use reth_primitives::SealedHeader;
use std::fmt::Debug;
/// A [`HeaderDownloader`] implementation that does nothing.
#[derive(Debug, Default)]
#[non_exhaustive]
pub struct NoopHeaderDownloader;
pub struct NoopHeaderDownloader<H>(std::marker::PhantomData<H>);
impl HeaderDownloader for NoopHeaderDownloader {
type Header = Header;
impl<H: Debug + Send + Sync + Unpin + 'static> HeaderDownloader for NoopHeaderDownloader<H> {
type Header = H;
fn update_local_head(&mut self, _: SealedHeader) {}
fn update_local_head(&mut self, _: SealedHeader<H>) {}
fn update_sync_target(&mut self, _: SyncTarget) {}
fn set_batch_size(&mut self, _: usize) {}
}
impl Stream for NoopHeaderDownloader {
type Item = Result<Vec<SealedHeader>, HeadersDownloaderError<Header>>;
impl<H> Stream for NoopHeaderDownloader<H> {
type Item = Result<Vec<SealedHeader<H>>, HeadersDownloaderError<H>>;
fn poll_next(
self: std::pin::Pin<&mut Self>,