pub trait ErasedProcessor: Send + Sync {
// Required methods
fn process<'a>(
&'a self,
context: &'a mut ProcessContext<'_>,
meta: Box<dyn AssetMetaDyn>,
writer: &'a mut (dyn AsyncWrite + Sync + Unpin + Send + 'static),
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn AssetMetaDyn>, ProcessError>> + 'a>>;
fn deserialize_meta(
&self,
meta: &[u8],
) -> Result<Box<dyn AssetMetaDyn>, DeserializeMetaError>;
fn default_meta(&self) -> Box<dyn AssetMetaDyn>;
}
Expand description
A type-erased variant of Process
that enables interacting with processor implementations without knowing
their type.
Required Methods§
Sourcefn process<'a>(
&'a self,
context: &'a mut ProcessContext<'_>,
meta: Box<dyn AssetMetaDyn>,
writer: &'a mut (dyn AsyncWrite + Sync + Unpin + Send + 'static),
) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn AssetMetaDyn>, ProcessError>> + 'a>>
fn process<'a>( &'a self, context: &'a mut ProcessContext<'_>, meta: Box<dyn AssetMetaDyn>, writer: &'a mut (dyn AsyncWrite + Sync + Unpin + Send + 'static), ) -> Pin<Box<dyn ConditionalSendFuture<Output = Result<Box<dyn AssetMetaDyn>, ProcessError>> + 'a>>
Type-erased variant of Process::process
.