pub(crate) fn eval_node(&self, id: NodeId) -> Result<(), SchedulerError> {
        let mut circuit = self.inner_mut();
        debug_assert!(id.0 < circuit.nodes.len());

        // Notify loggers while holding a reference to the inner circuit.
        // We normally avoid this, since a nested call from event handler
        // will panic in `self.inner()`, but we do it here as an
        // optimization.
        circuit.log_scheduler_event(&SchedulerEvent::eval_start(circuit.nodes[id.0].as_ref()));

        // Safety: `eval` cannot invoke the
        // `eval` method of another node.  To circumvent
        // this invariant the user would have to extract a
        // reference to a node and pass it to an operator,
        // but this module doesn't expose nodes, only
        // streams.
        unsafe { circuit.nodes[id.0].eval()? };

        circuit.log_scheduler_event(&SchedulerEvent::eval_end(circuit.nodes[id.0].as_ref()));

        Ok(())
    }
/// Evaluate operator with the given id.
///
/// This method should only be used by schedulers.
Evaluate operator with the given id.
This method should only be used by schedulers.
Evaluate operator with the given id . This method should only be used by schedulers .
pub(crate) fn eval_node(&self, id: NodeId) -> Result<(), SchedulerError> {
        let mut circuit = self.inner_mut();
        debug_assert!(id.0 < circuit.nodes.len());
        // Notify loggers while holding a reference to the inner circuit.
        // We normally avoid this, since a nested call from event handler
        // will panic in `self.inner()`, but we do it here as an
        // optimization.
        circuit.log_scheduler_event(&SchedulerEvent::eval_start(circuit.nodes[id.0].as_ref()));
        // Safety: `eval` cannot invoke the
        // `eval` method of another node.  To circumvent
        // this invariant the user would have to extract a
        // reference to a node and pass it to an operator,
        // but this module doesn't expose nodes, only
        // streams.
        unsafe { circuit.nodes[id.0].eval()? };
        circuit.log_scheduler_event(&SchedulerEvent::eval_end(circuit.nodes[id.0].as_ref()));
        Ok(())
    }
pub ( crate ) fn eval_node ( & self , id : NodeId ) -> Result < ( ) , SchedulerError > { let mut circuit = self . inner_mut ( ) ; debug_assert ! ( id 0 circuit nodes len ( ) ) ; // Notify loggers while holding a reference to the inner circuit. // We normally avoid this, since a nested call from event handler // will panic in `self.inner()`, but we do it here as an // optimization. circuit . log_scheduler_event ( & SchedulerEvent :: eval_start ( circuit . nodes [ id . 0 ] . as_ref ( ) ) ) ; // Safety: `eval` cannot invoke the // `eval` method of another node.  To circumvent // this invariant the user would have to extract a // reference to a node and pass it to an operator, // but this module doesn't expose nodes, only // streams. unsafe { circuit . nodes [ id . 0 ] . eval ( ) ? } ; circuit . log_scheduler_event ( & SchedulerEvent :: eval_end ( circuit . nodes [ id . 0 ] . as_ref ( ) ) ) ; Ok ( ( ) ) }
Evaluate operator with the given id.
Evaluate operator with the given id .
&self
id
NodeId