pub trait IClientModuleInit: IDynCommonModuleInit + Debug + MaybeSend + MaybeSync {
    // Required methods
    fn decoder(&self) -> Decoder;
    fn module_kind(&self) -> ModuleKind;
    fn as_common(&self) -> &(dyn IDynCommonModuleInit + Send + Sync + 'static);
    fn supported_api_versions(&self) -> MultiApiVersion;
    fn init<'life0, 'async_trait>(
        &'life0 self,
        final_client: FinalClient,
        federation_id: FederationId,
        cfg: ClientModuleConfig,
        db: Database,
        instance_id: ModuleInstanceId,
        api_version: ApiVersion,
        module_root_secret: DerivableSecret,
        notifier: Notifier<DynGlobalClientContext>,
        api: DynGlobalApi
    ) -> Pin<Box<dyn Future<Output = Result<DynClientModule>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}

Required Methods§

source

fn decoder(&self) -> Decoder

source

fn module_kind(&self) -> ModuleKind

source

fn as_common(&self) -> &(dyn IDynCommonModuleInit + Send + Sync + 'static)

source

fn supported_api_versions(&self) -> MultiApiVersion

source

fn init<'life0, 'async_trait>( &'life0 self, final_client: FinalClient, federation_id: FederationId, cfg: ClientModuleConfig, db: Database, instance_id: ModuleInstanceId, api_version: ApiVersion, module_root_secret: DerivableSecret, notifier: Notifier<DynGlobalClientContext>, api: DynGlobalApi ) -> Pin<Box<dyn Future<Output = Result<DynClientModule>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Trait Implementations§

source§

impl AsRef<dyn IClientModuleInit> for DynClientModuleInit

source§

fn as_ref(&self) -> &(dyn IClientModuleInit + 'static)

Converts this type into a shared reference of the (usually inferred) input type.

Implementors§

source§

impl<T> IClientModuleInit for T
where T: ClientModuleInit + 'static + MaybeSend + Sync,