sui_indexer_builder::indexer_builder

Trait IndexerProgressStore

Source
pub trait IndexerProgressStore: Send {
    // Required methods
    fn load_progress<'life0, 'async_trait>(
        &'life0 self,
        task_name: String,
    ) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn save_progress<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 mut self,
        task: &'life1 Task,
        checkpoint_numbers: &'life2 [u64],
    ) -> Pin<Box<dyn Future<Output = Result<Option<u64>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn get_ongoing_tasks<'life0, 'life1, 'async_trait>(
        &'life0 self,
        task_prefix: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<Tasks, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn get_largest_indexed_checkpoint<'life0, 'life1, 'async_trait>(
        &'life0 self,
        prefix: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<Option<u64>, Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn register_task<'life0, 'async_trait>(
        &'life0 mut self,
        task_name: String,
        start_checkpoint: u64,
        target_checkpoint: u64,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn register_live_task<'life0, 'async_trait>(
        &'life0 mut self,
        task_name: String,
        start_checkpoint: u64,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn update_task<'life0, 'async_trait>(
        &'life0 mut self,
        task: Task,
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Methods§

Source

fn load_progress<'life0, 'async_trait>( &'life0 self, task_name: String, ) -> Pin<Box<dyn Future<Output = Result<u64>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn save_progress<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, task: &'life1 Task, checkpoint_numbers: &'life2 [u64], ) -> Pin<Box<dyn Future<Output = Result<Option<u64>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Attempt to save progress. Depending on the ProgressSavingPolicy, the progress may be cached somewhere instead of flushing to persistent storage. Returns saved checkpoint number if any. Caller can use this value as a signal to see if we have reached the target checkpoint.

Source

fn get_ongoing_tasks<'life0, 'life1, 'async_trait>( &'life0 self, task_prefix: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Tasks, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn get_largest_indexed_checkpoint<'life0, 'life1, 'async_trait>( &'life0 self, prefix: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<u64>, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn register_task<'life0, 'async_trait>( &'life0 mut self, task_name: String, start_checkpoint: u64, target_checkpoint: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn register_live_task<'life0, 'async_trait>( &'life0 mut self, task_name: String, start_checkpoint: u64, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn update_task<'life0, 'async_trait>( &'life0 mut self, task: Task, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§