pub struct MempoolAdapterSingleNodeImpl { /* private fields */ }Implementations§
Source§impl MempoolAdapterSingleNodeImpl
impl MempoolAdapterSingleNodeImpl
pub fn new( mempool_node_config: &MempoolNodeConfig, local_peer_id: PeerId, ) -> Result<Self>
Trait Implementations§
Source§impl MempoolAdapter for MempoolAdapterSingleNodeImpl
impl MempoolAdapter for MempoolAdapterSingleNodeImpl
Source§fn handle_mc_state_update<'life0, 'async_trait>(
&'life0 self,
new_cx: Box<StateUpdateContext>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_mc_state_update<'life0, 'async_trait>(
&'life0 self,
new_cx: Box<StateUpdateContext>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Process updates related to master block: Read more
Source§fn handle_signed_mc_block<'life0, 'async_trait>(
&'life0 self,
mc_block_seqno: BlockSeqno,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_signed_mc_block<'life0, 'async_trait>(
&'life0 self,
mc_block_seqno: BlockSeqno,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Process state update reported by collation manager earlier.
Will apply vset and config changes to mempool. Also starts mempool at first call.
Advances mempool pause bound which allows mempool to resume its work.
Mempool should be ready to return mc block
processed_up_to anchor and all next after it.
This method will not clean anchor cache.Source§fn get_anchor_by_id<'life0, 'async_trait>(
&'life0 self,
anchor_id: MempoolAnchorId,
) -> Pin<Box<dyn Future<Output = Result<GetAnchorResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_anchor_by_id<'life0, 'async_trait>(
&'life0 self,
anchor_id: MempoolAnchorId,
) -> Pin<Box<dyn Future<Output = Result<GetAnchorResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Request, await, and return anchor from connected mempool by id.
Return None if the requested anchor does not exist and cannot be synced from other nodes.
Source§fn get_next_anchor<'life0, 'async_trait>(
&'life0 self,
prev_anchor_id: MempoolAnchorId,
) -> Pin<Box<dyn Future<Output = Result<GetAnchorResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_next_anchor<'life0, 'async_trait>(
&'life0 self,
prev_anchor_id: MempoolAnchorId,
) -> Pin<Box<dyn Future<Output = Result<GetAnchorResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Request, await, and return the next anchor after the specified previous one.
If anchor does not exist then await until it be produced or downloaded during sync.
Return None if anchor cannot be produced or synced from other nodes.
Source§fn clear_anchors_cache(&self, before_anchor_id: MempoolAnchorId) -> Result<()>
fn clear_anchors_cache(&self, before_anchor_id: MempoolAnchorId) -> Result<()>
Clean cache from all anchors that before specified.
We can do this for anchors that processed in blocks
which included in signed master - we do not need them anymore
Source§fn accept_external(&self, message: Bytes)
fn accept_external(&self, message: Bytes)
Enqueue external message to be consumed and processed by mempool
Source§fn update_delayed_config<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
consensus_config: Option<&'life1 ConsensusConfig>,
genesis_info: &'life2 GenesisInfo,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_delayed_config<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
consensus_config: Option<&'life1 ConsensusConfig>,
genesis_info: &'life2 GenesisInfo,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Warning: changes from
GlobalConfig may be rewritten by applied mc state
only if applied mc state has greater time and GEQ roundAuto Trait Implementations§
impl !Freeze for MempoolAdapterSingleNodeImpl
impl !RefUnwindSafe for MempoolAdapterSingleNodeImpl
impl Send for MempoolAdapterSingleNodeImpl
impl Sync for MempoolAdapterSingleNodeImpl
impl Unpin for MempoolAdapterSingleNodeImpl
impl UnsafeUnpin for MempoolAdapterSingleNodeImpl
impl !UnwindSafe for MempoolAdapterSingleNodeImpl
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more