|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.glassfish.grizzly.streams.AbstractStreamReader
public abstract class AbstractStreamReader
Each method reads data from the current ByteBuffer. If not enough data is present in the current ByteBuffer, discard is called on the current ByteBuffer and we advance to the next ByteBuffer, or block if not enough data is present. If close() is called, all subsequent method calls will throw an IllegalStateException, and any threads blocked waiting for more data will be unblocked, and continue with an IllegalStateException from the blocking method call.
dataReceived and close may be safely invoked by multiple threads. The other methods must be invoked only by one thread, which is the reader of this data stream.
| Field Summary | |
|---|---|
protected Connection |
connection
|
protected Input |
input
|
protected AtomicBoolean |
isClosed
|
| Constructor Summary | |
|---|---|
protected |
AbstractStreamReader(Connection connection,
Input streamInput)
Create a new ByteBufferReader. |
| Method Summary | ||
|---|---|---|
int |
available()
Return the number of bytes available for get calls. |
|
void |
close()
Closes the StreamReader and causes all subsequent method calls on this object to throw IllegalStateException. |
|
|
decode(Transformer<Stream,E> decoder)
Read and decode data from the StreamReader |
|
|
decode(Transformer<Stream,E> decoder,
CompletionHandler<E> completionHandler)
Read and decode data from the StreamReader |
|
Buffer |
getBufferWindow()
|
|
Connection |
getConnection()
Get the Connection this StreamReader belongs to. |
|
boolean |
hasAvailable()
Return true if StreamReader has available data, which could be read, or false otherwise. |
|
boolean |
isClosed()
Returns true, if StreamReader has been closed, or false otherwise. |
|
boolean |
isSupportBufferWindow()
|
|
GrizzlyFuture<Integer> |
notifyAvailable(int size)
Method returns Future, using which it's possible check if
StreamReader has required amount of bytes available
for reading reading. |
|
GrizzlyFuture<Integer> |
notifyAvailable(int size,
CompletionHandler<Integer> completionHandler)
Method returns Future, using which it's possible check if
StreamReader has required amount of bytes available
for reading reading. |
|
GrizzlyFuture<Integer> |
notifyCondition(Condition condition)
Method returns Future, using which it's possible check if
StreamReader meets specific Condition. |
|
GrizzlyFuture<Integer> |
notifyCondition(Condition condition,
CompletionHandler<Integer> completionHandler)
Method returns Future, using which it's possible check if
StreamReader meets specific Condition. |
|
boolean |
readBoolean()
Get the next boolean in the stream. |
|
void |
readBooleanArray(boolean[] data)
Fill data with booleans (byte 1=true, 0=false) from the stream. |
|
byte |
readByte()
Get the next byte in the stream. |
|
void |
readByteArray(byte[] data)
Fill data with bytes from the stream. |
|
void |
readByteArray(byte[] data,
int offset,
int length)
Fill data with bytes from the stream. |
|
void |
readBytes(Buffer buffer)
Fill the buffer with data from the stream (that is, copy data from the stream to fill buffer from position to limit). |
|
char |
readChar()
Get the next character in the stream. |
|
void |
readCharArray(char[] data)
Fill data with characters from the stream. |
|
double |
readDouble()
Get the next double in the stream. |
|
void |
readDoubleArray(double[] data)
Fill data with characters from the stream. |
|
float |
readFloat()
Get the next float in the stream. |
|
void |
readFloatArray(float[] data)
Fill data with characters from the stream. |
|
int |
readInt()
Get the next int in the stream. |
|
void |
readIntArray(int[] data)
Fill data with characters from the stream. |
|
long |
readLong()
Get the next long in the stream. |
|
void |
readLongArray(long[] data)
Fill data with characters from the stream. |
|
short |
readShort()
Get the next short in the stream. |
|
void |
readShortArray(short[] data)
Fill data with characters from the stream. |
|
void |
skip(int length)
|
|
Buffer |
takeBufferWindow()
|
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final Connection connection
protected final Input input
protected final AtomicBoolean isClosed
| Constructor Detail |
|---|
protected AbstractStreamReader(Connection connection,
Input streamInput)
connection - the Connection to be associated with this
AbstractStreamReaderstreamInput - the stream source| Method Detail |
|---|
public boolean readBoolean()
throws IOException
readBoolean in interface StreamReaderIOException
public byte readByte()
throws IOException
readByte in interface StreamReaderIOException
public char readChar()
throws IOException
readChar in interface StreamReaderIOException
public short readShort()
throws IOException
readShort in interface StreamReaderIOException
public int readInt()
throws IOException
readInt in interface StreamReaderIOException
public long readLong()
throws IOException
readLong in interface StreamReaderIOException
public final float readFloat()
throws IOException
readFloat in interface StreamReaderIOException
public final double readDouble()
throws IOException
readDouble in interface StreamReaderIOException
public void readBooleanArray(boolean[] data)
throws IOException
readBooleanArray in interface StreamReaderIOException
public void readByteArray(byte[] data)
throws IOException
readByteArray in interface StreamReaderIOException
public void readByteArray(byte[] data,
int offset,
int length)
throws IOException
readByteArray in interface StreamReaderIOException
public void readBytes(Buffer buffer)
throws IOException
readBytes in interface StreamReaderIOException
public void readCharArray(char[] data)
throws IOException
readCharArray in interface StreamReaderIOException
public void readShortArray(short[] data)
throws IOException
readShortArray in interface StreamReaderIOException
public void readIntArray(int[] data)
throws IOException
readIntArray in interface StreamReaderIOException
public void readLongArray(long[] data)
throws IOException
readLongArray in interface StreamReaderIOException
public void readFloatArray(float[] data)
throws IOException
readFloatArray in interface StreamReaderIOException
public void readDoubleArray(double[] data)
throws IOException
readDoubleArray in interface StreamReaderIOExceptionpublic void skip(int length)
skip in interface StreamReaderpublic <E> GrizzlyFuture<E> decode(Transformer<Stream,E> decoder)
decode in interface StreamReaderE - decoded data typedecoder - Transformer
Future, which will hold the decoding state.
public <E> GrizzlyFuture<E> decode(Transformer<Stream,E> decoder,
CompletionHandler<E> completionHandler)
decode in interface StreamReaderE - decoded data typedecoder - TransformercompletionHandler - CompletionHandler, which will be
notified, when decoder will become ready.
Future, which will hold the decoding state.public GrizzlyFuture<Integer> notifyAvailable(int size)
Future, using which it's possible check if
StreamReader has required amount of bytes available
for reading reading.
notifyAvailable in interface StreamReadersize - number of bytes, which should become available on
StreamReader.
Future, using which it's possible to check whether
StreamReader has required amount of bytes available for reading.
public GrizzlyFuture<Integer> notifyAvailable(int size,
CompletionHandler<Integer> completionHandler)
Future, using which it's possible check if
StreamReader has required amount of bytes available
for reading reading.
CompletionHandler is also passed to get notified, once required
number of bytes will become available for reading.
notifyAvailable in interface StreamReadersize - number of bytes, which should become available on
StreamReader.completionHandler - CompletionHandler, which will be notified
once required number of bytes will become available.
Future, using which it's possible to check whether
StreamReader has required amount of bytes available for reading.public GrizzlyFuture<Integer> notifyCondition(Condition condition)
Future, using which it's possible check if
StreamReader meets specific Condition.
notifyCondition in interface StreamReadercondition - Condition StreamReader should meet.
Future, using which it's possible to check whether
StreamReader meets the required Condition.
public GrizzlyFuture<Integer> notifyCondition(Condition condition,
CompletionHandler<Integer> completionHandler)
Future, using which it's possible check if
StreamReader meets specific Condition.
CompletionHandler is also passed to get notified, once
the Condition will be satisfied.
notifyCondition in interface StreamReadercondition - Condition StreamReader should meet.completionHandler - CompletionHandler, which will be
notified, once the Condition will be satisfied.
Future, using which it's possible to check whether
StreamReader meets the required Condition.public void close()
close in interface Closeablepublic boolean isClosed()
isClosed in interface StreamReaderpublic final boolean hasAvailable()
hasAvailable in interface StreamReaderpublic int available()
available in interface StreamReaderpublic boolean isSupportBufferWindow()
isSupportBufferWindow in interface StreamReaderpublic Buffer getBufferWindow()
getBufferWindow in interface StreamReaderpublic Buffer takeBufferWindow()
takeBufferWindow in interface StreamReaderpublic Connection getConnection()
Connection this StreamReader belongs to.
getConnection in interface StreamConnection this StreamReader belongs to.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||