fr.dyade.aaa.agent.MessageInputStream Class Reference

Inherited by fr.dyade.aaa.agent.BufferedMessageInputStream, and fr.dyade.aaa.agent.ByteArrayMessageInputStream.

Inheritance diagram for fr.dyade.aaa.agent.MessageInputStream:

Inheritance graph
[legend]
List of all members.

Public Member Functions

abstract int read () throws IOException
final int read (byte b[]) throws IOException
abstract int read (byte b[], int off, int len) throws IOException

Protected Member Functions

final short readShort ()
final int readInt ()
abstract void readHeader () throws IOException
final void readMessageHeader (Message msg) throws IOException
final Message readMessage () throws Exception
abstract void readFully (int length) throws IOException

Static Protected Member Functions

static Logger getLogger ()

Protected Attributes

byte buf []
int count
int pos
boolean compressedFlows = false

Static Protected Attributes

static Logger logmon = null

Package Functions

 MessageInputStream ()

Detailed Description

Class used to recv messages through a stream.

Be careful this InputStream is not synchronized.

Definition at line 38 of file MessageInputStream.java.


Constructor & Destructor Documentation

fr.dyade.aaa.agent.MessageInputStream.MessageInputStream (  )  [package]

Creates a MessageInputStream.

Definition at line 89 of file MessageInputStream.java.


Member Function Documentation

static Logger fr.dyade.aaa.agent.MessageInputStream.getLogger (  )  [static, protected]

Returns default logger for MessageInputStream.

Returns:
default logger for MessageInputStream.

Definition at line 80 of file MessageInputStream.java.

References fr.dyade.aaa.agent.MessageInputStream.logmon.

Referenced by fr.dyade.aaa.agent.BufferedMessageInputStream.read(), fr.dyade.aaa.agent.BufferedMessageInputStream.readFully(), fr.dyade.aaa.agent.MessageInputStream.readMessage(), and fr.dyade.aaa.agent.MessageInputStream.readMessageHeader().

abstract int fr.dyade.aaa.agent.MessageInputStream.read (  )  throws IOException [pure virtual]

Reads the next byte of data from the input stream. The value byte is returned as an 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.

Subclass must provide an implementation of this method.

Returns:
the next byte of data, or -1 if the end of the stream is reached.
Exceptions:
IOException if an I/O error occurs.

Implemented in fr.dyade.aaa.agent.BufferedMessageInputStream, and fr.dyade.aaa.agent.ByteArrayMessageInputStream.

Referenced by fr.dyade.aaa.agent.MessageInputStream.read(), and fr.dyade.aaa.agent.MessageInputStream.readMessage().

final int fr.dyade.aaa.agent.MessageInputStream.read ( byte  b[]  )  throws IOException

Reads some number of bytes from the input stream and stores them into the buffer array b. 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.

The read(b) method for class InputStream has the same effect as: read(b, 0, b.length)

Parameters:
b the buffer into which the data is read.
Returns:
the total number of bytes read into the buffer, or -1 is there is no more data because the end of the stream has been reached.
Exceptions:
IOException If the first byte cannot be read for any reason other than the end of the file, if the input stream has been closed, or if some other I/O error occurs.
NullPointerException if b is null.

Definition at line 125 of file MessageInputStream.java.

References fr.dyade.aaa.agent.MessageInputStream.read().

Here is the call graph for this function:

abstract int fr.dyade.aaa.agent.MessageInputStream.read ( byte  b[],
int  off,
int  len 
) throws IOException [pure virtual]

Reads up to 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.

Parameters:
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.
Returns:
the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
Exceptions:
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

Implemented in fr.dyade.aaa.agent.BufferedMessageInputStream, and fr.dyade.aaa.agent.ByteArrayMessageInputStream.

final short fr.dyade.aaa.agent.MessageInputStream.readShort (  )  [protected]

Reads a short directly from the buffer. Be careful, the buffer must contain enough data to read the short.

