[−][src]Struct dager::node::Aggregator
The Aggregator is put "around" some implementation of Node
. It handles waiting for data, edge assignment
as well as using default data provided by the nodes default()
function if no edge is supplied for some port.
Implementations
impl<I, O> Aggregator<I, O> where
I: IntoIoSignature,
O: IntoIoSignature,
[src]
I: IntoIoSignature,
O: IntoIoSignature,
pub fn from_node<N>(node: N) -> Self where
N: Node<InSig = I, OutSig = O> + Send + 'static,
[src]
N: Node<InSig = I, OutSig = O> + Send + 'static,
Creates this aggregator from some Node
implementing object. Takes ownership of that node. If that is not desired, use the
from_arc()
function.
pub fn from_arc<N>(node: Arc<Mutex<N>>) -> Self where
N: Node<InSig = I, OutSig = O> + Send + 'static,
[src]
N: Node<InSig = I, OutSig = O> + Send + 'static,
Trait Implementations
impl<I, O> AbstAggregator for Aggregator<I, O> where
I: IntoIoSignature,
O: IntoIoSignature,
[src]
I: IntoIoSignature,
O: IntoIoSignature,
pub fn set_in_edge(&mut self, edge: Edge) -> Result<(), DErr>
[src]
pub fn set_out_edge(&mut self, edge: Edge) -> Result<(), DErr>
[src]
pub fn notify_in_remove(&mut self, port_idx: usize) -> Result<Edge, DErr>
[src]
pub fn notify_out_remove(&mut self, port_idx: usize) -> Result<Edge, DErr>
[src]
pub fn set_in_from_edge(
&mut self,
executor: Arc<Executor>,
idx: usize,
value: Box<dyn Any>
) -> Result<(), DErr>
[src]
&mut self,
executor: Arc<Executor>,
idx: usize,
value: Box<dyn Any>
) -> Result<(), DErr>
pub fn set_default_value(
&mut self,
idx: usize,
value: Box<dyn Any>
) -> Result<(), DErr>
[src]
&mut self,
idx: usize,
value: Box<dyn Any>
) -> Result<(), DErr>
pub fn in_type_id(&self, in_port_idx: usize) -> Option<TypeId>
[src]
pub fn out_type_id(&self, out_port_idx: usize) -> Option<TypeId>
[src]
pub fn remove_in_edge(&mut self, port_idx: usize) -> Result<(), DErr>
[src]
pub fn remove_out_edge(&mut self, port_idx: usize) -> Result<(), DErr>
[src]
impl<O> Executable for Aggregator<(), O> where
O: IntoIoSignature,
[src]
O: IntoIoSignature,
Auto Trait Implementations
impl<I, O> RefUnwindSafe for Aggregator<I, O> where
<I as IntoIoSignature>::InSig: RefUnwindSafe,
<O as IntoIoSignature>::OutSig: RefUnwindSafe,
<I as IntoIoSignature>::InSig: RefUnwindSafe,
<O as IntoIoSignature>::OutSig: RefUnwindSafe,
impl<I, O> Send for Aggregator<I, O> where
<I as IntoIoSignature>::InSig: Send,
<O as IntoIoSignature>::OutSig: Send,
<I as IntoIoSignature>::InSig: Send,
<O as IntoIoSignature>::OutSig: Send,
impl<I, O> Sync for Aggregator<I, O> where
<I as IntoIoSignature>::InSig: Sync,
<O as IntoIoSignature>::OutSig: Sync,
<I as IntoIoSignature>::InSig: Sync,
<O as IntoIoSignature>::OutSig: Sync,
impl<I, O> Unpin for Aggregator<I, O> where
<I as IntoIoSignature>::InSig: Unpin,
<O as IntoIoSignature>::OutSig: Unpin,
<I as IntoIoSignature>::InSig: Unpin,
<O as IntoIoSignature>::OutSig: Unpin,
impl<I, O> UnwindSafe for Aggregator<I, O> where
<I as IntoIoSignature>::InSig: UnwindSafe,
<O as IntoIoSignature>::OutSig: UnwindSafe,
<I as IntoIoSignature>::InSig: UnwindSafe,
<O as IntoIoSignature>::OutSig: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,