Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Rice Pastry API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rice.pastry.socket
Class SourceRoute

    java.lang.Object
      rice.pastry.messaging.Message
          rice.pastry.messaging.PRawMessage
              rice.pastry.socket.SourceRoute

All Implemented Interfaces:
  java.io.Serializable, Message, RawMessage

    public class SourceRoute

extends PRawMessage
implements java.io.Serializable

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

Version:
  $Id: SourceRoute.java 3519 2007-01-08 17:57:39Z jeffh $
Author:
  Alan Mislove
See Also:
  Serialized Form

Field Summary
`protected EpochInetSocketAddress[]` | `path`
`static short` | `TYPE`

Fields inherited from class rice.pastry.messaging.Message
`DEFAULT_PRIORITY_LEVEL`

Fields inherited from interface rice.p2p.commonapi.Message
`HIGH_PRIORITY, LOW_PRIORITY, MAX_PRIORITY, MEDIUM_HIGH_PRIORITY, MEDIUM_LOW_PRIORITY, MEDIUM_PRIORITY`

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.
`static SourceRoute` | `build(InputBuffer buf)`
`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
`short` | `getType()` Raw Serialization
`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
`void` | `serialize(OutputBuffer buf)`
`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 rice.pastry.messaging.Message
`getDate, getDestination, getPriority, getSender, getSenderId, setPriority, setSender, stamp`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface rice.p2p.commonapi.Message
`getPriority`

Field Detail

### path

    protected EpochInetSocketAddress[] path

### TYPE

    public static final short TYPE

See Also:
  Constant Field Values

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

### 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

### getType

    public short getType()

  Raw Serialization

  Specified by:
    `getType` in interface `RawMessage`

### serialize

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

  Specified by:
    `serialize` in interface `RawMessage`
  Throws:
    `java.io.IOException`

### build

    public static SourceRoute build(InputBuffer buf)
                             throws java.io.IOException

  Throws:
    `java.io.IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Rice Pastry API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2005 - Rice Pastry.