Returns:
the short.

Definition at line 161 of file MessageInputStream.java.

References fr.dyade.aaa.agent.MessageInputStream.buf, and fr.dyade.aaa.agent.MessageInputStream.pos.

Referenced by fr.dyade.aaa.agent.MessageInputStream.readMessageHeader().

final int fr.dyade.aaa.agent.MessageInputStream.readInt (  )  [protected]

Reads an int directly from the buffer. Be careful, the buffer must contain enough data to read the int.

Returns:
the int.

Definition at line 171 of file MessageInputStream.java.

References fr.dyade.aaa.agent.MessageInputStream.buf, and fr.dyade.aaa.agent.MessageInputStream.pos.

Referenced by fr.dyade.aaa.agent.SimpleNetwork.NetworkInputStream.readHeader(), fr.dyade.aaa.agent.HttpNetwork.NetworkInputStream.readHeader(), fr.dyade.aaa.agent.MessageInputStream.readMessage(), and fr.dyade.aaa.agent.MessageInputStream.readMessageHeader().

abstract void fr.dyade.aaa.agent.MessageInputStream.readHeader (  )  throws IOException [protected, pure virtual]

Reads the protocol header from this output stream. Be careful, the buffer must contain enough data to read the short. This method must be overloaded in subclass.

Implemented in fr.dyade.aaa.agent.HttpNetwork.NetworkInputStream, fr.dyade.aaa.agent.PoolNetwork.NetSession.NetworkInputStream, fr.dyade.aaa.agent.SimpleNetwork.NetworkInputStream, and fr.dyade.aaa.agent.UDPNetwork.NetworkInputStream.

Referenced by fr.dyade.aaa.agent.MessageInputStream.readMessage().

final void fr.dyade.aaa.agent.MessageInputStream.readMessageHeader ( Message  msg  )  throws IOException [protected]

Reads the message header datas from the buffer.

Parameters:
msg The message to complete.

Definition at line 188 of file MessageInputStream.java.

References fr.dyade.aaa.agent.MessageInputStream.buf, fr.dyade.aaa.agent.MessageInputStream.getLogger(), fr.dyade.aaa.agent.MessageInputStream.pos, fr.dyade.aaa.agent.MessageInputStream.readFully(), fr.dyade.aaa.agent.MessageInputStream.readInt(), and fr.dyade.aaa.agent.MessageInputStream.readShort().

Referenced by fr.dyade.aaa.agent.MessageInputStream.readMessage().

Here is the call graph for this function:

final Message fr.dyade.aaa.agent.MessageInputStream.readMessage (  )  throws Exception [protected]

Reads the message from this input stream.

Returns:
the incoming message.

Definition at line 217 of file MessageInputStream.java.

References fr.dyade.aaa.agent.MessageInputStream.buf, fr.dyade.aaa.agent.MessageInputStream.compressedFlows, fr.dyade.aaa.agent.MessageInputStream.count, fr.dyade.aaa.agent.Notification.detached, fr.dyade.aaa.agent.Notification.expiration, fr.dyade.aaa.agent.MessageInputStream.getLogger(), fr.dyade.aaa.agent.Message.not, fr.dyade.aaa.agent.Message.optFromByte(), fr.dyade.aaa.agent.MessageInputStream.pos, fr.dyade.aaa.agent.MessageInputStream.read(), fr.dyade.aaa.agent.MessageInputStream.readFully(), fr.dyade.aaa.agent.MessageInputStream.readHeader(), fr.dyade.aaa.agent.MessageInputStream.readInt(), and fr.dyade.aaa.agent.MessageInputStream.readMessageHeader().

Referenced by fr.dyade.aaa.agent.HttpNetwork.NetworkInputStream.readFrom(), fr.dyade.aaa.agent.SimpleNetwork.NetworkInputStream.readMessage(), fr.dyade.aaa.agent.UDPNetwork.MessageBuilder.run(), and fr.dyade.aaa.agent.PoolNetwork.NetSession.run().

