Rice Pastry API

rice.p2p.multiring
Class MultiringIdFactory

java.lang.Object
  extended byrice.p2p.multiring.MultiringIdFactory
All Implemented Interfaces:
IdFactory

public class MultiringIdFactory
extends java.lang.Object
implements IdFactory

Version:
$Id: MultiringIdFactory.java 2551 2005-06-06 19:01:02Z jeffh $
Author:
Alan Mislove, Peter Druschel

Nested Class Summary
protected  class MultiringIdFactory.MultiringEntrySet
          DESCRIBE THE CLASS
protected  class MultiringIdFactory.MultiringKeySet
          DESCRIBE THE CLASS
protected  class MultiringIdFactory.MultiringMapEntry
          DESCRIBE THE CLASS
protected  class MultiringIdFactory.MultiringSortedMap
          DESCRIBE THE CLASS
 
Field Summary
protected  IdFactory factory
          The underlying IdFactory
protected  Id ringId
          The multiring node supporting this endpoint
 
Constructor Summary
MultiringIdFactory(Id ringId, IdFactory factory)
          Constructor
 
Method Summary
 Id buildId(byte[] material)
          Builds a protocol-specific Id given the source data.
 Id buildId(int[] material)
          Builds a protocol-specific Id given the source data.
 Id buildId(java.lang.String string)
          Builds a protocol-specific Id by using the hash of the given string as source data.
 Id.Distance buildIdDistance(byte[] material)
          Builds a protocol-specific Id.Distance given the source data.
 Id buildIdFromToString(char[] chars, int offset, int length)
          Builds an Id by converting the given toString() output back to an Id.
 Id buildIdFromToString(java.lang.String string)
          Builds an Id by converting the given toString() output back to an Id.
 IdRange buildIdRange(Id cw, Id ccw)
          Creates an IdRange given the CW and CCW ids.
 IdRange buildIdRangeFromPrefix(java.lang.String string)
          Builds an IdRange based on a prefix.
 IdSet buildIdSet()
          Creates an empty IdSet.
 IdSet buildIdSet(java.util.SortedMap map)
          Creates an empty IdSet.
 NodeHandleSet buildNodeHandleSet()
          Creates an empty NodeHandleSet.
 Id buildNormalId(byte[] material)
          Builds a protocol-specific Id given the source data.
 Id buildNormalId(java.lang.String material)
          Builds a protocol-specific Id given the source data.
 Id buildRandomId(java.util.Random rng)
          Builds a random protocol-specific Id.
 Id buildRandomId(RandomSource rng)
          DESCRIBE THE METHOD
 RingId buildRingId(Id ringId, byte[] material)
          Builds a ringId by using the provided Id and ringIds.
 RingId buildRingId(Id ringId, Id id)
          Builds a ringId by using the provided Id and ringIds.
protected static int find(char[] chars, char value)
          DESCRIBE THE METHOD
 int getIdToStringLength()
          Returns the length a Id.toString should be.
 Id getRingId()
          Method which returns the underlying Id which represents the local node's ring
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ringId

protected Id ringId
The multiring node supporting this endpoint


factory

protected IdFactory factory
The underlying IdFactory

Constructor Detail

MultiringIdFactory

public MultiringIdFactory(Id ringId,
                          IdFactory factory)
Constructor

Parameters:
factory - the underlying factory to use
ringId - DESCRIBE THE PARAMETER
Method Detail

getRingId

public Id getRingId()
Method which returns the underlying Id which represents the local node's ring

Returns:
The Id represetning the local ring

getIdToStringLength

public int getIdToStringLength()
Returns the length a Id.toString should be.

Specified by:
getIdToStringLength in interface IdFactory
Returns:
The correct length;

buildRingId

public RingId buildRingId(Id ringId,
                          byte[] material)
Builds a ringId by using the provided Id and ringIds.

Parameters:
ringId - The id to use as the ringid
material - The id material to use
Returns:
The built Id.

buildRingId

public RingId buildRingId(Id ringId,
                          Id id)
Builds a ringId by using the provided Id and ringIds.

