Skip to main content

client_state_pbo_ops

Function client_state_pbo_ops 

Source
pub unsafe fn client_state_pbo_ops(
    state: EfClientState,
    map_fn: EfPboMapFn,
    unmap_fn: EfPboUnmapFn,
) -> Result<Arc<dyn PboOps>>
Expand description

Build a live PboOps from a client’s EfClientState and its two op functions — the one place the three parts are assembled, whether they arrived through a crate::TensorDesc under [crate::protocol::kind::PBO] or through ef_tensor_wrap_pbo’s arguments.

Takes its own reference on the channel (state.retain) and releases it when the returned Arc’s last clone drops.

§Errors

Error::InvalidArgument for a NULL ctx, retain or release — a silently non-owning attach is exactly the class of quiet loss this design exists to remove.

§Safety

state.ctx must be a genuine context the supplied retain/release understand, and map_fn/unmap_fn must uphold PboOps’s own contract for it.