Skip to main content

RegionFollowerClient

Trait RegionFollowerClient 

Source
pub trait RegionFollowerClient:
    Sync
    + Send
    + Debug {
    // Required methods
    fn add_region_follower<'life0, 'life1, 'async_trait>(
        &'life0 self,
        ctx: &'life1 ExecutorContext,
        request: AddRegionFollowerRequest,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn remove_region_follower<'life0, 'life1, 'async_trait>(
        &'life0 self,
        ctx: &'life1 ExecutorContext,
        request: RemoveRegionFollowerRequest,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn add_table_follower<'life0, 'life1, 'async_trait>(
        &'life0 self,
        ctx: &'life1 ExecutorContext,
        request: AddTableFollowerRequest,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn remove_table_follower<'life0, 'life1, 'async_trait>(
        &'life0 self,
        ctx: &'life1 ExecutorContext,
        request: RemoveTableFollowerRequest,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn start<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        urls: &'life1 [&'life2 str],
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn start_with<'life0, 'async_trait>(
        &'life0 self,
        leader_provider: LeaderProviderRef,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

A trait for clients that can manage region followers.

The executor context carries the actor and the event input of the submission, so implementations can forward them to the metasrv and the region follower procedures record who submitted the operation.

Required Methods§

Source

fn add_region_follower<'life0, 'life1, 'async_trait>( &'life0 self, ctx: &'life1 ExecutorContext, request: AddRegionFollowerRequest, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn remove_region_follower<'life0, 'life1, 'async_trait>( &'life0 self, ctx: &'life1 ExecutorContext, request: RemoveRegionFollowerRequest, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn add_table_follower<'life0, 'life1, 'async_trait>( &'life0 self, ctx: &'life1 ExecutorContext, request: AddTableFollowerRequest, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn remove_table_follower<'life0, 'life1, 'async_trait>( &'life0 self, ctx: &'life1 ExecutorContext, request: RemoveTableFollowerRequest, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn start<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, urls: &'life1 [&'life2 str], ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn start_with<'life0, 'async_trait>( &'life0 self, leader_provider: LeaderProviderRef, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§