Package org.networkcalculus.dnc
Class AnalysisConfig
- java.lang.Object
-
- org.networkcalculus.dnc.AnalysisConfig
-
- Direct Known Subclasses:
DncTestConfig
public class AnalysisConfig extends java.lang.Object
This class contains configuration settings that are considered during the analysis, e.g., the multiplexing behavior of servers and the arrival bounding methods to use. These settings can be changed at runtime.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AnalysisConfig.ArrivalBoundMethod
static class
AnalysisConfig.MaxScEnforcement
static class
AnalysisConfig.Multiplexing
static class
AnalysisConfig.MultiplexingEnforcement
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<AnalysisConfig.ArrivalBoundMethod>
arrival_bound_methods
private boolean
arrival_bounds_caching
private boolean
convolve_alternative_arrival_bounds
private AnalysisConfig.MaxScEnforcement
enforce_max_sc
Whether to use maximum service curves in output bound computation.private AnalysisConfig.MaxScEnforcement
enforce_max_sc_output_rate
Whether to constrain the output bound further through convolution with the maximum service curve's rate as the server cannot output data faster than this rate.private boolean
flow_prolongation
private AnalysisConfig.MultiplexingEnforcement
multiplexing_enforcement
private boolean
server_backlog_arrival_bound
-
Constructor Summary
Constructors Constructor Description AnalysisConfig()
AnalysisConfig(AnalysisConfig.MultiplexingEnforcement multiplexing_enforcement, AnalysisConfig.MaxScEnforcement enforce_max_sc, AnalysisConfig.MaxScEnforcement enforce_max_sc_output_rate, java.util.Set<AnalysisConfig.ArrivalBoundMethod> arrival_bound_methods, boolean convolve_alternative_arrival_bounds, boolean arrival_bounds_caching, boolean server_backlog_arrival_bound)
-
Method Summary
-
-
-
Field Detail
-
multiplexing_enforcement
private AnalysisConfig.MultiplexingEnforcement multiplexing_enforcement
-
enforce_max_sc
private AnalysisConfig.MaxScEnforcement enforce_max_sc
Whether to use maximum service curves in output bound computation.
-
enforce_max_sc_output_rate
private AnalysisConfig.MaxScEnforcement enforce_max_sc_output_rate
Whether to constrain the output bound further through convolution with the maximum service curve's rate as the server cannot output data faster than this rate.
-
arrival_bound_methods
private java.util.Set<AnalysisConfig.ArrivalBoundMethod> arrival_bound_methods
-
convolve_alternative_arrival_bounds
private boolean convolve_alternative_arrival_bounds
-
arrival_bounds_caching
private boolean arrival_bounds_caching
-
flow_prolongation
private boolean flow_prolongation
-
server_backlog_arrival_bound
private boolean server_backlog_arrival_bound
-
-
Constructor Detail
-
AnalysisConfig
public AnalysisConfig()
-
AnalysisConfig
public AnalysisConfig(AnalysisConfig.MultiplexingEnforcement multiplexing_enforcement, AnalysisConfig.MaxScEnforcement enforce_max_sc, AnalysisConfig.MaxScEnforcement enforce_max_sc_output_rate, java.util.Set<AnalysisConfig.ArrivalBoundMethod> arrival_bound_methods, boolean convolve_alternative_arrival_bounds, boolean arrival_bounds_caching, boolean server_backlog_arrival_bound)
-
-
Method Detail
-
enforceMultiplexing
public AnalysisConfig.MultiplexingEnforcement enforceMultiplexing()
-
enforceMultiplexing
public void enforceMultiplexing(AnalysisConfig.MultiplexingEnforcement enforcement)
-
enforceMaxSC
public AnalysisConfig.MaxScEnforcement enforceMaxSC()
-
enforceMaxSC
public void enforceMaxSC(AnalysisConfig.MaxScEnforcement enforcement)
-
enforceMaxScOutputRate
public AnalysisConfig.MaxScEnforcement enforceMaxScOutputRate()
-
enforceMaxScOutputRate
public void enforceMaxScOutputRate(AnalysisConfig.MaxScEnforcement enforcement)
-
defaultArrivalBoundMethods
public void defaultArrivalBoundMethods()
-
clearArrivalBoundMethods
public void clearArrivalBoundMethods()
-
setArrivalBoundMethod
public void setArrivalBoundMethod(AnalysisConfig.ArrivalBoundMethod arrival_bound_method)
-
arrivalBoundMethods
public java.util.Set<AnalysisConfig.ArrivalBoundMethod> arrivalBoundMethods()
-
setArrivalBoundMethods
public void setArrivalBoundMethods(java.util.Set<AnalysisConfig.ArrivalBoundMethod> arrival_bound_methods_set)
-
addArrivalBoundMethod
public void addArrivalBoundMethod(AnalysisConfig.ArrivalBoundMethod arrival_bound_method)
-
addArrivalBoundMethods
public void addArrivalBoundMethods(java.util.Set<AnalysisConfig.ArrivalBoundMethod> arrival_bound_methods_set)
-
removeArrivalBoundMethod
public boolean removeArrivalBoundMethod(AnalysisConfig.ArrivalBoundMethod arrival_bound_method)
-
convolveAlternativeArrivalBounds
public boolean convolveAlternativeArrivalBounds()
-
useArrivalBoundsCache
public boolean useArrivalBoundsCache()
-
setUseArrivalBoundsCache
public void setUseArrivalBoundsCache(boolean use_cache)
-
setConvolveAlternativeArrivalBounds
public void setConvolveAlternativeArrivalBounds(boolean convolve_alt_abs)
-
serverBacklogArrivalBound
public boolean serverBacklogArrivalBound()
-
setServerBacklogArrivalBound
public void setServerBacklogArrivalBound(boolean server_backlog_arrival_bound)
-
useFlowProlongation
public boolean useFlowProlongation()
-
setUseFlowProlongation
public void setUseFlowProlongation(boolean prolong_flows)
-
copy
public AnalysisConfig copy()
Returns a deep copy of this analysis configuration.- Returns:
- The copy.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-