pub fn handle_graph_notification(
        &self,
        notification: &Option<controller::graph::executed::Notification>,
    ) {
        use controller::graph::executed::Notification;
        use controller::graph::Notification::*;

        debug!(self.logger, "Received graph notification {notification:?}");
        let result = match notification {
            Some(Notification::Graph(Invalidate)) => self.on_graph_invalidated(),
            Some(Notification::Graph(PortsUpdate)) => self.on_graph_expression_update(),
            Some(Notification::ComputedValueInfo(update)) => self.on_values_computed(update),
            Some(Notification::SteppedOutOfNode(id)) => self.on_node_exited(*id),
            Some(Notification::EnteredNode(local_call)) => self.on_node_entered(local_call),
            None => {
                warning!(
                    self.logger,
                    "Handling `None` notification is not implemented; \
                    performing full invalidation"
                );
                self.refresh_graph_view()
            }
        };
        if let Err(err) = result {
            error!(
                self.logger,
                "Error while updating graph after receiving {notification:?} from \
                controller: {err}"
            );
        }
    }
/// Handle notification received from Graph Controller.
Handle notification received from Graph Controller.
Handle notification received from Graph Controller .
pub fn handle_graph_notification(
        &self,
        notification: &Option<controller::graph::executed::Notification>,
    ) {
        use controller::graph::executed::Notification;
        use controller::graph::Notification::*;
        debug!(self.logger, "Received graph notification {notification:?}");
        let result = match notification {
            Some(Notification::Graph(Invalidate)) => self.on_graph_invalidated(),
            Some(Notification::Graph(PortsUpdate)) => self.on_graph_expression_update(),
            Some(Notification::ComputedValueInfo(update)) => self.on_values_computed(update),
            Some(Notification::SteppedOutOfNode(id)) => self.on_node_exited(*id),
            Some(Notification::EnteredNode(local_call)) => self.on_node_entered(local_call),
            None => {
                warning!(
                    self.logger,
                    "Handling `None` notification is not implemented; \
                    performing full invalidation"
                );
                self.refresh_graph_view()
            }
        };
        if let Err(err) = result {
            error!(
                self.logger,
                "Error while updating graph after receiving {notification:?} from \
                controller: {err}"
            );
        }
    }
pub fn handle_graph_notification ( & self , notification : & Option < controller :: graph :: executed :: Notification > , ) { use controller :: graph :: executed :: Notification ; use controller :: graph :: Notification :: * ; debug ! ( self logger " " ) ; let result = match notification { Some ( Notification :: Graph ( Invalidate ) ) => self . on_graph_invalidated ( ) , Some ( Notification :: Graph ( PortsUpdate ) ) => self . on_graph_expression_update ( ) , Some ( Notification :: ComputedValueInfo ( update ) ) => self . on_values_computed ( update ) , Some ( Notification :: SteppedOutOfNode ( id ) ) => self . on_node_exited ( * id ) , Some ( Notification :: EnteredNode ( local_call ) ) => self . on_node_entered ( local_call ) , None => { warning ! ( self logger " \
 " ) ; self . refresh_graph_view ( ) } } ; if let Err ( err ) = result { error ! ( self logger " \
 " ) ; } }
Handle notification received from Graph Controller.
Handle notification received from Graph Controller .
&self
notification
&Option<controller::graph::executed::Notification>
&self
notification
&Option<controller::graph::executed::Notification>