Package org.opendaylight.graph.impl
Class ConnectedEdgeImpl
- java.lang.Object
-
- org.opendaylight.graph.impl.ConnectedEdgeImpl
-
- All Implemented Interfaces:
ConnectedEdge
public class ConnectedEdgeImpl extends Object implements ConnectedEdge
This Class implements the Connected Edge used by the Connected Graph for path computation algorithms.- Author:
- Olivier Dugeon, Philippe Niger
-
-
Constructor Summary
Constructors Constructor Description ConnectedEdgeImpl(@NonNull Long key)
ConnectedEdgeImpl(@NonNull Edge edge)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBandwidth(Long bw, int cos)
Add the given Bandwidth for the given Class of Service (CoS) to the associated Edge of this Connected Edge.void
delBandwidth(Long bw, int cos)
Remove the given Bandwidth for the given Class of Service (CoS) to the associated Edge of this Connected Edge.void
disconnect()
Disconnect both source and destination Connected Vertices.void
disconnectDestination()
Disconnect destination Connected Vertex.void
disconnectSource()
Disconnect source Connected Vertex.Long
getCosResvBandwidth(int cos)
Returns the total amount of Bandwidth consumes by all Constrained Paths that belong to the Edge associated to this Connected Edge for the given Class of Service (CoS).ConnectedVertex
getDestination()
Returns the destination Connected Vertex from the Connected Graph associated to this Connected Edge.Edge
getEdge()
Returns the Edge from the Graph associated to this connection.Long
getGlobalResvBandwidth()
Returns the total amount of Bandwidth consumes by all Constrained Paths that belong to the Edge associated to this Connected Edge for all Class of Service.@NonNull Long
getKey()
Returns unique key associated to this Connected Edge.ConnectedVertex
getSource()
Returns the source Connected Vertex from the Connected Graph associated to this Connected Edge.List<ConnectedEdgeTrigger>
getTriggers()
boolean
registerTrigger(ConnectedEdgeTrigger trigger, String key)
Register a trigger that is executed when a problem occurs on the Connected Edge.ConnectedEdgeImpl
setDestination(ConnectedVertexImpl vertex)
Set Connected Vertex as destination.ConnectedEdgeImpl
setEdge(Edge edge)
Set associated Edge to this Connected Edge.ConnectedEdgeImpl
setSource(ConnectedVertexImpl vertex)
Set Connected Vertex as source.String
toString()
Returns the name of the associated Edge if set or the interface address otherwise.boolean
unRegisterTrigger(ConnectedEdgeTrigger trigger, String key)
Un-register a trigger that is already registered on the Connected Edge.
-
-
-
Method Detail
-
setSource
public ConnectedEdgeImpl setSource(ConnectedVertexImpl vertex)
Set Connected Vertex as source.- Parameters:
vertex
- Vertex
-
setDestination
public ConnectedEdgeImpl setDestination(ConnectedVertexImpl vertex)
Set Connected Vertex as destination.- Parameters:
vertex
- Vertex
-
disconnectSource
public void disconnectSource()
Disconnect source Connected Vertex.
-
disconnectDestination
public void disconnectDestination()
Disconnect destination Connected Vertex.
-
disconnect
public void disconnect()
Disconnect both source and destination Connected Vertices.
-
setEdge
public ConnectedEdgeImpl setEdge(Edge edge)
Set associated Edge to this Connected Edge.- Parameters:
edge
- Edge
-
getKey
public @NonNull Long getKey()
Description copied from interface:ConnectedEdge
Returns unique key associated to this Connected Edge.- Specified by:
getKey
in interfaceConnectedEdge
- Returns:
- Edge Key
-
getSource
public ConnectedVertex getSource()
Description copied from interface:ConnectedEdge
Returns the source Connected Vertex from the Connected Graph associated to this Connected Edge.- Specified by:
getSource
in interfaceConnectedEdge
- Returns:
- Source Connected Vertex
-
getDestination
public ConnectedVertex getDestination()
Description copied from interface:ConnectedEdge
Returns the destination Connected Vertex from the Connected Graph associated to this Connected Edge.- Specified by:
getDestination
in interfaceConnectedEdge
- Returns:
- Destination Connected Vertex
-
getEdge
public Edge getEdge()
Description copied from interface:ConnectedEdge
Returns the Edge from the Graph associated to this connection.- Specified by:
getEdge
in interfaceConnectedEdge
- Returns:
- Edge associated to this connection
-
getGlobalResvBandwidth
public Long getGlobalResvBandwidth()
Description copied from interface:ConnectedEdge
Returns the total amount of Bandwidth consumes by all Constrained Paths that belong to the Edge associated to this Connected Edge for all Class of Service.- Specified by:
getGlobalResvBandwidth
in interfaceConnectedEdge
- Returns:
- Global Reserved Bandwidth
-
getCosResvBandwidth
public Long getCosResvBandwidth(int cos)
Description copied from interface:ConnectedEdge
Returns the total amount of Bandwidth consumes by all Constrained Paths that belong to the Edge associated to this Connected Edge for the given Class of Service (CoS).- Specified by:
getCosResvBandwidth
in interfaceConnectedEdge
- Parameters:
cos
- Class of Service- Returns:
- Reserved Bandwidth per CoS
-
addBandwidth
public void addBandwidth(Long bw, int cos)
Description copied from interface:ConnectedEdge
Add the given Bandwidth for the given Class of Service (CoS) to the associated Edge of this Connected Edge. This method increments by the Bandwidth value the GlobalResvBandwidth and the ReservedBandwidth[cos] attributes.- Specified by:
addBandwidth
in interfaceConnectedEdge
- Parameters:
bw
- Bandwidth consumed by the TE Pathcos
- Class of Service of the TE Path
-
delBandwidth
public void delBandwidth(Long bw, int cos)
Description copied from interface:ConnectedEdge
Remove the given Bandwidth for the given Class of Service (CoS) to the associated Edge of this Connected Edge. This method decrements by the Bandwidth value the GlobalResvBandwidth and the ReservedBandwidth[cos] attributes.- Specified by:
delBandwidth
in interfaceConnectedEdge
- Parameters:
bw
- Bandwidth consumed by the TE Pathcos
- Class of Service of the TE Path
-
registerTrigger
public boolean registerTrigger(ConnectedEdgeTrigger trigger, String key)
Description copied from interface:ConnectedEdge
Register a trigger that is executed when a problem occurs on the Connected Edge.- Specified by:
registerTrigger
in interfaceConnectedEdge
- Parameters:
trigger
- Trigger to be registeredkey
- A unique key as string e.g. NodeId+LspId- Returns:
- True if registration is done, false otherwise
-
unRegisterTrigger
public boolean unRegisterTrigger(ConnectedEdgeTrigger trigger, String key)
Description copied from interface:ConnectedEdge
Un-register a trigger that is already registered on the Connected Edge.- Specified by:
unRegisterTrigger
in interfaceConnectedEdge
- Parameters:
trigger
- Trigger to be unregisteredkey
- A unique key as string e.g. NodeId+LspId- Returns:
- True if un-registration is done, false otherwise
-
getTriggers
public List<ConnectedEdgeTrigger> getTriggers()
-
-