Open Kilda Java Documentation
org.openkilda.pce.provider.PathComputer Interface Reference
Inheritance diagram for org.openkilda.pce.provider.PathComputer:
org.openkilda.pce.provider.NeoDriver org.openkilda.pce.provider.PathComputerMock org.openkilda.wfm.topology.flow.PathComputerMock

Classes

enum  Strategy
 

Public Member Functions

default Long getWeight (IslInfoData isl)
 
ImmutablePair< PathInfoData, PathInfoDatagetPath (Flow flow, AvailableNetwork network, Strategy strategy) throws UnroutablePathException, RecoverableException
 
ImmutablePair< PathInfoData, PathInfoDatagetPath (Flow flow, Strategy strategy) throws UnroutablePathException, RecoverableException
 
default List< FlowInfogetFlowInfo ()
 
default List< FlowgetAllFlows ()
 
default List< FlowgetFlow (String flowId)
 
default List< FlowgetFlows (String flowId)
 
default List< SwitchInfoDatagetSwitches ()
 
default List< IslInfoDatagetIsls ()
 
AvailableNetwork getAvailableNetwork (boolean ignoreBandwidth, long requestedBandwidth)
 

Detailed Description

PathComputation interface represent operations on flow path.

Definition at line 33 of file PathComputer.java.

Member Function Documentation

◆ getAllFlows()

default List<Flow> org.openkilda.pce.provider.PathComputer.getAllFlows ( )

Read flows from Neo4j and covert them in our common representation org.openkilda.messaging.model.Flow

Returns
all flow objects stored in neo4j

Implemented in org.openkilda.pce.provider.NeoDriver.

Definition at line 87 of file PathComputer.java.

◆ getAvailableNetwork()

AvailableNetwork org.openkilda.pce.provider.PathComputer.getAvailableNetwork ( boolean  ignoreBandwidth,
long  requestedBandwidth 
)

Loads network and ignores all ISLs with not enough available bandwidth if ignoreBandwidth is false.

Parameters
ignoreBandwidthdefines if available bandwidth of links should be taken into account for calculations.
requestedBandwidthlinks in path should have enough amount of available bandwidth.
Returns
built network.

Implemented in org.openkilda.pce.provider.NeoDriver, org.openkilda.pce.provider.PathComputerMock, and org.openkilda.wfm.topology.flow.PathComputerMock.

◆ getFlow()

default List<Flow> org.openkilda.pce.provider.PathComputer.getFlow ( String  flowId)

Read a single flow from Neo4j and convert to our common representation Flow. In reality, a single flow will typically be bi-directional, so just represent as a list.

Returns
the Flow if it exists, null otherwise.

Implemented in org.openkilda.pce.provider.NeoDriver.

Definition at line 97 of file PathComputer.java.

◆ getFlowInfo()

default List<FlowInfo> org.openkilda.pce.provider.PathComputer.getFlowInfo ( )

Interact with the PathComputer to get the FlowInfo for all flows.

Returns
a list containing the "key" flow info for all flows.

Implemented in org.openkilda.pce.provider.NeoDriver, and org.openkilda.pce.provider.PathComputerMock.

Definition at line 77 of file PathComputer.java.

◆ getFlows()

default List<Flow> org.openkilda.pce.provider.PathComputer.getFlows ( String  flowId)

Implemented in org.openkilda.pce.provider.NeoDriver.

Definition at line 104 of file PathComputer.java.

◆ getIsls()

default List<IslInfoData> org.openkilda.pce.provider.PathComputer.getIsls ( )

Implemented in org.openkilda.pce.provider.NeoDriver.

Definition at line 112 of file PathComputer.java.

◆ getPath() [1/2]

ImmutablePair<PathInfoData, PathInfoData> org.openkilda.pce.provider.PathComputer.getPath ( Flow  flow,
AvailableNetwork  network,
Strategy  strategy 
) throws UnroutablePathException, RecoverableException

Gets path between source and destination switches for specified flow in preloaded network topology.

Parameters
flowFlow instances
networkprepared network where searching will be performed.
Returns
PathInfoData instances

Implemented in org.openkilda.pce.provider.NeoDriver, org.openkilda.pce.provider.PathComputerMock, and org.openkilda.wfm.topology.flow.PathComputerMock.

◆ getPath() [2/2]

ImmutablePair<PathInfoData, PathInfoData> org.openkilda.pce.provider.PathComputer.getPath ( Flow  flow,
Strategy  strategy 
) throws UnroutablePathException, RecoverableException

Gets path between source and destination switch for specified flow.

Parameters
flowFlow instances
Returns
PathInfoData instances

Implemented in org.openkilda.pce.provider.PathComputerMock, org.openkilda.pce.provider.NeoDriver, and org.openkilda.wfm.topology.flow.PathComputerMock.

◆ getSwitches()

default List<SwitchInfoData> org.openkilda.pce.provider.PathComputer.getSwitches ( )

Implemented in org.openkilda.pce.provider.NeoDriver.

Definition at line 108 of file PathComputer.java.

◆ getWeight()

default Long org.openkilda.pce.provider.PathComputer.getWeight ( IslInfoData  isl)

Gets isl weight.

Parameters
islisl instance
Returns
isl weight

Implemented in org.openkilda.pce.provider.PathComputerMock.

Definition at line 49 of file PathComputer.java.


The documentation for this interface was generated from the following file: