rice.pastry.wire
Class SocketChannelReader
java.lang.Object
|
+--rice.pastry.wire.SocketChannelReader
- public class SocketChannelReader
- extends java.lang.Object
Class which serves as an "reader" for messages sent across the wire
via the Pastry socket protocol. This class builds up an
object as it is being sent across the wire, and when it
has recieved all of an object, it informs the WirePastryNode by using
the recieveMessage(msg) method. The SocketChannelReader is designed to
be reused, to read objects continiously off of one stream.
- Version:
- $Id: SocketChannelReader.java,v 1.10 2003/10/01 06:35:10 amislove Exp $
- Author:
- Alan Mislove
Constructor Summary |
SocketChannelReader(rice.pastry.wire.WirePastryNode spn)
Constructor which creates this SocketChannelReader and the
WirePastryNode. |
Method Summary |
java.lang.Object |
read(java.nio.channels.SocketChannel sc)
Method which is to be called when there is data available on
the specified SocketChannel. |
void |
reset()
Resets this input stream so that it is ready to read another
object off of the queue. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MAGIC_NUMBER
protected static byte[] MAGIC_NUMBER
SocketChannelReader
public SocketChannelReader(rice.pastry.wire.WirePastryNode spn)
- Constructor which creates this SocketChannelReader and the
WirePastryNode. Once the reader has completely read a message,
it deserializes the message and hands it off to the pastry node.
- Parameters:
spn
- The PastryNode the SocketChannelReader serves.
read
public java.lang.Object read(java.nio.channels.SocketChannel sc)
throws java.io.IOException
- Method which is to be called when there is data available on
the specified SocketChannel. The data is read in, and if
the object is done being read, it is parsed.
- Parameters:
sc
- The channel to read from.
- Returns:
- The object read off the stream, or null if no object has
been completely read yet
java.io.IOException
reset
public void reset()
- Resets this input stream so that it is ready to read another
object off of the queue.
Copyright © 2001 - Rice Pastry.