Rice Pastry API

rice.p2p.scribe.messaging
Class AnycastMessage

java.lang.Object
  extended byrice.p2p.scribe.messaging.ScribeMessage
      extended byrice.p2p.scribe.messaging.AnycastMessage
All Implemented Interfaces:
Message, RawMessage, java.io.Serializable
Direct Known Subclasses:
SubscribeMessage

public class AnycastMessage
extends ScribeMessage

Version:
$Id: AnycastMessage.java 3274 2006-05-15 16:17:47Z jeffh $
Author:
Alan Mislove
See Also:
Serialized Form

Field Summary
protected  RawScribeContent content
          the content of this message
protected  java.util.LinkedList toVisit
          the list of nodes which we are going to visit
static short TYPE
          DESCRIBE THE FIELD
protected  java.util.Vector visited
          the list of nodes which we have visited
 
Fields inherited from class rice.p2p.scribe.messaging.ScribeMessage
source, topic
 
Fields inherited from interface rice.p2p.commonapi.Message
HIGH_PRIORITY, LOW_PRIORITY, MAX_PRIORITY, MEDIUM_HIGH_PRIORITY, MEDIUM_LOW_PRIORITY, MEDIUM_PRIORITY
 
Constructor Summary
protected AnycastMessage(InputBuffer buf, Endpoint endpoint, ScribeContentDeserializer cd, boolean readContent)
          Protected because it should only be called from an extending class, to get version numbers correct.
  AnycastMessage(NodeHandle source, Topic topic, RawScribeContent content)
          Constructor for AnycastMessage.
  AnycastMessage(NodeHandle source, Topic topic, ScribeContent content)
          Constructor which takes a unique integer Id
 
Method Summary
 void addFirst(NodeHandle handle)
          Adds a node the the front of the to-visit list
 void addLast(NodeHandle handle)
          Adds a node the the end of the to-visit list
 void addVisited(NodeHandle handle)
          Adds a node to the visited list
static AnycastMessage build(InputBuffer buf, Endpoint endpoint, ScribeContentDeserializer scd)
          DESCRIBE THE METHOD
 ScribeContent getContent()
          Returns the content
 NodeHandle getNext()
          Returns the next handle to visit and removes the node from the list.
 short getType()
          Raw Serialization **************************************
 NodeHandle peekNext()
          Returns the next handle to visit
 void remove(NodeHandle handle)
          Removes the node handle from the to visit and visited lists
 void serialize(OutputBuffer buf)
          DESCRIBE THE METHOD
protected  void serializeHelper(OutputBuffer buf)
          Use this to allow SubscribeMessage to extend this, but not have the version number nor the content.
 void setContent(RawScribeContent content)
          Sets the content
 void setContent(ScribeContent content)
          Sets the Content attribute of the AnycastMessage object
 
Methods inherited from class rice.p2p.scribe.messaging.ScribeMessage
getPriority, getSource, getTopic, setSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

content

protected RawScribeContent content
the content of this message


visited

protected java.util.Vector visited
the list of nodes which we have visited


toVisit

protected java.util.LinkedList toVisit
the list of nodes which we are going to visit


TYPE

public static final short TYPE
DESCRIBE THE FIELD

See Also:
Constant Field Values
Constructor Detail

AnycastMessage

public AnycastMessage(NodeHandle source,
                      Topic topic,
                      ScribeContent content)
Constructor which takes a unique integer Id

Parameters:
source - The source address
topic - The topic
content - The content

AnycastMessage

public AnycastMessage(NodeHandle source,
                      Topic topic,
                      RawScribeContent content)
Constructor for AnycastMessage.

Parameters:
source - DESCRIBE THE PARAMETER
topic - DESCRIBE THE PARAMETER
content - DESCRIBE THE PARAMETER

AnycastMessage

protected AnycastMessage(InputBuffer buf,
                         Endpoint endpoint,
                         ScribeContentDeserializer cd,
                         boolean readContent)
                  throws java.io.IOException
Protected because it should only be called from an extending class, to get version numbers correct.

Parameters:
readContent - should probably be false if this class is extended, true if not. The parameter is wether or not this message could have a ScribeContent, the SubscribeMesage never has a content, so it should be false
buf - DESCRIBE THE PARAMETER
endpoint - DESCRIBE THE PARAMETER
cd - DESCRIBE THE PARAMETER
Throws:
java.io.IOException - DESCRIBE THE EXCEPTION
Method Detail

getContent

public ScribeContent getContent()
Returns the content

Returns:
The content

getNext

public NodeHandle getNext()
Returns the next handle to visit and removes the node from the list.

Returns:
The next handle to visit

getType

public short getType()
Raw Serialization **************************************

Returns:
The Type value

setContent

public void setContent(RawScribeContent content)
Sets the content

Parameters:
content - The content

setContent

public void setContent(ScribeContent content)
Sets the Content attribute of the AnycastMessage object

Parameters:
content - The new Content value

peekNext

public NodeHandle peekNext()
Returns the next handle to visit

Returns:
The next handle to visit

addVisited

public void addVisited(NodeHandle handle)
Adds a node to the visited list

Parameters:
handle - The node to add

addFirst

public void addFirst(NodeHandle handle)
Adds a node the the front of the to-visit list

Parameters:
handle - The handle to add

addLast

public void addLast(NodeHandle handle)
Adds a node the the end of the to-visit list

Parameters:
handle - The handle to add

remove

public void remove(NodeHandle handle)
Removes the node handle from the to visit and visited lists

Parameters:
handle - The handle to remove

serialize

public void serialize(OutputBuffer buf)
               throws java.io.IOException
DESCRIBE THE METHOD

Specified by:
serialize in interface RawMessage
Overrides:
serialize in class ScribeMessage
Parameters:
buf - DESCRIBE THE PARAMETER
Throws:
java.io.IOException - DESCRIBE THE EXCEPTION

serializeHelper

protected void serializeHelper(OutputBuffer buf)
                        throws java.io.IOException
Use this to allow SubscribeMessage to extend this, but not have the version number nor the content.

Parameters:
buf - DESCRIBE THE PARAMETER
Throws:
java.io.IOException - DESCRIBE THE EXCEPTION

build

public static AnycastMessage build(InputBuffer buf,
                                   Endpoint endpoint,
                                   ScribeContentDeserializer scd)
                            throws java.io.IOException
DESCRIBE THE METHOD

Parameters:
buf - DESCRIBE THE PARAMETER
endpoint - DESCRIBE THE PARAMETER
scd - DESCRIBE THE PARAMETER
Returns:
DESCRIBE THE RETURN VALUE
Throws:
java.io.IOException - DESCRIBE THE EXCEPTION

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection