|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.InputStream
org.apache.hadoop.net.SocketInputStream
public class SocketInputStream
This implements an input stream that can have a timeout while reading.
This sets non-blocking flag on the socket channel.
So after create this object, read() on
Socket.getInputStream()
and write() on
Socket.getOutputStream()
for the associated socket will throw
IllegalBlockingModeException.
Please use SocketOutputStream
for writing.
Constructor Summary | |
---|---|
SocketInputStream(java.nio.channels.ReadableByteChannel channel,
long timeout)
Create a new input stream with the given timeout. |
|
SocketInputStream(java.net.Socket socket)
Same as SocketInputStream(socket.getChannel(), socket.getSoTimeout()) : Create a new input stream with the given timeout. |
|
SocketInputStream(java.net.Socket socket,
long timeout)
Same as SocketInputStream(socket.getChannel(), timeout): Create a new input stream with the given timeout. |
Method Summary | |
---|---|
void |
close()
|
java.nio.channels.ReadableByteChannel |
getChannel()
Returns underlying channel used by inputstream. |
boolean |
isOpen()
|
int |
read()
|
int |
read(byte[] b,
int off,
int len)
|
int |
read(java.nio.ByteBuffer dst)
|
void |
waitForReadable()
waits for the underlying channel to be ready for reading. |
Methods inherited from class java.io.InputStream |
---|
available, mark, markSupported, read, reset, skip |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SocketInputStream(java.nio.channels.ReadableByteChannel channel, long timeout) throws java.io.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.
java.io.IOException
public SocketInputStream(java.net.Socket socket, long timeout) throws java.io.IOException
socket
- should have a channel associated with it.timeout
- timeout timeout in milliseconds. must not be negative.
java.io.IOException
SocketInputStream(ReadableByteChannel, long)
public SocketInputStream(java.net.Socket socket) throws java.io.IOException
socket
- should have a channel associated with it.
java.io.IOException
SocketInputStream(ReadableByteChannel, long)
Method Detail |
---|
public int read() throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
public int read(byte[] b, int off, int len) throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.nio.channels.Channel
close
in class java.io.InputStream
java.io.IOException
public java.nio.channels.ReadableByteChannel getChannel()
FileChannel.transferFrom(ReadableByteChannel, long, long)
.
public boolean isOpen()
isOpen
in interface java.nio.channels.Channel
public int read(java.nio.ByteBuffer dst) throws java.io.IOException
read
in interface java.nio.channels.ReadableByteChannel
java.io.IOException
public void waitForReadable() throws java.io.IOException
java.net.SocketTimeoutException
- if select on the channel times out.
java.io.IOException
- if any other I/O error occurs.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |