Skip to main content

ProviderHandler

Trait ProviderHandler 

Source
pub trait ProviderHandler:
    Send
    + Sync
    + 'static {
Show 15 methods // Required methods fn capabilities(&self) -> Vec<String>; fn initialize<'life0, 'life1, 'async_trait>( &'life0 self, context: &'life1 RequestContext, application: InitializeApplication, ) -> Pin<Box<dyn Future<Output = RpcResult<Metadata>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn resolve_address<'life0, 'async_trait>( &'life0 self, context: RequestContext, address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<ResolveAddressResult>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; // Provided methods fn get<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<Option<ProvidedSecret>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn get_many<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _params: GetManyParams, ) -> Pin<Box<dyn Future<Output = RpcResult<GetManyResult>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn exists<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn set<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, _value: SecretValue, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn set_expiring<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, _value: SecretValue, _ttl_ms: u64, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn delete<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn clear<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _params: ClearParams, ) -> Pin<Box<dyn Future<Output = RpcResult<usize>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn check_writable<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn check_deletable<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn describe_write_target<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn reflect<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _params: ReflectParams, ) -> Pin<Box<dyn Future<Output = RpcResult<ReflectResult>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn shutdown<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... }
}

Required Methods§

Source

fn capabilities(&self) -> Vec<String>

Supported operation names. provider.resolve_address is mandatory.

Source

fn initialize<'life0, 'life1, 'async_trait>( &'life0 self, context: &'life1 RequestContext, application: InitializeApplication, ) -> Pin<Box<dyn Future<Output = RpcResult<Metadata>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn resolve_address<'life0, 'async_trait>( &'life0 self, context: RequestContext, address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<ResolveAddressResult>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Provided Methods§

Source

fn get<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<Option<ProvidedSecret>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_many<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _params: GetManyParams, ) -> Pin<Box<dyn Future<Output = RpcResult<GetManyResult>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn exists<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<bool>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn set<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, _value: SecretValue, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn set_expiring<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, _value: SecretValue, _ttl_ms: u64, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn delete<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<bool>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn clear<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _params: ClearParams, ) -> Pin<Box<dyn Future<Output = RpcResult<usize>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn check_writable<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn check_deletable<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn describe_write_target<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _address: Address, ) -> Pin<Box<dyn Future<Output = RpcResult<String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn reflect<'life0, 'async_trait>( &'life0 self, _context: RequestContext, _params: ReflectParams, ) -> Pin<Box<dyn Future<Output = RpcResult<ReflectResult>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn shutdown<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = ()> + 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§