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 Summary

    Modifier and Type
    Method
    Description
    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.
    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.
  • Method Details

    • 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