|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.OutputStream
org.apache.hadoop.net.SocketOutputStream
public class SocketOutputStream
This implements an output stream that can have a timeout while writing.
This sets non-blocking flag on the socket channel.
So after creating this object , read() on
Socket.getInputStream()
and write() on
Socket.getOutputStream()
on the associated socket will throw
llegalBlockingModeException.
Please use SocketInputStream
for reading.
Constructor Summary | |
---|---|
SocketOutputStream(java.net.Socket socket,
long timeout)
Same as SocketOutputStream(socket.getChannel(), timeout): Create a new ouput stream with the given timeout. |
|
SocketOutputStream(java.nio.channels.WritableByteChannel channel,
long timeout)
Create a new ouput stream with the given timeout. |
Method Summary | |
---|---|
void |
close()
|
java.nio.channels.WritableByteChannel |
getChannel()
Returns underlying channel used by this stream. |
boolean |
isOpen()
|
void |
transferToFully(java.nio.channels.FileChannel fileCh,
long position,
int count)
Transfers data from FileChannel using FileChannel.transferTo(long, long, WritableByteChannel) . |
void |
waitForWritable()
waits for the underlying channel to be ready for writing. |
void |
write(byte[] b,
int off,
int len)
|
int |
write(java.nio.ByteBuffer src)
|
void |
write(int b)
|
Methods inherited from class java.io.OutputStream |
---|
flush, write |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SocketOutputStream(java.nio.channels.WritableByteChannel channel, long timeout) throws java.io.IOException
channel
- Channel for writing, 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 SocketOutputStream(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
SocketOutputStream(WritableByteChannel, long)
Method Detail |
---|
public void write(int b) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void write(byte[] b, int off, int len) throws java.io.IOException
write
in class java.io.OutputStream
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.OutputStream
java.io.IOException
public java.nio.channels.WritableByteChannel getChannel()
FileChannel.transferTo(long, long, WritableByteChannel)
public boolean isOpen()
isOpen
in interface java.nio.channels.Channel
public int write(java.nio.ByteBuffer src) throws java.io.IOException
write
in interface java.nio.channels.WritableByteChannel
java.io.IOException
public void waitForWritable() throws java.io.IOException
java.net.SocketTimeoutException
- if select on the channel times out.
java.io.IOException
- if any other I/O error occurs.public void transferToFully(java.nio.channels.FileChannel fileCh, long position, int count) throws java.io.IOException
FileChannel.transferTo(long, long, WritableByteChannel)
.
Similar to readFully(), this waits till requested amount of
data is transfered.
fileCh
- FileChannel to transfer data from.position
- position within the channel where the transfer beginscount
- number of bytes to transfer.
java.io.EOFException
- If end of input file is reached before requested number of
bytes are transfered.
java.net.SocketTimeoutException
- If this channel blocks transfer longer than timeout for
this stream.
java.io.IOException
- Includes any exception thrown by
FileChannel.transferTo(long, long, WritableByteChannel)
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |