Struct ckb_sync::Synchronizer
source · [−]pub struct Synchronizer {
pub shared: Arc<SyncShared>,
/* private fields */
}Expand description
Sync protocol handle
Fields
Sync shared state
Implementations
sourceimpl Synchronizer
impl Synchronizer
sourcepub fn new(chain: ChainController, shared: Arc<SyncShared>) -> Synchronizer
pub fn new(chain: ChainController, shared: Arc<SyncShared>) -> Synchronizer
Init sync protocol handle
This is a runtime sync protocol shared state, and any relay messages will be processed and forwarded by it
Get shared state
sourcepub fn process_new_block(&self, block: BlockView) -> Result<bool, CKBError>
pub fn process_new_block(&self, block: BlockView) -> Result<bool, CKBError>
Process a new block sync from other peer
sourcepub fn get_blocks_to_fetch(
&self,
peer: PeerIndex,
ibd: IBDState
) -> Option<Vec<Vec<Byte32>>>
pub fn get_blocks_to_fetch(
&self,
peer: PeerIndex,
ibd: IBDState
) -> Option<Vec<Vec<Byte32>>>
Get blocks to fetch
sourcepub fn eviction(&self, nc: &dyn CKBProtocolContext)
pub fn eviction(&self, nc: &dyn CKBProtocolContext)
Regularly check and eject some nodes that do not respond in time
Trait Implementations
sourceimpl CKBProtocolHandler for Synchronizer
impl CKBProtocolHandler for Synchronizer
sourcefn init(&mut self, nc: Arc<dyn CKBProtocolContext + Sync>)
fn init(&mut self, nc: Arc<dyn CKBProtocolContext + Sync>)
Init action on service run
sourcefn received(
&mut self,
nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex,
data: Bytes
)
fn received(
&mut self,
nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex,
data: Bytes
)
Called when the corresponding protocol message is received
sourcefn connected(
&mut self,
nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex,
_version: &str
)
fn connected(
&mut self,
nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex,
_version: &str
)
Called when opening protocol
sourcefn disconnected(
&mut self,
_nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex
)
fn disconnected(
&mut self,
_nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex
)
Called when closing protocol
sourceimpl Clone for Synchronizer
impl Clone for Synchronizer
sourcefn clone(&self) -> Synchronizer
fn clone(&self) -> Synchronizer
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
Auto Trait Implementations
impl !RefUnwindSafe for Synchronizer
impl Send for Synchronizer
impl Sync for Synchronizer
impl Unpin for Synchronizer
impl !UnwindSafe for Synchronizer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more