Class Server
- java.lang.Object
-
- org.networkcalculus.dnc.network.server_graph.Server
-
public class Server extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
alias
private int
id
private MaxServiceCurve
max_service_curve
A zero delay burst curve lets the influence of the maximum service curve vanishprivate boolean
max_service_curve_flag
private AnalysisConfig.Multiplexing
multiplexing
private ServiceCurve
service_curve
private boolean
use_max_sc
Whether to use maximum service curves in output bound computationprivate boolean
use_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.
-
Constructor Summary
Constructors Modifier Constructor Description private
Server()
protected
Server(int id, java.lang.String alias, ServiceCurve service_curve, AnalysisConfig.Multiplexing multiplexing)
protected
Server(int id, java.lang.String alias, ServiceCurve service_curve, MaxServiceCurve max_service_curve, AnalysisConfig.Multiplexing multiplexing, boolean use_max_sc, boolean use_max_sc_output_rate)
-
Method Summary
Modifier and Type Method Description private java.lang.StringBuffer
commonMaxScString()
private java.lang.StringBuffer
commonStringPrefix()
private java.lang.StringBuffer
commonStringPrefix2()
static Server
createExplicitSinkServer()
static Server
createExplicitSourceServer()
java.lang.String
getAlias()
int
getId()
MaxServiceCurve
getMaxScRate()
In contrast togetMaxServiceCurve()
this function always returns the default zero delay burst curve if the useMaxScRate flag is not set.MaxServiceCurve
getMaxServiceCurve()
This function always returns the default zero delay burst curve if the useMaxSC flag is not set.ServiceCurve
getServiceCurve()
MaxServiceCurve
getStoredMaxSC()
MaxServiceCurve
getStoredMaxScRate()
AnalysisConfig.Multiplexing
multiplexing()
boolean
removeMaxServiceCurve()
void
setAlias(java.lang.String alias)
boolean
setMaxServiceCurve(MaxServiceCurve max_service_curve)
Setting a maximum service curve also enables useMaxSC and useMaxScRate.boolean
setMaxServiceCurve(MaxServiceCurve max_service_curve, boolean use_max_sc, boolean use_max_sc_output_rate)
void
setMultiplexing(AnalysisConfig.Multiplexing multiplexing)
boolean
setServiceCurve(ServiceCurve service_curve)
java.lang.String
toExtendedString()
java.lang.String
toShortString()
java.lang.String
toString()
boolean
useMaxSC()
void
useMaxSC(boolean use_max_sc)
boolean
useMaxScRate()
void
useMaxScRate(boolean use_max_sc_output_rate)
-
-
-
Field Detail
-
id
private int id
-
alias
private java.lang.String alias
-
service_curve
private ServiceCurve service_curve
-
max_service_curve
private MaxServiceCurve max_service_curve
A zero delay burst curve lets the influence of the maximum service curve vanish
-
max_service_curve_flag
private boolean max_service_curve_flag
-
use_max_sc
private boolean use_max_sc
Whether to use maximum service curves in output bound computation
-
use_max_sc_output_rate
private boolean use_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.
-
multiplexing
private AnalysisConfig.Multiplexing multiplexing
-
-
Constructor Detail
-
Server
private Server()
-
Server
protected Server(int id, java.lang.String alias, ServiceCurve service_curve, MaxServiceCurve max_service_curve, AnalysisConfig.Multiplexing multiplexing, boolean use_max_sc, boolean use_max_sc_output_rate)
- Parameters:
id
- The server's id (unique).alias
- The server's alias (not necessarily unique).service_curve
- The server's service curve.max_service_curve
- The server's maximum service curve.multiplexing
- The server's flow multiplexing setting.use_max_sc
- Convolve the maximum service curve with the arrival curve before deriving an output bound.use_max_sc_output_rate
- Convolve the output bound with the maximum service curve.
-
Server
protected Server(int id, java.lang.String alias, ServiceCurve service_curve, AnalysisConfig.Multiplexing multiplexing)
-
-
Method Detail
-
createExplicitSourceServer
public static Server createExplicitSourceServer()
-
createExplicitSinkServer
public static Server createExplicitSinkServer()
-
getId
public int getId()
-
setServiceCurve
public boolean setServiceCurve(ServiceCurve service_curve)
-
getServiceCurve
public ServiceCurve getServiceCurve()
- Returns:
- A copy of the service curve
-
setMaxServiceCurve
public boolean setMaxServiceCurve(MaxServiceCurve max_service_curve)
Setting a maximum service curve also enables useMaxSC and useMaxScRate.- Parameters:
max_service_curve
- The maximum service curve.- Returns:
- Signals success of the operation.
-
setMaxServiceCurve
public boolean setMaxServiceCurve(MaxServiceCurve max_service_curve, boolean use_max_sc, boolean use_max_sc_output_rate)
-
removeMaxServiceCurve
public boolean removeMaxServiceCurve()
-
getMaxServiceCurve
public MaxServiceCurve getMaxServiceCurve()
This function always returns the default zero delay burst curve if the useMaxSC flag is not set.- Returns:
- A copy of the maximum service curve
-
getStoredMaxSC
public MaxServiceCurve getStoredMaxSC()
- Returns:
- The stored maximum service curve
-
getMaxScRate
public MaxServiceCurve getMaxScRate()
In contrast togetMaxServiceCurve()
this function always returns the default zero delay burst curve if the useMaxScRate flag is not set.- Returns:
- The maximum service curve
-
getStoredMaxScRate
public MaxServiceCurve getStoredMaxScRate()
- Returns:
- The stored maximum service curve rate
-
useMaxSC
public boolean useMaxSC()
-
useMaxSC
public void useMaxSC(boolean use_max_sc)
-
useMaxScRate
public boolean useMaxScRate()
-
useMaxScRate
public void useMaxScRate(boolean use_max_sc_output_rate)
-
multiplexing
public AnalysisConfig.Multiplexing multiplexing()
-
setMultiplexing
public void setMultiplexing(AnalysisConfig.Multiplexing multiplexing)
-
getAlias
public java.lang.String getAlias()
-
setAlias
public void setAlias(java.lang.String alias)
-
commonStringPrefix
private java.lang.StringBuffer commonStringPrefix()
-
toShortString
public java.lang.String toShortString()
-
commonStringPrefix2
private java.lang.StringBuffer commonStringPrefix2()
-
commonMaxScString
private java.lang.StringBuffer commonMaxScString()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toExtendedString
public java.lang.String toExtendedString()
-
-