diff --git a/bin/akula-ddl.rs b/bin/akula-ddl.rs index d999153..47d5fb9 100644 --- a/bin/akula-ddl.rs +++ b/bin/akula-ddl.rs @@ -1,4 +1,7 @@ -use akula::downloader::{chain_config, opts::Opts, Downloader}; +use akula::{ + downloader::{opts::Opts, Downloader}, + sentry::chain_config, +}; use akula::kv; use std::sync::Arc; diff --git a/src/downloader/downloader_impl.rs b/src/downloader/downloader_impl.rs index b3dd034..32ffd73 100644 --- a/src/downloader/downloader_impl.rs +++ b/src/downloader/downloader_impl.rs @@ -1,6 +1,5 @@ use crate::{ downloader::{ - chain_config::{ChainConfig, ChainsConfig}, headers::{ fetch_receive_stage::FetchReceiveStage, fetch_request_stage::FetchRequestStage, header_slices, header_slices::HeaderSlices, @@ -9,13 +8,16 @@ use crate::{ HeaderSlicesView, }, opts::Opts, + }, + kv, + models::BlockNumber, + sentry::{ + chain_config::{ChainConfig, ChainsConfig}, sentry_client, sentry_client::SentryClient, sentry_client_connector, sentry_client_reactor::SentryClientReactor, }, - kv, - models::BlockNumber, }; use futures_core::Stream; use parking_lot::RwLock; diff --git a/src/downloader/downloader_tests.rs b/src/downloader/downloader_tests.rs index 14326c5..2246144 100644 --- a/src/downloader/downloader_tests.rs +++ b/src/downloader/downloader_tests.rs @@ -1,6 +1,7 @@ use crate::{ - downloader::{chain_config, opts::Opts, sentry_client_mock::SentryClientMock, Downloader}, + downloader::{opts::Opts, Downloader}, kv, new_mem_database, + sentry::{chain_config, sentry_client_mock::SentryClientMock}, }; use std::sync::Arc; diff --git a/src/downloader/headers/fetch_receive_stage.rs b/src/downloader/headers/fetch_receive_stage.rs index 5aecca0..b656102 100644 --- a/src/downloader/headers/fetch_receive_stage.rs +++ b/src/downloader/headers/fetch_receive_stage.rs @@ -1,13 +1,13 @@ use crate::{ - downloader::{ - headers::{ - header_slices, - header_slices::{HeaderSlice, HeaderSliceStatus, HeaderSlices}, - }, + downloader::headers::{ + header_slices, + header_slices::{HeaderSlice, HeaderSliceStatus, HeaderSlices}, + }, + models::{BlockHeader as Header, BlockNumber}, + sentry::{ messages::{BlockHeadersMessage, EthMessageId, Message}, sentry_client_reactor::SentryClientReactor, }, - models::{BlockHeader as Header, BlockNumber}, }; use futures_core::Stream; use parking_lot::RwLock; diff --git a/src/downloader/headers/fetch_request_stage.rs b/src/downloader/headers/fetch_request_stage.rs index 76618c8..a1deb6d 100644 --- a/src/downloader/headers/fetch_request_stage.rs +++ b/src/downloader/headers/fetch_request_stage.rs @@ -1,16 +1,16 @@ use crate::{ - downloader::{ + downloader::headers::{ + header_slice_status_watch::HeaderSliceStatusWatch, + header_slices, + header_slices::{HeaderSliceStatus, HeaderSlices}, + }, + models::BlockNumber, + sentry::{ block_id, - headers::{ - header_slice_status_watch::HeaderSliceStatusWatch, - header_slices, - header_slices::{HeaderSliceStatus, HeaderSlices}, - }, messages::{GetBlockHeadersMessage, GetBlockHeadersMessageParams, Message}, sentry_client::PeerFilter, sentry_client_reactor::{SendMessageError, SentryClientReactor}, }, - models::BlockNumber, }; use parking_lot::{RwLock, RwLockUpgradableReadGuard}; use std::{ diff --git a/src/downloader/mod.rs b/src/downloader/mod.rs index 8347b6b..69c2fe8 100644 --- a/src/downloader/mod.rs +++ b/src/downloader/mod.rs @@ -1,20 +1,9 @@ -pub mod block_id; -pub mod chain_config; -pub mod chain_id; mod downloader_impl; -mod message_decoder; -pub mod messages; +mod headers; pub mod opts; -pub mod sentry_address; -pub mod sentry_client; -mod sentry_client_connector; -pub mod sentry_client_impl; -mod sentry_client_mock; #[cfg(test)] mod downloader_tests; -mod headers; -mod sentry_client_reactor; mod ui_system; mod ui_view; diff --git a/src/downloader/opts.rs b/src/downloader/opts.rs index 7b12822..d1275c1 100644 --- a/src/downloader/opts.rs +++ b/src/downloader/opts.rs @@ -1,4 +1,4 @@ -use crate::downloader::sentry_address::SentryAddress; +use crate::sentry::sentry_address::SentryAddress; use anyhow::anyhow; use directories::ProjectDirs; use std::str::FromStr; diff --git a/src/lib.rs b/src/lib.rs index 4deb6c9..600d738 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,6 +30,7 @@ pub mod execution; pub mod kv; pub mod models; pub mod res; +pub mod sentry; pub mod stagedsync; pub mod stages; mod state; diff --git a/src/downloader/block_id.rs b/src/sentry/block_id.rs similarity index 100% rename from src/downloader/block_id.rs rename to src/sentry/block_id.rs diff --git a/src/downloader/chain_config.rs b/src/sentry/chain_config.rs similarity index 100% rename from src/downloader/chain_config.rs rename to src/sentry/chain_config.rs diff --git a/src/downloader/chain_config.toml b/src/sentry/chain_config.toml similarity index 100% rename from src/downloader/chain_config.toml rename to src/sentry/chain_config.toml diff --git a/src/downloader/chain_id.rs b/src/sentry/chain_id.rs similarity index 100% rename from src/downloader/chain_id.rs rename to src/sentry/chain_id.rs diff --git a/src/downloader/message_decoder.rs b/src/sentry/message_decoder.rs similarity index 98% rename from src/downloader/message_decoder.rs rename to src/sentry/message_decoder.rs index 333afff..ca50c48 100644 --- a/src/downloader/message_decoder.rs +++ b/src/sentry/message_decoder.rs @@ -1,4 +1,4 @@ -use crate::downloader::messages::*; +use super::messages::*; pub fn decode_rlp_message(id: EthMessageId, message_bytes: &[u8]) -> anyhow::Result { let message: Message = match id { @@ -34,7 +34,7 @@ impl rlp::Encodable for Message { #[cfg(test)] mod tests { - use crate::downloader::{ + use super::super::{ block_id::BlockId, message_decoder::decode_rlp_message, messages::{ diff --git a/src/downloader/messages.rs b/src/sentry/messages.rs similarity index 95% rename from src/downloader/messages.rs rename to src/sentry/messages.rs index 23e57bc..2e51fa3 100644 --- a/src/downloader/messages.rs +++ b/src/sentry/messages.rs @@ -1,7 +1,5 @@ -use crate::{ - downloader::block_id::BlockId, - models::{Block as BlockType, BlockHeader as HeaderType}, -}; +use super::block_id::BlockId; +use crate::models::{Block as BlockType, BlockHeader as HeaderType}; use ethereum_types::H256; use rlp_derive::*; diff --git a/src/sentry/mod.rs b/src/sentry/mod.rs new file mode 100644 index 0000000..660592b --- /dev/null +++ b/src/sentry/mod.rs @@ -0,0 +1,11 @@ +pub mod block_id; +pub mod chain_config; +pub mod chain_id; +mod message_decoder; +pub mod messages; +pub mod sentry_address; +pub mod sentry_client; +pub mod sentry_client_connector; +pub mod sentry_client_impl; +pub mod sentry_client_mock; +pub mod sentry_client_reactor; diff --git a/src/downloader/sentry_address.rs b/src/sentry/sentry_address.rs similarity index 100% rename from src/downloader/sentry_address.rs rename to src/sentry/sentry_address.rs diff --git a/src/downloader/sentry_client.rs b/src/sentry/sentry_client.rs similarity index 98% rename from src/downloader/sentry_client.rs rename to src/sentry/sentry_client.rs index 5aad141..12ec24f 100644 --- a/src/downloader/sentry_client.rs +++ b/src/sentry/sentry_client.rs @@ -1,4 +1,4 @@ -use crate::downloader::{ +use super::{ chain_config::ChainConfig, messages::{EthMessageId, Message}, }; diff --git a/src/downloader/sentry_client_connector.rs b/src/sentry/sentry_client_connector.rs similarity index 98% rename from src/downloader/sentry_client_connector.rs rename to src/sentry/sentry_client_connector.rs index 8209535..6592f5d 100644 --- a/src/downloader/sentry_client_connector.rs +++ b/src/sentry/sentry_client_connector.rs @@ -1,4 +1,4 @@ -use crate::downloader::{ +use super::{ sentry_address::SentryAddress, sentry_client::SentryClient, sentry_client_impl::SentryClientImpl, }; diff --git a/src/downloader/sentry_client_impl.rs b/src/sentry/sentry_client_impl.rs similarity index 98% rename from src/downloader/sentry_client_impl.rs rename to src/sentry/sentry_client_impl.rs index dc03923..d37e363 100644 --- a/src/downloader/sentry_client_impl.rs +++ b/src/sentry/sentry_client_impl.rs @@ -1,6 +1,4 @@ -use crate::downloader::{ - message_decoder, messages::*, sentry_address::SentryAddress, sentry_client::*, -}; +use super::{message_decoder, messages::*, sentry_address::SentryAddress, sentry_client::*}; use async_trait::async_trait; use ethereum_interfaces::{sentry as grpc_sentry, types as grpc_types}; use futures_core::Stream; diff --git a/src/downloader/sentry_client_mock.rs b/src/sentry/sentry_client_mock.rs similarity index 94% rename from src/downloader/sentry_client_mock.rs rename to src/sentry/sentry_client_mock.rs index 691e34b..ccb08b2 100644 --- a/src/downloader/sentry_client_mock.rs +++ b/src/sentry/sentry_client_mock.rs @@ -1,4 +1,4 @@ -use crate::downloader::{ +use super::{ messages::{EthMessageId, Message}, sentry_client::{MessageFromPeer, MessageFromPeerStream, PeerFilter, SentryClient, Status}, }; @@ -64,3 +64,9 @@ impl SentryClient for SentryClientMock { } } } + +impl Default for SentryClientMock { + fn default() -> Self { + Self::new() + } +} diff --git a/src/downloader/sentry_client_reactor.rs b/src/sentry/sentry_client_reactor.rs similarity index 99% rename from src/downloader/sentry_client_reactor.rs rename to src/sentry/sentry_client_reactor.rs index 970deb5..dee701a 100644 --- a/src/downloader/sentry_client_reactor.rs +++ b/src/sentry/sentry_client_reactor.rs @@ -1,4 +1,4 @@ -use crate::downloader::{ +use super::{ messages::{EthMessageId, Message}, sentry_client::*, sentry_client_connector, @@ -242,7 +242,7 @@ impl Drop for EventLoopReceiveMessagesSendersDropper { } mod stream_factory { - use crate::downloader::{sentry_client::MessageFromPeerStream, sentry_client_reactor::*}; + use super::super::{sentry_client::MessageFromPeerStream, sentry_client_reactor::*}; use tokio::sync::Mutex; fn make_receive_stream(