|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sshtools.j2ssh.io.DynamicBuffer
public class DynamicBuffer
This class provides an alternative method of storing data, used within the API where Piped Streams could have been used. We found that Piped streams would lock if a thread attempted to read to data when the OutputStream attached was not being read; since we have no control over when the user will actually read the data, this behaviour led us to develop this dynamic buffer which will automatically grow if the buffer is full.
*
Field Summary | |
---|---|
protected byte[] |
buf
The buffer |
protected static int |
DEFAULT_BUFFER_SIZE
Buffer size when the dynamic buffer is opened |
protected java.io.InputStream |
in
This buffers InputStream |
protected java.io.OutputStream |
out
This buffers OutputStream |
protected int |
readpos
The current read position |
protected int |
writepos
The current write position |
Constructor Summary | |
---|---|
DynamicBuffer()
Creates a new DynamicBuffer object. |
Method Summary | |
---|---|
protected int |
available()
Return the number of bytes of data available to be read from the buffer |
void |
close()
Closes the buffer |
protected void |
flush()
Flush data |
java.io.InputStream |
getInputStream()
Get the InputStream of this buffer. |
java.io.OutputStream |
getOutputStream()
Get the OutputStream of the buffer. |
protected int |
read()
Read a byte from the buffer |
protected int |
read(byte[] data,
int offset,
int len)
Read a byte array from the buffer |
void |
setBlockInterrupt(int interrupt)
|
protected void |
write(byte[] data,
int offset,
int len)
|
protected void |
write(int b)
Write a byte array to the buffer |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final int DEFAULT_BUFFER_SIZE
protected byte[] buf
protected int writepos
protected int readpos
protected java.io.InputStream in
protected java.io.OutputStream out
Constructor Detail |
---|
public DynamicBuffer()
Method Detail |
---|
public java.io.InputStream getInputStream()
public java.io.OutputStream getOutputStream()
protected int available()
public void close()
protected void write(int b) throws java.io.IOException
b
-
java.io.IOException
protected void write(byte[] data, int offset, int len) throws java.io.IOException
data
- offset
- len
-
java.io.IOException
public void setBlockInterrupt(int interrupt)
protected int read() throws java.io.IOException
java.io.IOException
java.io.InterruptedIOException
protected int read(byte[] data, int offset, int len) throws java.io.IOException
data
- offset
- len
-
java.io.IOException
java.io.InterruptedIOException
protected void flush() throws java.io.IOException
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |