pub struct ExecutionReportTask<T> {
pub collection: Pin<Box<dyn Future<Output = ()> + Send>>,
pub finish: Box<dyn FnOnce() -> Result<T>>,
}Expand description
Owned report collection with a core-thread continuation.
Only collection runs on a worker. After the worker terminates, finish uses the caller’s
core state to complete reports without moving the live client or cache.
Fields§
§collection: Pin<Box<dyn Future<Output = ()> + Send>>Worker-safe collection, including decoding and report construction.
finish: Box<dyn FnOnce() -> Result<T>>Synchronous core-thread finalization after the collection worker is joined.
Implementations§
Source§impl<T: 'static> ExecutionReportTask<T>
impl<T: 'static> ExecutionReportTask<T>
Sourcepub fn new<C, F, M>(collection: F, finish: M) -> Self
pub fn new<C, F, M>(collection: F, finish: M) -> Self
Creates an owned collection and a synchronous core-thread continuation.
The collection must not access the live cache. Neither phase may apply execution events. The continuation runs only after the worker terminates; canceled collections never run it.
Finalization propagates collection errors without calling the continuation. It also returns an error if collection is unfinished or stopped without a result.