Class ArrivalBoundDispatch
- java.lang.Object
-
- org.networkcalculus.dnc.feedforward.ArrivalBoundDispatch
-
public abstract class ArrivalBoundDispatch extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.util.Map<java.util.Set<AnalysisConfig.ArrivalBoundMethod>,ArrivalBoundCache>
ab_caches
-
Constructor Summary
Constructors Constructor Description ArrivalBoundDispatch()
-
Method Summary
Modifier and Type Method Description static void
clearAllCaches()
static java.util.Set<ArrivalCurve>
computeArrivalBounds(ServerGraph server_graph, AnalysisConfig configuration, Server server)
static java.util.Set<ArrivalCurve>
computeArrivalBounds(ServerGraph server_graph, AnalysisConfig configuration, Server server, java.util.Set<Flow> flows_to_bound, Flow flow_of_interest)
The flow_of_interest low priority supersedes the wish to bound all flows in flows_to_bound, i.e., if flow_of_interest will be removed from flows_to_bound before bounding the arrivals such that the result will always hold (only) for {flows_to_bound} \ {flow_of_interest}.static java.util.Set<ArrivalCurve>
computeArrivalBounds(ServerGraph server_graph, AnalysisConfig configuration, Turn turn, java.util.Set<Flow> flows_to_bound, Flow flow_of_interest)
private static ArrivalBoundCache
getCache(java.util.Set<AnalysisConfig.ArrivalBoundMethod> ab_methods)
private static java.util.Set<ArrivalCurve>
getPermutations(java.util.Set<ArrivalCurve> arrival_curves_1, java.util.Set<ArrivalCurve> arrival_curves_2)
private static java.util.Set<ArrivalCurve>
singleFlowABs(AnalysisConfig configuration, ArrivalCurve alpha, java.util.Set<ServiceCurve> betas_lo)
-
-
-
Field Detail
-
ab_caches
protected static java.util.Map<java.util.Set<AnalysisConfig.ArrivalBoundMethod>,ArrivalBoundCache> ab_caches
-
-
Method Detail
-
getCache
private static ArrivalBoundCache getCache(java.util.Set<AnalysisConfig.ArrivalBoundMethod> ab_methods)
-
clearAllCaches
public static void clearAllCaches()
-
computeArrivalBounds
public static java.util.Set<ArrivalCurve> computeArrivalBounds(ServerGraph server_graph, AnalysisConfig configuration, Server server) throws java.lang.Exception
- Throws:
java.lang.Exception
-
computeArrivalBounds
public static java.util.Set<ArrivalCurve> computeArrivalBounds(ServerGraph server_graph, AnalysisConfig configuration, Server server, java.util.Set<Flow> flows_to_bound, Flow flow_of_interest) throws java.lang.Exception
The flow_of_interest low priority supersedes the wish to bound all flows in flows_to_bound, i.e., if flow_of_interest will be removed from flows_to_bound before bounding the arrivals such that the result will always hold (only) for {flows_to_bound} \ {flow_of_interest}.To bound all flows in flows_to_bound, please call, e.g., computeArrivalBounds( server_graph, flows_to_bound, Flow.NULL_FLOW )
- Parameters:
server
- The server seeing the arrival bound.flows_to_bound
- The flows to be bounded.flow_of_interest
- The flow of interest to get a lower priority.- Returns:
- The arrival bound.
- Throws:
java.lang.Exception
- Potential exception raised in the called function computeArrivalBounds.
-
computeArrivalBounds
public static java.util.Set<ArrivalCurve> computeArrivalBounds(ServerGraph server_graph, AnalysisConfig configuration, Turn turn, java.util.Set<Flow> flows_to_bound, Flow flow_of_interest) throws java.lang.Exception
- Throws:
java.lang.Exception
-
singleFlowABs
private static java.util.Set<ArrivalCurve> singleFlowABs(AnalysisConfig configuration, ArrivalCurve alpha, java.util.Set<ServiceCurve> betas_lo) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getPermutations
private static java.util.Set<ArrivalCurve> getPermutations(java.util.Set<ArrivalCurve> arrival_curves_1, java.util.Set<ArrivalCurve> arrival_curves_2)
-
-