public abstract class BufferedMessageInputStream extends MessageInputStream
Be careful this InputStream is not synchronized.
Modifier and Type | Field and Description |
---|---|
protected InputStream |
in
The underlying input stream to be read.
|
buf, compressedFlows, count, logmon, pos
Constructor and Description |
---|
BufferedMessageInputStream()
Creates a
BufferedMessageInputStream that uses a buffer
with default size. |
BufferedMessageInputStream(int size)
Creates a
BufferedMessageInputStream that uses a buffer
with specified size. |
Modifier and Type | Method and Description |
---|---|
protected void |
clean()
Resets the stream for a new use.
|
private void |
fill()
Fills the empty buffer with more data.
|
int |
read()
Reads the next byte of data from the input stream.
|
int |
read(byte[] b,
int off,
int len)
Reads up to
len bytes of data from the input stream into
an array of bytes. |
private int |
read1(byte[] b,
int off,
int len) |
protected void |
readFully(int length)
Reads length bytes of data from the input stream.
|
getLogger, read, readHeader, readInt, readMessage, readMessageHeader, readShort
available, close, mark, markSupported, reset, skip
protected InputStream in
public BufferedMessageInputStream()
BufferedMessageInputStream
that uses a buffer
with default size.public BufferedMessageInputStream(int size)
BufferedMessageInputStream
that uses a buffer
with specified size.size
- the buffer size.IllegalArgumentException
- if size is less than 0.protected final void clean()
private final void fill() throws IOException
IOException
public final int read() throws IOException
int
in the range 0
to
255
. If no byte is available because the end of the stream
has been reached, the value -1
is returned. This method
blocks until input data is available, the end of the stream is detected,
or an exception is thrown.read
in class MessageInputStream
-1
if the end of the
stream is reached.IOException
- if an I/O error occurs.public final int read(byte[] b, int off, int len) throws IOException
len
bytes of data from the input stream into
an array of bytes. An attempt is made to read as many as
len
bytes, but a smaller number may be read.
The number of bytes actually read is returned as an integer.
This method blocks until input data is available, end of file is detected, or an exception is thrown.
read
in class MessageInputStream
b
- the buffer into which the data is read.off
- the start offset in array b
at which the data is written.len
- the maximum number of bytes to read.-1
if there is no more data because the end of
the stream has been reached.IOException
- If the first byte cannot be read for any reason
other than end of file, or if the input stream has been closed, or if
some other I/O error occurs.NullPointerException
- If b
is null
.IndexOutOfBoundsException
- If off
is negative,
len
is negative, or len
is greater than
b.length - off
private final int read1(byte[] b, int off, int len) throws IOException
IOException
protected final void readFully(int length) throws IOException
readFully
in class MessageInputStream
IOException
Copyright © 2015 ScalAgent D.T.. All Rights Reserved.