Skip to main content

ComponentsBuilder

Trait ComponentsBuilder 

Source
pub trait ComponentsBuilder<C: ManagerComponents>: 'static {
    type BuilderConfig;

    // Required method
    fn build(
        builder_config: &Self::BuilderConfig,
    ) -> (C::RA, C::GLM, C::GDP, C::FH);
}
Expand description

用于构建 ManagerActor 核心组件集合的 Trait。

这个 Trait 定义了一个标准的接口,用于根据给定的配置 (BuilderConfig) 创建一套完整的 Manager 组件实例。 它通过泛型参数 C: ManagerComponents 关联到具体的组件类型集合,确保创建出的组件与 ManagerActor 的期望相符。

通过实现这个 Trait,可以自定义组件的初始化过程,例如注入不同的依赖或使用不同的配置参数。

Required Associated Types§

Source

type BuilderConfig

构建这套组件所需的配置参数类型。 不同的 Builder 可能需要不同的配置信息。

Required Methods§

Source

fn build(builder_config: &Self::BuilderConfig) -> (C::RA, C::GLM, C::GDP, C::FH)

根据提供的配置,构建并返回一套完整的 Manager 组件实例。

返回的元组包含按照 ManagerComponents Trait 定义顺序排列的组件实例: (ReservationAllocator, GroupLifecycleManager, GroupDataProcessor, FinalizationHandler) 这些组件的具体类型由泛型参数 C (实现了 ManagerComponents 的类型) 决定。

§Arguments
  • builder_config - 一个对 BuilderConfig 类型实例的引用,包含构建组件所需的配置。
§Returns

一个包含四个组件实例的元组 (C::RA, C::GLM, C::GDP, C::FH)

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§