Struct ckb_sync::Relayer [−][src]
pub struct Relayer { /* fields omitted */ }Expand description
Relayer protocol handle
Implementations
impl Relayer[src]
impl Relayer[src]pub fn new(
chain: ChainController,
shared: Arc<SyncShared>,
min_fee_rate: FeeRate,
max_tx_verify_cycles: Cycle
) -> Self[src]
pub fn new(
chain: ChainController,
shared: Arc<SyncShared>,
min_fee_rate: FeeRate,
max_tx_verify_cycles: Cycle
) -> Self[src]Init relay protocol handle
This is a runtime relay protocol shared state, and any relay messages will be processed and forwarded by it
min_fee_rate: Default transaction fee unit, can be modified by configuration file max_tx_verify_cycles: Maximum transaction consumption allowed by default, can be modified by configuration file
pub fn shared(&self) -> &Arc<SyncShared>[src]
pub fn shared(&self) -> &Arc<SyncShared>[src]Get shared state
pub fn request_proposal_txs(
&self,
nc: &dyn CKBProtocolContext,
peer: PeerIndex,
block_hash: Byte32,
proposals: Vec<ProposalShortId>
)[src]
pub fn request_proposal_txs(
&self,
nc: &dyn CKBProtocolContext,
peer: PeerIndex,
block_hash: Byte32,
proposals: Vec<ProposalShortId>
)[src]Request the transaction corresponding to the proposal id from the specified node
pub fn accept_block(
&self,
nc: &dyn CKBProtocolContext,
peer: PeerIndex,
block: BlockView
)[src]
pub fn accept_block(
&self,
nc: &dyn CKBProtocolContext,
peer: PeerIndex,
block: BlockView
)[src]Accept a new block from network
pub fn reconstruct_block(
&self,
active_chain: &ActiveChain,
compact_block: &CompactBlock,
received_transactions: Vec<TransactionView>,
uncles_index: &[u32],
received_unlces: &[UncleBlockView]
) -> ReconstructionResult[src]
pub fn reconstruct_block(
&self,
active_chain: &ActiveChain,
compact_block: &CompactBlock,
received_transactions: Vec<TransactionView>,
uncles_index: &[u32],
received_unlces: &[UncleBlockView]
) -> ReconstructionResult[src]Reorganize the full block according to the compact block/txs/uncles
pub fn ask_for_txs(&self, nc: &dyn CKBProtocolContext)[src]
pub fn ask_for_txs(&self, nc: &dyn CKBProtocolContext)[src]Ask for relay transaction by hash from all peers
pub fn send_bulk_of_tx_hashes(&self, nc: &dyn CKBProtocolContext)[src]
pub fn send_bulk_of_tx_hashes(&self, nc: &dyn CKBProtocolContext)[src]Send bulk of tx hashes to selected peers
Trait Implementations
impl CKBProtocolHandler for Relayer[src]
impl CKBProtocolHandler for Relayer[src]fn init(&mut self, nc: Arc<dyn CKBProtocolContext + Sync>)[src]
fn init(&mut self, nc: Arc<dyn CKBProtocolContext + Sync>)[src]Init action on service run
fn received(
&mut self,
nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex,
data: Bytes
)[src]
fn received(
&mut self,
nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex,
data: Bytes
)[src]Called when the corresponding protocol message is received
fn connected(
&mut self,
_nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex,
version: &str
)[src]
fn connected(
&mut self,
_nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex,
version: &str
)[src]Called when opening protocol
fn disconnected(
&mut self,
_nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex
)[src]
fn disconnected(
&mut self,
_nc: Arc<dyn CKBProtocolContext + Sync>,
peer_index: PeerIndex
)[src]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
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for Timpl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
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>,