mod components_builder; pub mod finalization_handler; pub mod group_data_processor; pub mod group_lifecycle; pub mod reservation_allocators; mod spawn_info_provider;
pub use components_builder::{ComponentsBuilder, DefaultComponentsBuilder};
pub use finalization_handler::{DefaultFinalizationHandler, FinalizationHandler};
pub use group_data_processor::{DefaultGroupDataProcessor, GroupDataProcessor};
pub use group_lifecycle::{DefaultGroupLifecycleManager, GroupLifecycleManager};
pub use reservation_allocators::{DefaultReservationAllocator, ReservationAllocator};
pub use spawn_info_provider::{DefaultSpawnInfoProvider, SpawnInfoProvider};
pub use components_builder::MinGroupCommitSizeParam;
pub trait ManagerComponents: 'static + Sized { type RA: ReservationAllocator;
type GLM: GroupLifecycleManager;
type GDP: GroupDataProcessor;
type FH: FinalizationHandler;
type CB: ComponentsBuilder<Self>;
type SIP: SpawnInfoProvider<Self::CB, Self>;
}
pub struct DefaultManagerComponents;
impl ManagerComponents for DefaultManagerComponents {
type RA = DefaultReservationAllocator;
type GLM = DefaultGroupLifecycleManager;
type GDP = DefaultGroupDataProcessor;
type FH = DefaultFinalizationHandler;
type CB = DefaultComponentsBuilder;
type SIP = DefaultSpawnInfoProvider;
}