Interface ConnectedGraphTrigger

  • All Known Implementing Classes:
    PathManagerProvider

    public interface ConnectedGraphTrigger
    Connected Graph Trigger class aims to trigger action when major modification(s) takes place on a Vertex or a Edge. Once trigger registered (see ConnectedGraph interface), the verify() method is called in order to determine if some corrections should be executed.

    verifyVertex() and verifyEdge() method must be provided by the class which registered the trigger. These methods take as argument the global list of triggers registered for Vertices or Edges.

    This class allows to implement close loop against modification on the Connected Graph e.g. Segment Routing SIDs change on a Vertex which imposes to adjust SR path description that belongs to this Vertex or Delay modification that goes upper a certain threshold that imposes to re-compute the constrained Path.

    Author:
    Olivier Dugeon
    • Method Detail

      • verifyVertex

        void verifyVertex​(Collection<ConnectedVertexTrigger> triggers,
                          @Nullable ConnectedVertex next,
                          @Nullable Vertex current)
        This method verifies the next Vertex attributes against the current one to determine if is necessary to launch correction which are left at the discretion of the class which implements this method.

        If current Vertex is null, this means that the Connected Vertex will be added in the Connected Graph. If next Connected Vertex is null, this means that the Connected Vertex will be deleted from the Connected Graph. Otherwise, this is an update of Vertex attributes.

        Parameters:
        next - Next Connected Vertex to be installed in the Connected Graph
        current - Current Vertex installed in the Connected Graph
      • verifyEdge

        void verifyEdge​(Collection<ConnectedEdgeTrigger> triggers,
                        @Nullable ConnectedEdge next,
                        @Nullable Edge current)
        This method verifies the next Edge attributes against the current one to determine if is necessary to launch correction which are left at the discretion of the class which implements this method.

        If current Edge is null, this means that the Connected Edge will be added in the Connected Graph. If next Connected Edge is null, this means that the Edge will be deleted from the Connected Graph. Otherwise, this is an update of Edge attributes.

        Parameters:
        next - Next Edge to be installed in the Connected Graph
        current - Current Edge installed in the Connected Graph