Rice Pastry API

rice.p2p.past.messaging
Class PastMessage

java.lang.Object
  extended by rice.p2p.past.messaging.PastMessage
All Implemented Interfaces:
java.io.Serializable, Message, RawMessage, RawSerializable
Direct Known Subclasses:
CacheMessage, ContinuationMessage, GCCollectMessage, MessageLostMessage

public abstract class PastMessage
extends java.lang.Object
implements RawMessage

Version:
$Id: PastMessage.java 4654 2009-01-08 16:33:07Z jeffh $
Author:
Alan Mislove, Ansley Post, Peter Druschel
See Also:
Serialized Form

Field Summary
protected  Id dest
           
protected  int id
           
protected  boolean isResponse
           
protected  NodeHandle source
           
 
Fields inherited from interface rice.p2p.commonapi.Message
DEFAULT_PRIORITY, HIGH_PRIORITY, LOW_PRIORITY, LOWEST_PRIORITY, MAX_PRIORITY, MEDIUM_HIGH_PRIORITY, MEDIUM_LOW_PRIORITY, MEDIUM_PRIORITY
 
Constructor Summary
  PastMessage(InputBuffer buf, Endpoint endpoint)
           
protected PastMessage(int id, NodeHandle source, Id dest)
          Constructor which takes a unique integer Id
 
Method Summary
 void addHop(NodeHandle handle)
          Method which is designed to be overridden by subclasses if they need to keep track of where they've been.
 Id getDestination()
          Method which returns this messages' destination address
 int getPriority()
          Method which should return the priority level of this message.
 NodeHandle getSource()
          Method which returns this messages' source address
 int getUID()
          Method which returns this messages' unique id
 boolean isResponse()
          Method which returns whether or not this message is a response.
abstract  void returnResponse(Continuation c, Environment env, java.lang.String instance)
          Method by which this message is supposed to return it's response.
 void serialize(OutputBuffer buf)
           
protected  void setResponse()
          Method which builds a response for this message, using the provided object as a result.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface rice.p2p.commonapi.rawserialization.RawMessage
getType
 

Field Detail

id

protected int id

source

protected NodeHandle source

dest

protected Id dest

isResponse

protected boolean isResponse
Constructor Detail

PastMessage

protected PastMessage(int id,
                      NodeHandle source,
                      Id dest)
Constructor which takes a unique integer Id

Parameters:
id - The unique id
source - The source address
dest - The destination address

PastMessage

public PastMessage(InputBuffer buf,
                   Endpoint endpoint)
            throws java.io.IOException
Throws:
java.io.IOException
Method Detail

getPriority

public int getPriority()
Method which should return the priority level of this message. The messages can range in priority from 0 (highest priority) to Integer.MAX_VALUE (lowest) - when sending messages across the wire, the queue is sorted by message priority. If the queue reaches its limit, the lowest priority messages are discarded. Thus, applications which are very verbose should have LOW_PRIORITY or lower, and applications which are somewhat quiet are allowed to have MEDIUM_PRIORITY or possibly even HIGH_PRIORITY.

Specified by:
getPriority in interface Message
Returns:
This message's priority

getUID

public int getUID()
Method which returns this messages' unique id

Returns:
The id of this message

getSource

public NodeHandle getSource()
Method which returns this messages' source address

Returns:
The source of this message

getDestination

public Id getDestination()
Method which returns this messages' destination address

Returns:
The dest of this message

setResponse

protected void setResponse()
Method which builds a response for this message, using the provided object as a result. Should be overriden by subclasses, but with the super.setResponse() called.


isResponse

public boolean isResponse()
Method which returns whether or not this message is a response.

Returns:
whether or not this message is a response.

returnResponse

public abstract void returnResponse(Continuation c,
                                    Environment env,
                                    java.lang.String instance)
Method by which this message is supposed to return it's response.

Parameters:
c - The continuation to return the reponse to.

addHop

public void addHop(NodeHandle handle)
Method which is designed to be overridden by subclasses if they need to keep track of where they've been.

Parameters:
handle - The current local handle

serialize

public void serialize(OutputBuffer buf)
               throws java.io.IOException
Specified by:
serialize in interface RawSerializable
Throws:
java.io.IOException

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection