ePOST API

rice.pastry.socket
Class SourceRoute

java.lang.Object
  extended by rice.pastry.socket.SourceRoute
All Implemented Interfaces:
java.io.Serializable

public class SourceRoute
extends java.lang.Object
implements java.io.Serializable

Class which represets a source route to a remote IP address.

Version:
$Id: SourceRoute.java 2621 2005-06-30 18:32:58Z jstewart $
Author:
Alan Mislove
See Also:
Serialized Form

Field Summary
protected  EpochInetSocketAddress[] path
           
 
Method Summary
 SourceRoute append(EpochInetSocketAddress address)
          Method which creates a new source route by appending the given address to the end of this one
static SourceRoute build(EpochInetSocketAddress address)
          Constructor.
static SourceRoute build(EpochInetSocketAddress[] path)
          Constructor.
 boolean equals(java.lang.Object o)
          Checks equaltiy on source routes
 EpochInetSocketAddress getFirstHop()
          Method which returns the first "hop" of this source route
 EpochInetSocketAddress getHop(int i)
          Returns the hop at the given index
 EpochInetSocketAddress getLastHop()
          Method which returns the first "hop" of this source route
 int getNumHops()
          Returns the number of hops in this source route
 boolean goesThrough(EpochInetSocketAddress address)
          Returns whether or not this route goes through the given address
 int hashCode()
          Returns the hashCode of this source route
 boolean isDirect()
          Returns whether or not this route is direct
 SourceRoute prepend(EpochInetSocketAddress address)
          Method which creates a new source route by appending the given address to the end of this one
 SourceRoute removeLastHop()
          Method which creates a new source route by removing the last hop of this one
protected static SourceRoute resolve(java.util.WeakHashMap map, SourceRoute route)
          Method which performs the coalescing and interaction with the weak hash map
 SourceRoute reverse()
          Method which revereses path
 SourceRoute reverse(EpochInetSocketAddress localAddress)
          Method which revereses path and cliams the corresponding address
 java.net.InetSocketAddress[] toArray()
          Internal method which returns an array representing the source route
 java.lang.String toString()
          Internal method for computing the toString of an array of InetSocketAddresses
 java.lang.String toStringFull()
          Internal method for computing the toString of an array of InetSocketAddresses
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

path

protected EpochInetSocketAddress[] path
Method Detail

resolve

protected static SourceRoute resolve(java.util.WeakHashMap map,
                                     SourceRoute route)
Method which performs the coalescing and interaction with the weak hash map

Parameters:
id - The Id to coalesce
Returns:
The Id to use

build

public static SourceRoute build(EpochInetSocketAddress[] path)
Constructor.

Parameters:
path - The path of the route

build

public static SourceRoute build(EpochInetSocketAddress address)
Constructor.

Parameters:
path - The path of the route

hashCode

public int hashCode()
Returns the hashCode of this source route

Overrides:
hashCode in class java.lang.Object
Returns:
The hashCode

equals

public boolean equals(java.lang.Object o)
Checks equaltiy on source routes

Overrides:
equals in class java.lang.Object
Parameters:
o - The source route to compare to
Returns:
The equality

toString

public java.lang.String toString()
Internal method for computing the toString of an array of InetSocketAddresses

Overrides:
toString in class java.lang.Object
Parameters:
path - The path
Returns:
THe string

toStringFull

public java.lang.String toStringFull()
Internal method for computing the toString of an array of InetSocketAddresses

Parameters:
path - The path
Returns:
THe string

reverse

public SourceRoute reverse(EpochInetSocketAddress localAddress)
Method which revereses path and cliams the corresponding address

Parameters:
path - The path to reverse
address - The address to claim

reverse

public SourceRoute reverse()
Method which revereses path


getFirstHop

public EpochInetSocketAddress getFirstHop()
Method which returns the first "hop" of this source route

Returns:
The first hop of this source route

getLastHop

public EpochInetSocketAddress getLastHop()
Method which returns the first "hop" of this source route

Returns:
The first hop of this source route

getNumHops

public int getNumHops()
Returns the number of hops in this source route

Returns:
The number of hops

getHop

public EpochInetSocketAddress getHop(int i)
Returns the hop at the given index

Parameters:
i - The hop index
Returns:
The hop

isDirect

public boolean isDirect()
Returns whether or not this route is direct

Returns:
whether or not this route is direct

goesThrough

public boolean goesThrough(EpochInetSocketAddress address)
Returns whether or not this route goes through the given address

Returns:
whether or not this route goes through the given address

toArray

public java.net.InetSocketAddress[] toArray()
Internal method which returns an array representing the source route

Returns:
An array represetning the route

removeLastHop

public SourceRoute removeLastHop()
Method which creates a new source route by removing the last hop of this one


append

public SourceRoute append(EpochInetSocketAddress address)
Method which creates a new source route by appending the given address to the end of this one

Parameters:
address - The address to append

prepend

public SourceRoute prepend(EpochInetSocketAddress address)
Method which creates a new source route by appending the given address to the end of this one

Parameters:
address - The address to append

ePOST API

Copyright © 2001-2005 - Rice Pastry.