pub trait ImportQueue<B>: Sendwhere
    B: Block,{
    // Required methods
    fn service(&self) -> Box<dyn ImportQueueService<B>, Global>;
    fn service_ref(&mut self) -> &mut dyn ImportQueueService<B>;
    fn poll_actions(&mut self, cx: &mut Context<'_>, link: &mut dyn Link<B>);
    fn run<'async_trait>(
        self,
        link: Box<dyn Link<B>, Global>
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait, Global>>
       where Self: 'async_trait;
}

Required Methods§

source

fn service(&self) -> Box<dyn ImportQueueService<B>, Global>

Get a copy of the handle to ImportQueueService.

source

fn service_ref(&mut self) -> &mut dyn ImportQueueService<B>

Get a reference to the handle to ImportQueueService.

source

fn poll_actions(&mut self, cx: &mut Context<'_>, link: &mut dyn Link<B>)

This method should behave in a way similar to Future::poll. It can register the current task and notify later when more actions are ready to be polled. To continue the comparison, it is as if this method always returned Poll::Pending.

source

fn run<'async_trait>( self, link: Box<dyn Link<B>, Global> ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait, Global>>where Self: 'async_trait,

Start asynchronous runner for import queue.

Takes an object implementing Link which allows the import queue to influece the synchronization process.

Implementors§

source§

impl<B> ImportQueue<B> for MockImportQueue<B>where B: Block,

source§

impl<B, Transaction> ImportQueue<B> for BasicQueue<B, Transaction>where B: Block, Transaction: Send,