Package net.i2p.util
Class TimeoutPipedInputStream
java.lang.Object
java.io.InputStream
java.io.PipedInputStream
net.i2p.util.TimeoutPipedInputStream
- All Implemented Interfaces:
Closeable,AutoCloseable
class TimeoutPipedInputStream extends PipedInputStream
Adds setReadTimeout().
Must be used with a TimeoutPipedOutputStream.
To support InternalSocket.setSoTimeout().
Package private, not a part of the public API, not for general use.
- Since:
- 0.9.34
-
Field Summary
-
Constructor Summary
Constructors Constructor Description TimeoutPipedInputStream(int pipeSize) -
Method Summary
Modifier and Type Method Description voidclose()Overridden to save state.intread()voidsetReadTimeout(int ms)Must be called before blocking read call.(package private) voidx_receivedLast()To save state.Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, skipNBytes, transferTo
-
Constructor Details
-
TimeoutPipedInputStream
public TimeoutPipedInputStream(int pipeSize)
-
-
Method Details
-
read
- Overrides:
readin classPipedInputStream- Throws:
SocketTimeoutException- if timeout is reachedIOException
-
setReadTimeout
public void setReadTimeout(int ms)Must be called before blocking read call.- Parameters:
ms- less than or equal to zero means forever
-
x_receivedLast
void x_receivedLast()To save state. We have to do this because can't get to closedByWriter in super. -
close
Overridden to save state. We have to do this because can't get to closedByReader in super- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classPipedInputStream- Throws:
IOException
-