@Module public class SocketStream extends StreamImpl
Unlike VfsStream, when the read() throws and IOException or a SocketException, SocketStream will throw a ClientDisconnectException.
_nullPath, _path
Constructor and Description |
---|
SocketStream() |
SocketStream(java.net.Socket s) |
Modifier and Type | Method and Description |
---|---|
boolean |
canRead()
Returns true since the socket stream can be read.
|
boolean |
canWrite()
Returns true if this is a writable stream.
|
void |
close()
Closes the underlying sockets and socket streams.
|
void |
closeWrite()
Closes the write half of the stream.
|
void |
flush()
Flushes the socket.
|
int |
getAvailable()
Returns the number of bytes available to be read from the input stream.
|
byte[] |
getNewline()
Returns the stream's natural newline character.
|
boolean |
getThrowReadInterrupts()
If true, throws read interrupts instead of returning an end of
fail.
|
long |
getTotalReadBytes() |
long |
getTotalWriteBytes() |
boolean |
hasSkip()
Returns true if stream is readable and bytes can be skipped.
|
void |
init(java.io.InputStream is,
java.io.OutputStream os)
Initialize the SocketStream with a new Socket.
|
void |
init(java.net.Socket s)
Initialize the SocketStream with a new Socket.
|
int |
read(byte[] buf,
int offset,
int length)
Reads bytes from the socket.
|
int |
readTimeout(byte[] buf,
int offset,
int length,
long timeout)
Reads bytes from the socket.
|
void |
resetTotalBytes() |
void |
setNewline(byte[] newline) |
void |
setThrowReadInterrupts(boolean allowThrow)
If true, throws read interrupts instead of returning an end of
fail.
|
long |
skip(long n)
Skips bytes in the file.
|
java.lang.String |
toString() |
void |
write(byte[] buf,
int offset,
int length,
boolean isEnd)
Writes bytes to the socket.
|
clearWrite, flushBuffer, flushToDisk, getAttribute, getAttributeNames, getFlushOnNewline, getPath, getReadBuffer, getReadPosition, isClosed, isEof, isMmapEnabled, isSendfileEnabled, readNonBlock, removeAttribute, seekEnd, seekStart, setAttribute, setPath, setWriteEncoding, write, writeMmap, writeSendfile
public SocketStream()
public SocketStream(java.net.Socket s)
public void init(java.net.Socket s)
s
- the new socket.public void init(java.io.InputStream is, java.io.OutputStream os)
s
- the new socket.public void setThrowReadInterrupts(boolean allowThrow)
public boolean getThrowReadInterrupts()
public void setNewline(byte[] newline)
public byte[] getNewline()
StreamImpl
getNewline
in class StreamImpl
public boolean hasSkip()
hasSkip
in class StreamImpl
public long skip(long n) throws java.io.IOException
skip
in class StreamImpl
n
- the number of bytes to skipjava.io.IOException
public boolean canRead()
canRead
in class StreamImpl
public int read(byte[] buf, int offset, int length) throws java.io.IOException
read
in class StreamImpl
buf
- byte buffer receiving the bytesoffset
- offset into the bufferlength
- number of bytes to readthrows
- ClientDisconnectException if the connection is droppedjava.io.IOException
public int readTimeout(byte[] buf, int offset, int length, long timeout) throws java.io.IOException
readTimeout
in class StreamImpl
buf
- byte buffer receiving the bytesoffset
- offset into the bufferlength
- number of bytes to readthrows
- ClientDisconnectException if the connection is droppedjava.io.IOException
public int getAvailable() throws java.io.IOException
getAvailable
in class StreamImpl
java.io.IOException
public boolean canWrite()
StreamImpl
canWrite
in class StreamImpl
public void write(byte[] buf, int offset, int length, boolean isEnd) throws java.io.IOException
write
in class StreamImpl
buf
- byte buffer containing the bytesoffset
- offset into the bufferlength
- number of bytes to readisEnd
- if the write is at a close.throws
- ClientDisconnectException if the connection is droppedjava.io.IOException
public void flush() throws java.io.IOException
flush
in class StreamImpl
java.io.IOException
public void resetTotalBytes()
public long getTotalReadBytes()
public long getTotalWriteBytes()
public void closeWrite() throws java.io.IOException
closeWrite
in class StreamImpl
java.io.IOException
public void close() throws java.io.IOException
close
in class StreamImpl
java.io.IOException
public java.lang.String toString()
toString
in class java.lang.Object