Class DelayOutputStream
java.lang.Object
java.io.OutputStream
de.kappich.pat.testumg.util.connections.DelayOutputStream
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.AutoCloseable
- Direct Known Subclasses:
WiretapOutputStream
public class DelayOutputStream
extends java.io.OutputStream
OutputStream
, der die Daten an einen weiteren OutputStream
weitergibt und dabei die Übertragungsrate begrenzt.-
Field Summary
Fields Modifier and Type Field Description static boolean
DISABLE_DELAY
Mit diesem Flag kann das Ausbremsen temporär deaktiviert werden (z. -
Constructor Summary
Constructors Constructor Description DelayOutputStream(java.io.OutputStream outputStream, long transmissionDelayNanos, double maxFlowRate)
Erstellt eine neue Instanz -
Method Summary
Methods inherited from class java.io.OutputStream
flush, nullOutputStream
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
DISABLE_DELAY
public static volatile boolean DISABLE_DELAYMit diesem Flag kann das Ausbremsen temporär deaktiviert werden (z. B. während des Setup-Vorgang eines Tests)
-
-
Constructor Details
-
DelayOutputStream
public DelayOutputStream(java.io.OutputStream outputStream, long transmissionDelayNanos, double maxFlowRate)Erstellt eine neue Instanz- Parameters:
outputStream
- GekapselterOutputStream
transmissionDelayNanos
- Feste minimale Verzögerung zwischen Senden und Empfang in Nanosekunden (Ping)maxFlowRate
- Maximaler Durchsatz in Bytes/Sekunde
-
-
Method Details
-
close
public void close()- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.OutputStream
-
write
public void write(int b) throws java.io.IOException- Specified by:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] b) throws java.io.IOException- Overrides:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException- Overrides:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
enqueue
protected void enqueue(byte[] bytes) throws java.io.IOException- Throws:
java.io.IOException
-