Here is the call graph for this function:

abstract void fr.dyade.aaa.agent.MessageInputStream.readFully ( int  length  )  throws IOException [protected, pure virtual]

Reads length bytes of data from the input stream. This method returns when length bytes are available or if end of stream is reached.

Implemented in fr.dyade.aaa.agent.BufferedMessageInputStream, and fr.dyade.aaa.agent.ByteArrayMessageInputStream.

Referenced by fr.dyade.aaa.agent.MessageInputStream.readMessage(), and fr.dyade.aaa.agent.MessageInputStream.readMessageHeader().


Member Data Documentation

byte fr.dyade.aaa.agent.MessageInputStream.buf[] [protected]

The internal buffer where data is stored.

Definition at line 42 of file MessageInputStream.java.

Referenced by fr.dyade.aaa.agent.BufferedMessageInputStream.BufferedMessageInputStream(), fr.dyade.aaa.agent.ByteArrayMessageInputStream.read(), fr.dyade.aaa.agent.BufferedMessageInputStream.read(), fr.dyade.aaa.agent.MessageInputStream.readInt(), fr.dyade.aaa.agent.MessageInputStream.readMessage(), fr.dyade.aaa.agent.MessageInputStream.readMessageHeader(), and fr.dyade.aaa.agent.MessageInputStream.readShort().

int fr.dyade.aaa.agent.MessageInputStream.count [protected]

The number of valid bytes in the buffer.

The index one greater than the index of the last valid byte in the buffer.

This value is always in the range 0 through buf.length; elements buf[0] through buf[count-1] contain valid byte data.

Definition at line 54 of file MessageInputStream.java.

Referenced by fr.dyade.aaa.agent.BufferedMessageInputStream.BufferedMessageInputStream(), fr.dyade.aaa.agent.ByteArrayMessageInputStream.ByteArrayMessageInputStream(), fr.dyade.aaa.agent.BufferedMessageInputStream.clean(), fr.dyade.aaa.agent.ByteArrayMessageInputStream.read(), fr.dyade.aaa.agent.BufferedMessageInputStream.read(), fr.dyade.aaa.agent.BufferedMessageInputStream.readFully(), and fr.dyade.aaa.agent.MessageInputStream.readMessage().

int fr.dyade.aaa.agent.MessageInputStream.pos [protected]

The current position in the buffer. This is the index of the next character to be read from the buf array.

This value is always in the range 0 through count. If it is less than count, then buf[pos] is the next byte to be supplied as input; if it is equal to count, then the next read or skip operation will require more bytes to be read from the contained input stream.

Definition at line 67 of file MessageInputStream.java.

Referenced by fr.dyade.aaa.agent.BufferedMessageInputStream.BufferedMessageInputStream(), fr.dyade.aaa.agent.ByteArrayMessageInputStream.ByteArrayMessageInputStream(), fr.dyade.aaa.agent.BufferedMessageInputStream.clean(), fr.dyade.aaa.agent.ByteArrayMessageInputStream.read(), fr.dyade.aaa.agent.BufferedMessageInputStream.read(), fr.dyade.aaa.agent.MessageInputStream.readInt(), fr.dyade.aaa.agent.MessageInputStream.readMessage(), fr.dyade.aaa.agent.MessageInputStream.readMessageHeader(), and fr.dyade.aaa.agent.MessageInputStream.readShort().

Logger fr.dyade.aaa.agent.MessageInputStream.logmon = null [static, protected]

Default logger for MessageInputStream.

Definition at line 74 of file MessageInputStream.java.

Referenced by fr.dyade.aaa.agent.MessageInputStream.getLogger().


The documentation for this class was generated from the following file:
Generated on Tue Sep 16 16:16:32 2008 for joram by  doxygen 1.5.0