mod agent; mod error; mod handle;
pub mod defaults; pub mod manager; pub mod types;
use std::num::NonZeroUsize;
use tokio::sync::mpsc;
pub use agent::{ChunkAgent, SingleAgent, SubmitAgent}; pub use error::{BufferError, ManagerError}; pub use handle::ZeroCopyHandle; pub use manager::ManagerActor;
pub use types::{
FailedGroupData, FailedGroupDataTransmission, FailedReservationInfo, FinalizeResult, SuccessfulGroupData, };
pub use manager::ManagerComponents;
pub use manager::components::{
FinalizationHandler, GroupDataProcessor, GroupLifecycleManager, ReservationAllocator, };
pub use manager::components::group_data_processor::{
ProcessedGroupOutcome, ProcessingError, ProcessorTaskError, };
use crate::manager::components::ComponentsBuilder;
pub fn _spawn_manager_with_components_token<MC: ManagerComponents>(
_components_token: MC, channel_buffer_size: NonZeroUsize,
config: &<MC::CB as ComponentsBuilder<MC>>::BuilderConfig,
) -> (
ZeroCopyHandle,
mpsc::Receiver<SuccessfulGroupData>,
mpsc::Receiver<FailedGroupDataTransmission>,
) {
ManagerActor::<MC>::spawn(channel_buffer_size, config)
}