@InterfaceAudience.LimitedPrivate(value="HDFS") public class SocketInputStream extends InputStream implements ReadableByteChannel
Socket.getInputStream()
and write() on
Socket.getOutputStream()
for the associated socket will throw
IllegalBlockingModeException.
Please use SocketOutputStream
for writing.Constructor and Description |
---|
SocketInputStream(ReadableByteChannel channel,
long timeout)
Create a new input stream with the given timeout.
|
SocketInputStream(Socket socket)
Same as SocketInputStream(socket.getChannel(), socket.getSoTimeout())
:
Create a new input stream with the given timeout. |
SocketInputStream(Socket socket,
long timeout)
Same as SocketInputStream(socket.getChannel(), timeout):
Create a new input stream with the given timeout. |
Modifier and Type | Method and Description |
---|---|
void |
close() |
ReadableByteChannel |
getChannel()
Returns underlying channel used by inputstream.
|
boolean |
isOpen() |
int |
read() |
int |
read(byte[] b,
int off,
int len) |
int |
read(ByteBuffer dst) |
void |
setTimeout(long timeoutMs) |
void |
waitForReadable()
waits for the underlying channel to be ready for reading.
|
available, mark, markSupported, read, reset, skip
public SocketInputStream(ReadableByteChannel channel, long timeout) throws IOException
channel
- Channel for reading, should also be a SelectableChannel
.
The channel will be configured to be non-blocking.timeout
- timeout in milliseconds. must not be negative.IOException
public SocketInputStream(Socket socket, long timeout) throws IOException
socket
- should have a channel associated with it.timeout
- timeout timeout in milliseconds. must not be negative.IOException
SocketInputStream(ReadableByteChannel, long)
public SocketInputStream(Socket socket) throws IOException
socket
- should have a channel associated with it.IOException
SocketInputStream(ReadableByteChannel, long)
public int read() throws IOException
read
in class InputStream
IOException
public int read(byte[] b, int off, int len) throws IOException
read
in class InputStream
IOException
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in interface Channel
close
in class InputStream
IOException
public ReadableByteChannel getChannel()
FileChannel.transferFrom(ReadableByteChannel, long, long)
.public int read(ByteBuffer dst) throws IOException
read
in interface ReadableByteChannel
IOException
public void waitForReadable() throws IOException
SocketTimeoutException
- if select on the channel times out.IOException
- if any other I/O error occurs.public void setTimeout(long timeoutMs)
Copyright © 2013 Apache Software Foundation. All rights reserved.