pub trait DynMultiOutputElement: ElementBound {
// Required methods
fn caps_constraint_as_input(&self) -> CapsConstraint<'_>;
fn port_output_caps(&self, port: usize) -> Option<Caps>;
fn configure_pipeline(
&mut self,
absolute_caps: &Caps,
) -> Result<ConfigureOutcome, G2gError>;
fn process<'a>(
&'a mut self,
packet: PipelinePacket,
out: &'a mut dyn MultiOutputSink,
) -> BoxFuture<'a, Result<(), G2gError>>;
fn properties(&self) -> &'static [PropertySpec];
fn set_property(
&mut self,
name: &str,
value: PropValue,
) -> Result<(), PropError>;
fn get_property(&self, name: &str) -> Option<PropValue>;
// Provided methods
fn input_domains(&self) -> DomainSet { ... }
fn set_instance_name(&mut self, _name: String) { ... }
fn set_log_category(&mut self, _category: String) { ... }
}Expand description
Dyn-safe mirror of MultiOutputElement for a fan-out demux node in the DAG
runner, the transpose of DynMultiInputElement. Boxes process’s future
and forwards the Self: Sized constraint methods. Only the methods the
runner uses are mirrored.
Required Methods§
fn caps_constraint_as_input(&self) -> CapsConstraint<'_>
fn port_output_caps(&self, port: usize) -> Option<Caps>
fn configure_pipeline( &mut self, absolute_caps: &Caps, ) -> Result<ConfigureOutcome, G2gError>
fn process<'a>( &'a mut self, packet: PipelinePacket, out: &'a mut dyn MultiOutputSink, ) -> BoxFuture<'a, Result<(), G2gError>>
fn properties(&self) -> &'static [PropertySpec]
fn set_property( &mut self, name: &str, value: PropValue, ) -> Result<(), PropError>
fn get_property(&self, name: &str) -> Option<PropValue>
Provided Methods§
Sourcefn input_domains(&self) -> DomainSet
fn input_domains(&self) -> DomainSet
Dyn-safe mirror of MultiOutputElement::input_domains. Default
DomainSet::ALL.
Sourcefn set_instance_name(&mut self, _name: String)
fn set_instance_name(&mut self, _name: String)
Dyn-safe mirror of MultiOutputElement::set_instance_name, so the
runner can name an erased demux instance for logging.
Sourcefn set_log_category(&mut self, _category: String)
fn set_log_category(&mut self, _category: String)
Dyn-safe mirror of MultiOutputElement::set_log_category.
Trait Implementations§
Source§impl<'b> DynMultiOutputElement for &'b mut (dyn DynMultiOutputElement + 'b)
Forwarding impl so a borrowed &mut dyn DynMultiOutputElement can be boxed
into a Box<dyn DynMultiOutputElement + 'a> graph node (the borrowing-graph
convenience wrappers). Disjoint from the MultiOutputElement blanket above.
impl<'b> DynMultiOutputElement for &'b mut (dyn DynMultiOutputElement + 'b)
Forwarding impl so a borrowed &mut dyn DynMultiOutputElement can be boxed
into a Box<dyn DynMultiOutputElement + 'a> graph node (the borrowing-graph
convenience wrappers). Disjoint from the MultiOutputElement blanket above.
fn caps_constraint_as_input(&self) -> CapsConstraint<'_>
Source§fn input_domains(&self) -> DomainSet
fn input_domains(&self) -> DomainSet
MultiOutputElement::input_domains. Default
DomainSet::ALL.fn port_output_caps(&self, port: usize) -> Option<Caps>
fn configure_pipeline( &mut self, absolute_caps: &Caps, ) -> Result<ConfigureOutcome, G2gError>
fn process<'a>( &'a mut self, packet: PipelinePacket, out: &'a mut dyn MultiOutputSink, ) -> BoxFuture<'a, Result<(), G2gError>>
fn properties(&self) -> &'static [PropertySpec]
fn set_property( &mut self, name: &str, value: PropValue, ) -> Result<(), PropError>
fn get_property(&self, name: &str) -> Option<PropValue>
Source§fn set_instance_name(&mut self, name: String)
fn set_instance_name(&mut self, name: String)
MultiOutputElement::set_instance_name, so the
runner can name an erased demux instance for logging.Source§fn set_log_category(&mut self, category: String)
fn set_log_category(&mut self, category: String)
MultiOutputElement::set_log_category.Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl<'b> DynMultiOutputElement for &'b mut (dyn DynMultiOutputElement + 'b)
Forwarding impl so a borrowed &mut dyn DynMultiOutputElement can be boxed
into a Box<dyn DynMultiOutputElement + 'a> graph node (the borrowing-graph
convenience wrappers). Disjoint from the MultiOutputElement blanket above.