pub trait ServerTrait: Send + Sync {
// Required method
fn serve_rpc<'life0, 'async_trait, T>(
config: &'life0 T,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
T: AsRef<RpcConfig> + Send + Sync + 'async_trait;
// Provided methods
fn init_database<'life0, 'async_trait, C, M>(
config: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
C: AsRef<StorageConfig> + Send + Sync + 'async_trait,
M: MigratorTrait + 'async_trait { ... }
fn serve_p2p<'life0, 'async_trait, T>(
config: &'life0 T,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
T: AsRef<IrohConfig> + Send + Sync + 'async_trait { ... }
fn serve<'life0, 'async_trait, C, M>(
config: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait,
C: AsRef<IrohConfig> + AsRef<RpcConfig> + AsRef<StorageConfig> + Send + Sync + 'async_trait,
M: MigratorTrait + 'async_trait,
Self: 'async_trait { ... }
}Required Methods§
fn serve_rpc<'life0, 'async_trait, T>( config: &'life0 T, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
Provided Methods§
fn init_database<'life0, 'async_trait, C, M>(
config: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: AsRef<StorageConfig> + Send + Sync + 'async_trait,
M: MigratorTrait + 'async_trait,
fn serve_p2p<'life0, 'async_trait, T>( config: &'life0 T, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
fn serve<'life0, 'async_trait, C, M>(
config: &'life0 C,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
C: AsRef<IrohConfig> + AsRef<RpcConfig> + AsRef<StorageConfig> + Send + Sync + 'async_trait,
M: MigratorTrait + 'async_trait,
Self: 'async_trait,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".