Package fr.dyade.aaa.agent
Class ByteArrayMessageInputStream
- java.lang.Object
-
- java.io.InputStream
-
- fr.dyade.aaa.agent.MessageInputStream
-
- fr.dyade.aaa.agent.ByteArrayMessageInputStream
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public abstract class ByteArrayMessageInputStream extends MessageInputStream
Class used to recv messages through a stream in a byte array.Be careful this InputStream is not synchronized.
-
-
Field Summary
-
Fields inherited from class fr.dyade.aaa.agent.MessageInputStream
buf, compressedFlows, count, pos
-
-
Constructor Summary
Constructors Constructor Description ByteArrayMessageInputStream(byte[] buf)Creates aByteArrayMessageInputStreamthat usesbufas its buffer array.ByteArrayMessageInputStream(byte[] buf, int offset, int length)CreatesByteArrayMessageInputStreamthat usesbufas its buffer array.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intread()Reads the next byte of data from the input stream.intread(byte[] b, int off, int len)Reads up tolenbytes of data from the input stream into an array of bytes.protected voidreadFully(int length)Reads length bytes of data from the input stream.-
Methods inherited from class fr.dyade.aaa.agent.MessageInputStream
read, readHeader, readInt, readMessage, readMessageHeader, readShort
-
Methods inherited from class java.io.InputStream
available, close, mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, reset, skip, transferTo
-
-
-
-
Constructor Detail
-
ByteArrayMessageInputStream
public ByteArrayMessageInputStream(byte[] buf)
Creates aByteArrayMessageInputStreamthat usesbufas its buffer array.Be careful, the buffer array is not copied. The initial value of
posis 0 and the initial value ofcountis the length ofbuf.- Parameters:
buf- the input buffer.
-
ByteArrayMessageInputStream
public ByteArrayMessageInputStream(byte[] buf, int offset, int length)CreatesByteArrayMessageInputStreamthat usesbufas its buffer array.Be careful, the buffer array is not copied. The initial value of
posisoffsetand the initial value ofcountis the minimum ofoffset+lengthandbuf.length.- Parameters:
buf- the input buffer.offset- the offset in the buffer of the first byte to read.length- the maximum number of bytes to read from the buffer.
-
-
Method Detail
-
read
public final int read()
Reads the next byte of data from the input stream. The value byte is returned as anintin the range0to255. If no byte is available because the end of the stream has been reached, the value-1is returned. This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.- Specified by:
readin classMessageInputStream- Returns:
- the next byte of data, or
-1if the end of the stream is reached.
-
read
public final int read(byte[] b, int off, int len) throws IOExceptionReads up tolenbytes of data from the input stream into an array of bytes. An attempt is made to read as many aslenbytes, 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.
- Specified by:
readin classMessageInputStream- Parameters:
b- the buffer into which the data is read.off- the start offset in arraybat which the data is written.len- the maximum number of bytes to read.- Returns:
- the total number of bytes read into the buffer, or
-1if there is no more data because the end of the stream has been reached. - Throws:
NullPointerException- Ifbisnull.IndexOutOfBoundsException- Ifoffis negative,lenis negative, orlenis greater thanb.length - offIOException- 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.
-
readFully
protected final void readFully(int length) throws IOExceptionReads length bytes of data from the input stream.- Specified by:
readFullyin classMessageInputStream- Parameters:
length- number of byte to read.- Throws:
IOException- an error occurs.
-
-