Trait AssemblyBackend
pub trait AssemblyBackend: Debug {
// Required method
fn assemble(
&self,
plan: &AssemblyPlan,
work: &dyn AssemblyWork,
) -> Result<AssemblyResult, Diagnostic>;
}Description
Backend-neutral indexed assembly execution.
AssemblyWork is Sync so a backend may evaluate independent packets
concurrently. The backend itself is not required to be Sync: a physical
transport adapter may own one application-serialized collective stream.
Concurrent operations use distinct backend instances rather than sharing
one mutable transport context implicitly.
Required Methods§
fn assemble(
&self,
plan: &AssemblyPlan,
work: &dyn AssemblyWork,
) -> Result<AssemblyResult, Diagnostic>
fn assemble( &self, plan: &AssemblyPlan, work: &dyn AssemblyWork, ) -> Result<AssemblyResult, Diagnostic>
Evaluate, scatter, and finalize one complete assembly operation.
§Errors
Returns the lowest failing logical packet diagnostic or a structured plan/scatter/finalization diagnostic. No partial result escapes.