pub struct Relayer { /* private fields */ }Expand description
Relayer protocol handle
Implementations
sourceimpl Relayer
impl Relayer
sourcepub fn new(chain: ChainController, shared: Arc<SyncShared>) -> Self
pub fn new(chain: ChainController, shared: Arc<SyncShared>) -> Self
Init relay protocol handle
This is a runtime relay protocol shared state, and any relay messages will be processed and forwarded by it
Get shared state
sourcepub fn request_proposal_txs(
&self,
nc: &dyn CKBProtocolContext,
peer: PeerIndex,
block_hash_and_number: BlockNumberAndHash,
proposals: Vec<ProposalShortId>
)
pub fn request_proposal_txs(
&self,
nc: &dyn CKBProtocolContext,
peer: PeerIndex,
block_hash_and_number: BlockNumberAndHash,
proposals: Vec<ProposalShortId>
)
Request the transaction corresponding to the proposal id from the specified node
sourcepub fn accept_block(
&self,
nc: &dyn CKBProtocolContext,
peer: PeerIndex,
block: BlockView
)
pub fn accept_block(
&self,
nc: &dyn CKBProtocolContext,
peer: PeerIndex,
block: BlockView
)
Accept a new block from network
sourcepub fn reconstruct_block(
&self,
active_chain: &ActiveChain,
compact_block: &CompactBlock,
received_transactions: Vec<TransactionView>,
uncles_index: &[u32],
received_uncles: &[UncleBlockView]
) -> ReconstructionResult
pub fn reconstruct_block(
&self,
active_chain: &ActiveChain,
compact_block: &CompactBlock,
received_transactions: Vec<TransactionView>,
uncles_index: &[u32],
received_uncles: &[UncleBlockView]
) -> ReconstructionResult
Reorganize the full block according to the compact block/txs/uncles
sourcepub fn ask_for_txs(&self, nc: &dyn CKBProtocolContext)
pub fn ask_for_txs(&self, nc: &dyn CKBProtocolContext)
Ask for relay transaction by hash from all peers
sourcepub fn send_bulk_of_tx_hashes(&self, nc: &dyn CKBProtocolContext)
pub fn send_bulk_of_tx_hashes(&self, nc: &dyn CKBProtocolContext)
Send bulk of tx hashes to selected peers
Trait Implementations
sourceimpl CKBProtocolHandler for Relayer
impl CKBProtocolHandler for Relayer
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
Auto Trait Implementations
impl !RefUnwindSafe for Relayer
impl Send for Relayer
impl Sync for Relayer
impl Unpin for Relayer
impl !UnwindSafe for Relayer
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