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§
Sourcetype BuilderConfig
type BuilderConfig
构建这套组件所需的配置参数类型。 不同的 Builder 可能需要不同的配置信息。
Required Methods§
Sourcefn build(builder_config: &Self::BuilderConfig) -> (C::RA, C::GLM, C::GDP, C::FH)
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".