tapestry.api
Class TapestryPrefixRouteMsg

java.lang.Object
  |
  +--tapestry.api.TapestryPrefixRouteMsg
All Implemented Interfaces:
QueueElementIF, QuickSerializable
Direct Known Subclasses:
DynamicSurrogateMsg, RepairDHTTest.LocateMsg, RouteTest.RouteMsg, ShuttleRequestStorageMsg

public abstract class TapestryPrefixRouteMsg
extends Object
implements QueueElementIF, QuickSerializable

Messages sent from one OceanStore machine to some other, hopefully with a node GUID that closely matches the given one. The desired GUID to be matched is placed in peer when ! inbound. Because the recipient of this message is unknown to the sender, it cannot be MAC'ed.

Implementation-wise, this is simply a route-to-root operation which is received by the node closest to the (likely non-existent) root. If the root exists, it is equivalent to a TapestryRouteMsg with mac == false.


Field Summary
 int hopCount
          Number of hops taken by the message on its way to the application
 boolean inbound
          Whether this message is being received (true) or sent (false).
 SecureHash peer
          If inbound, the sender; if !
 int qos
          The delivery qos of this msg, added by Ling Huang
 int TTL
          Number of hops this message should take before delivering payload.
 
Constructor Summary
TapestryPrefixRouteMsg()
          Empty constructor.
TapestryPrefixRouteMsg(SecureHash peer, boolean inbound)
          Construct according to the given fields.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface ostore.util.QuickSerializable
serialize
 

Field Detail

peer

public SecureHash peer
If inbound, the sender; if ! inbound the GUID to try and match.


inbound

public boolean inbound
Whether this message is being received (true) or sent (false).


hopCount

public int hopCount
Number of hops taken by the message on its way to the application


TTL

public int TTL
Number of hops this message should take before delivering payload.


qos

public int qos
The delivery qos of this msg, added by Ling Huang

Constructor Detail

TapestryPrefixRouteMsg

public TapestryPrefixRouteMsg(SecureHash peer,
                              boolean inbound)
Construct according to the given fields.


TapestryPrefixRouteMsg

public TapestryPrefixRouteMsg()
Empty constructor. For use by derived types when reconstructing themselves from a byte array.