mod filter;
pub(crate) mod net_time_checker;
mod relayer;
mod status;
mod synchronizer;
mod types;
mod utils;
#[cfg(test)]
mod tests;
pub use crate::filter::BlockFilter;
pub use crate::net_time_checker::NetTimeProtocol;
pub use crate::relayer::Relayer;
pub use crate::status::{Status, StatusCode};
pub use crate::synchronizer::Synchronizer;
pub use crate::types::{ActiveChain, SyncShared};
use ckb_constant::sync::MAX_BLOCKS_IN_TRANSIT_PER_PEER;
pub(crate) const TIME_TRACE_SIZE: usize = MAX_BLOCKS_IN_TRANSIT_PER_PEER * 4;
pub(crate) const FAST_INDEX: usize = TIME_TRACE_SIZE / 3;
pub(crate) const NORMAL_INDEX: usize = TIME_TRACE_SIZE * 4 / 5;
pub(crate) const LOW_INDEX: usize = TIME_TRACE_SIZE * 9 / 10;
pub(crate) const LOG_TARGET_RELAY: &str = "ckb_relay";
pub(crate) const LOG_TARGET_FILTER: &str = "ckb_filter";