private class LowLevelCommunication.ThroughputChecker
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private int |
_buffersizeThreshold
Anzahl Bytes im Sendepuffer, ab dem die Durchsatzprüfung gestartet wird.
|
private long |
_controlInterval
Die Zeit zwischen zwei Messungen der Durchsatzprüfung in Nanosekunden
|
private long |
_lastCheckedThroughput
Der letzte Durchsatz in Bytes/s
|
private int |
_minimumThroughput
Minimaler Sendedurchsatz für die Durchsatzprüfung in Bytes pro Sekunde
|
private long |
_numberOfBytesSent
Die Anzahl gesendeter Bytes seit der letzten Zustandsänderung
|
private LowLevelCommunication.ThroughputCheckerState |
_state
Aktueller Zustand
|
private long |
_stateChangeTime
Der Zeitpunkt in Nanosekunden bei der letzten Zustandsänderung
|
Constructor and Description |
---|
ThroughputChecker() |
Modifier and Type | Method and Description |
---|---|
long |
checkThroughput()
Prüft den Durchsatz und liefert die Zeit bis zur nächsten Prüfung zurück.
|
java.lang.String |
getSendBufferState()
Liefert einen beschreibenden Text mit dem Zustand des Sendepuffers
|
void |
queuedTelegram() |
void |
sentTelegram(int telegramSize) |
private void |
setState(LowLevelCommunication.ThroughputCheckerState state) |
void |
setThroughputParameters(float throughputControlSendBufferFactor,
long throughputControlInterval,
int minimumThroughput)
Diese Methode setzt die Parameter für die Durchsatzprüfung.
|
private int _buffersizeThreshold
Anzahl Bytes im Sendepuffer, ab dem die Durchsatzprüfung gestartet wird.
private long _controlInterval
Die Zeit zwischen zwei Messungen der Durchsatzprüfung in Nanosekunden
private int _minimumThroughput
Minimaler Sendedurchsatz für die Durchsatzprüfung in Bytes pro Sekunde
private LowLevelCommunication.ThroughputCheckerState _state
Aktueller Zustand
private long _stateChangeTime
Der Zeitpunkt in Nanosekunden bei der letzten Zustandsänderung
private long _numberOfBytesSent
Die Anzahl gesendeter Bytes seit der letzten Zustandsänderung
private long _lastCheckedThroughput
Der letzte Durchsatz in Bytes/s
public final void setThroughputParameters(float throughputControlSendBufferFactor, long throughputControlInterval, int minimumThroughput)
Diese Methode setzt die Parameter für die Durchsatzprüfung.
throughputControlSendBufferFactor
- Füllungsgrad des Sendepuffers als Faktor zwischen 0 und 1, ab dem die Durchsatzprüfung anfängt zu arbeiten.throughputControlInterval
- Zeit zwischen zwei Durchsatzprüfungen in MillisekundenminimumThroughput
- Minimal zulässiger Verbindungsdurchsatz in Bytes pro Sekundeprivate void setState(LowLevelCommunication.ThroughputCheckerState state)
public void queuedTelegram()
public void sentTelegram(int telegramSize)
public long checkThroughput()
Prüft den Durchsatz und liefert die Zeit bis zur nächsten Prüfung zurück.
java.lang.IllegalStateException
- wenn ein zu geringer Durchsatz festgestellt wurde.public java.lang.String getSendBufferState()
Liefert einen beschreibenden Text mit dem Zustand des Sendepuffers