pub enum TriToQuadOpIO {
None,
Input0(i32),
Input1(i32),
Input2(i32),
Output0(i32),
Output1(i32),
Output2(i32),
Output3(i32),
}Variants§
Implementations§
Source§impl TriToQuadOpIO
impl TriToQuadOpIO
pub fn active_output_port(&self) -> Option<usize>
Trait Implementations§
Source§impl Clone for TriToQuadOpIO
impl Clone for TriToQuadOpIO
Source§fn clone(&self) -> TriToQuadOpIO
fn clone(&self) -> TriToQuadOpIO
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TriToQuadOpIO
impl Debug for TriToQuadOpIO
Source§impl Default for TriToQuadOpIO
impl Default for TriToQuadOpIO
Source§fn default() -> TriToQuadOpIO
fn default() -> TriToQuadOpIO
Returns the “default value” for a type. Read more
Source§impl Operator<TriToQuadOpIO> for TriToQuadOp
impl Operator<TriToQuadOpIO> for TriToQuadOp
Source§fn output_port_connection_required(&self, port: usize) -> bool
fn output_port_connection_required(&self, port: usize) -> bool
NOTE: typically, we do not require that outputs from any given operator be connected. perhaps this design choice may be changed in the future
Source§fn opcode(&self) -> Arc<dyn OpCode>
fn opcode(&self) -> Arc<dyn OpCode>
Returns the operation code, which can be used to inform
specialized handling or diagnostics.
Source§fn input_count(&self) -> usize
fn input_count(&self) -> usize
How many actual inputs does this operator need?
Source§fn output_count(&self) -> usize
fn output_count(&self) -> usize
How many outputs does this operator produce?
Source§fn input_port_type_str(&self, port: usize) -> Option<&'static str>
fn input_port_type_str(&self, port: usize) -> Option<&'static str>
used by the network! dag compiler to verify that the input port of one operator is
compatible with the data flowing into it from the output port of another operator
Source§fn output_port_type_str(&self, port: usize) -> Option<&'static str>
fn output_port_type_str(&self, port: usize) -> Option<&'static str>
used by the network! dag compiler to verify that the output port of one operator is
compatible with the data required by the input port of its downstream operator
Source§fn input_port_connection_required(&self, port: usize) -> bool
fn input_port_connection_required(&self, port: usize) -> bool
used by the network! dag compiler to verify that this input port needs an output connection
Source§fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
execute_inputs: [Option<&'life1 TriToQuadOpIO>; 4],
execute_outputs: &'life2 mut [Option<TriToQuadOpIO>; 4],
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
TriToQuadOp: 'async_trait,
fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
execute_inputs: [Option<&'life1 TriToQuadOpIO>; 4],
execute_outputs: &'life2 mut [Option<TriToQuadOpIO>; 4],
) -> Pin<Box<dyn Future<Output = Result<(), NetworkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
TriToQuadOp: 'async_trait,
The big 4×4 method:
You receive up to 4 inputs and must fill up to 4 outputs.
Source§impl PartialEq for TriToQuadOpIO
impl PartialEq for TriToQuadOpIO
Source§impl PortTryFrom0<i32> for TriToQuadOpIO
impl PortTryFrom0<i32> for TriToQuadOpIO
type Error = NetworkError
fn port_try_from0( src: i32, ) -> Result<TriToQuadOpIO, <TriToQuadOpIO as PortTryFrom0<i32>>::Error>
Source§impl PortTryFrom1<i32> for TriToQuadOpIO
impl PortTryFrom1<i32> for TriToQuadOpIO
type Error = NetworkError
fn port_try_from1( src: i32, ) -> Result<TriToQuadOpIO, <TriToQuadOpIO as PortTryFrom1<i32>>::Error>
Source§impl PortTryFrom2<i32> for TriToQuadOpIO
impl PortTryFrom2<i32> for TriToQuadOpIO
type Error = NetworkError
fn port_try_from2( src: i32, ) -> Result<TriToQuadOpIO, <TriToQuadOpIO as PortTryFrom2<i32>>::Error>
Source§impl PortTryFrom3<()> for TriToQuadOpIO
impl PortTryFrom3<()> for TriToQuadOpIO
type Error = NetworkError
fn port_try_from3( src: (), ) -> Result<TriToQuadOpIO, <TriToQuadOpIO as PortTryFrom3<()>>::Error>
Source§impl PortTryInto0<i32> for TriToQuadOpIO
impl PortTryInto0<i32> for TriToQuadOpIO
type Error = NetworkError
Source§fn port_try_into0(
self,
) -> Result<i32, <TriToQuadOpIO as PortTryInto0<i32>>::Error>
fn port_try_into0( self, ) -> Result<i32, <TriToQuadOpIO as PortTryInto0<i32>>::Error>
Convert
self into a T, using port as needed.Source§impl<'a> PortTryInto0Any for TriToQuadOpIOwhere
TriToQuadOpIO: 'a,
impl<'a> PortTryInto0Any for TriToQuadOpIOwhere
TriToQuadOpIO: 'a,
type Error = NetworkError
fn port_try_into0_any( self, ) -> Result<Erased, <TriToQuadOpIO as PortTryInto0Any>::Error>
Source§impl PortTryInto1<i32> for TriToQuadOpIO
impl PortTryInto1<i32> for TriToQuadOpIO
type Error = NetworkError
Source§fn port_try_into1(
self,
) -> Result<i32, <TriToQuadOpIO as PortTryInto1<i32>>::Error>
fn port_try_into1( self, ) -> Result<i32, <TriToQuadOpIO as PortTryInto1<i32>>::Error>
Convert
self into a T, using port as needed.Source§impl<'a> PortTryInto1Any for TriToQuadOpIOwhere
TriToQuadOpIO: 'a,
impl<'a> PortTryInto1Any for TriToQuadOpIOwhere
TriToQuadOpIO: 'a,
type Error = NetworkError
fn port_try_into1_any( self, ) -> Result<Erased, <TriToQuadOpIO as PortTryInto1Any>::Error>
Source§impl PortTryInto2<i32> for TriToQuadOpIO
impl PortTryInto2<i32> for TriToQuadOpIO
type Error = NetworkError
Source§fn port_try_into2(
self,
) -> Result<i32, <TriToQuadOpIO as PortTryInto2<i32>>::Error>
fn port_try_into2( self, ) -> Result<i32, <TriToQuadOpIO as PortTryInto2<i32>>::Error>
Convert
self into a T, using port as needed.Source§impl<'a> PortTryInto2Any for TriToQuadOpIOwhere
TriToQuadOpIO: 'a,
impl<'a> PortTryInto2Any for TriToQuadOpIOwhere
TriToQuadOpIO: 'a,
type Error = NetworkError
fn port_try_into2_any( self, ) -> Result<Erased, <TriToQuadOpIO as PortTryInto2Any>::Error>
Source§impl PortTryInto3<i32> for TriToQuadOpIO
impl PortTryInto3<i32> for TriToQuadOpIO
type Error = NetworkError
Source§fn port_try_into3(
self,
) -> Result<i32, <TriToQuadOpIO as PortTryInto3<i32>>::Error>
fn port_try_into3( self, ) -> Result<i32, <TriToQuadOpIO as PortTryInto3<i32>>::Error>
Convert
self into a T, using port as needed.Source§impl<'a> PortTryInto3Any for TriToQuadOpIOwhere
TriToQuadOpIO: 'a,
impl<'a> PortTryInto3Any for TriToQuadOpIOwhere
TriToQuadOpIO: 'a,
type Error = NetworkError
fn port_try_into3_any( self, ) -> Result<Erased, <TriToQuadOpIO as PortTryInto3Any>::Error>
impl Eq for TriToQuadOpIO
impl StructuralPartialEq for TriToQuadOpIO
Auto Trait Implementations§
impl Freeze for TriToQuadOpIO
impl RefUnwindSafe for TriToQuadOpIO
impl Send for TriToQuadOpIO
impl Sync for TriToQuadOpIO
impl Unpin for TriToQuadOpIO
impl UnwindSafe for TriToQuadOpIO
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more