Trait ItemCapabilityProvider
pub trait ItemCapabilityProvider<T>: Send + Syncwhere
T: ?Sized,{
// Required method
fn provide(
&self,
host: &mut dyn ServerHost,
at: &ItemPlace,
) -> Option<Box<T>>;
}Expand description
What answers an item capability for one item: given where the stack lives, its handler, or none to leave it to the next provider. A closure is one.
Required Methods§
fn provide(&self, host: &mut dyn ServerHost, at: &ItemPlace) -> Option<Box<T>>
fn provide(&self, host: &mut dyn ServerHost, at: &ItemPlace) -> Option<Box<T>>
The handler for the stack at at, or none.
Trait Implementations§
§impl Wire for Box<dyn ItemCapabilityProvider<dyn ResourceHandler<ItemResource>>>
impl Wire for Box<dyn ItemCapabilityProvider<dyn ResourceHandler<ItemResource>>>
§fn put_owned(self, out: &mut Writer)
fn put_owned(self, out: &mut Writer)
Consumes owned data when a resource’s ownership must cross the boundary.
§fn take(
input: &mut Reader<'_>,
) -> Result<Box<dyn ItemCapabilityProvider<dyn ResourceHandler<ItemResource>>>, WireError>
fn take( input: &mut Reader<'_>, ) -> Result<Box<dyn ItemCapabilityProvider<dyn ResourceHandler<ItemResource>>>, WireError>
Decodes one value, leaving any following bytes for the caller.
§impl Wire for Box<dyn ItemCapabilityProvider<dyn ResourceHandler<FluidResource>>>
impl Wire for Box<dyn ItemCapabilityProvider<dyn ResourceHandler<FluidResource>>>
§fn put_owned(self, out: &mut Writer)
fn put_owned(self, out: &mut Writer)
Consumes owned data when a resource’s ownership must cross the boundary.
§fn take(
input: &mut Reader<'_>,
) -> Result<Box<dyn ItemCapabilityProvider<dyn ResourceHandler<FluidResource>>>, WireError>
fn take( input: &mut Reader<'_>, ) -> Result<Box<dyn ItemCapabilityProvider<dyn ResourceHandler<FluidResource>>>, WireError>
Decodes one value, leaving any following bytes for the caller.
§impl Wire for Box<dyn ItemCapabilityProvider<dyn EnergyHandler>>
impl Wire for Box<dyn ItemCapabilityProvider<dyn EnergyHandler>>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".