Crate zc_buffer

Source

Re-exports§

pub use manager::ManagerActor;
pub use types::FailedGroupData;
pub use types::FailedGroupDataTransmission;
pub use types::FailedReservationInfo;
pub use types::FinalizeResult;
pub use types::SuccessfulGroupData;
pub use manager::ManagerComponents;
pub use manager::components::FinalizationHandler;
pub use manager::components::GroupDataProcessor;
pub use manager::components::GroupLifecycleManager;
pub use manager::components::ReservationAllocator;
pub use manager::components::group_data_processor::ProcessedGroupOutcome;
pub use manager::components::group_data_processor::ProcessingError;
pub use manager::components::group_data_processor::ProcessorTaskError;

Modules§

defaults
定义和导出库的默认组件实现。 这个模块旨在提供一套可以直接使用的标准组件,简化库的基本使用。
manager
定义 ManagerActor 及其核心逻辑。
types
定义库的核心数据结构和类型别名。

Macros§

spawn_manager
一个宏,用于简化 ManagerActor 的启动过程。

Structs§

ChunkAgent
用于执行分块数据提交的代理。 用户多次调用 submit_chunk 添加数据块,最后调用 commit 将所有块发送给 Manager。 如果 Agent 在 commit 成功前被 Drop,它将通知 Manager 预留失败。
SingleAgent
用于执行单次完整数据提交的代理。 用户调用 submit_bytes 方法提交数据。 如果 Agent 在 submit_bytes 成功前被 Drop,它将通知 Manager 预留失败。
SubmitAgent
提交代理(SubmitAgent)是用户通过 ZeroCopyHandle::reserve_writer 成功预留空间后获得的对象。 它代表一个已确认的预留,包含预留 ID、偏移量和大小。 用户必须将此 Agent 转换为 SingleAgentChunkAgent 来实际提交数据, 或者直接 Drop 它以取消预留(这会通知 Manager 预留失败)。
ZeroCopyHandle
ManagerActor 交互的句柄。

Enums§

BufferError
用户与 ZeroCopyHandle 交互时可能遇到的顶层错误类型。
ManagerError
ManagerActor 内部处理逻辑中可能产生的具体错误。

Functions§

_spawn_manager_with_components_token
使用 ZST (Zero-Sized Type) 组件标记来启动 ManagerActor 的辅助函数。