Rice Pastry API

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

Field Summary
protected static byte[] MAGIC_NUMBER
           
 
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
 

Field Detail

MAGIC_NUMBER

protected static byte[] MAGIC_NUMBER
Constructor Detail

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.
Method Detail

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.


Rice Pastry API

Copyright © 2001 - Rice Pastry.


Imprint-Dataprotection