Parameters:
ringId - The id to use as the ringid
id - The id to use as the id
Returns:
The built Id.

buildNormalId

public Id buildNormalId(byte[] material)
Builds a protocol-specific Id given the source data.

Parameters:
material - The material to use
Returns:
The built Id.

buildNormalId

public Id buildNormalId(java.lang.String material)
Builds a protocol-specific Id given the source data.

Parameters:
material - The material to use
Returns:
The built Id.

buildId

public Id buildId(byte[] material)
Builds a protocol-specific Id given the source data.

Specified by:
buildId in interface IdFactory
Parameters:
material - The material to use
Returns:
The built Id.

buildId

public Id buildId(int[] material)
Builds a protocol-specific Id given the source data.

Specified by:
buildId in interface IdFactory
Parameters:
material - The material to use
Returns:
The built Id.

buildId

public Id buildId(java.lang.String string)
Builds a protocol-specific Id by using the hash of the given string as source data.

Specified by:
buildId in interface IdFactory
Parameters:
string - The string to use as source data
Returns:
The built Id.

buildRandomId

public Id buildRandomId(java.util.Random rng)
Builds a random protocol-specific Id.

Specified by:
buildRandomId in interface IdFactory
Parameters:
rng - A random number generator
Returns:
The built Id.

buildRandomId

public Id buildRandomId(RandomSource rng)
DESCRIBE THE METHOD

Specified by:
buildRandomId in interface IdFactory
Parameters:
rng - DESCRIBE THE PARAMETER
Returns:
DESCRIBE THE RETURN VALUE

buildIdFromToString

public Id buildIdFromToString(java.lang.String string)
Builds an Id by converting the given toString() output back to an Id. Should not normall be used.

Specified by:
buildIdFromToString in interface IdFactory
Parameters:
string - The toString() representation of an Id
Returns:
The built Id.

buildIdFromToString

public Id buildIdFromToString(char[] chars,
                              int offset,
                              int length)
Builds an Id by converting the given toString() output back to an Id. Should not normally be used.

Specified by:
buildIdFromToString in interface IdFactory
Parameters:
chars - The character array
offset - The offset to start reading at
length - The length to read
Returns:
The built Id.

buildIdRangeFromPrefix

public IdRange buildIdRangeFromPrefix(java.lang.String string)
Builds an IdRange based on a prefix. Any id which has this prefix should be inside this IdRange, and any id which does not share this prefix should be outside it.

Specified by:
buildIdRangeFromPrefix in interface IdFactory
Parameters:
string - The toString() representation of an Id
Returns:
The built Id.

buildIdDistance

public Id.Distance buildIdDistance(byte[] material)
Builds a protocol-specific Id.Distance given the source data.

Specified by:
buildIdDistance in interface IdFactory
Parameters:
material - The material to use
Returns:
The built Id.Distance.

buildIdRange

public IdRange buildIdRange(Id cw,
                            Id ccw)
Creates an IdRange given the CW and CCW ids.

Specified by:
buildIdRange in interface IdFactory
Parameters:
cw - The clockwise Id
ccw - The counterclockwise Id
Returns:
An IdRange with the appropriate delimiters.

buildIdSet

public IdSet buildIdSet()
Creates an empty IdSet.

Specified by:
buildIdSet in interface IdFactory
Returns:
an empty IdSet

buildIdSet

public IdSet buildIdSet(java.util.SortedMap map)
Creates an empty IdSet.

Specified by:
buildIdSet in interface IdFactory
Parameters:
map - DESCRIBE THE PARAMETER
Returns:
an empty IdSet

buildNodeHandleSet

public NodeHandleSet buildNodeHandleSet()
Creates an empty NodeHandleSet.

Specified by:
buildNodeHandleSet in interface IdFactory
Returns:
an empty NodeHandleSet

find

protected static int find(char[] chars,
                          char value)
DESCRIBE THE METHOD

Parameters:
chars - DESCRIBE THE PARAMETER
value - DESCRIBE THE PARAMETER
Returns:
DESCRIBE THE RETURN VALUE

Rice Pastry API

Copyright © 2001-2005 - Rice Pastry.


Imprint-Dataprotection