aleph.dir.arrow
Class ArrowDirectory

java.lang.Object
  |
  +--aleph.dir.DirectoryManager
        |
        +--aleph.dir.arrow.ArrowDirectory

public class ArrowDirectory
extends DirectoryManager

Directory protocol based on path reversal on a fixed spanning tree. See M.P. Herlihy and M. Demmer. The Arrow Directory Protocol. in 12th International Symposium on Distributed Computing, September 1998, Andros Island, Greece.

The PEs in a PGroup are organized as a binary tree based on index. (This protocol does not currently work across PEGroups!) The first time an object is referenced, a FindMessage is sent to the object's home.


Fields inherited from class aleph.dir.DirectoryManager
theManager
 
Constructor Summary
ArrowDirectory()
          Constructor
 
Method Summary
 java.lang.String getLabel()
           
 void importObject(GlobalObject key)
           
static void main(java.lang.String[] args)
           
 void newObject(GlobalObject key, java.lang.Object object, java.lang.String hint)
           
 java.lang.Object open(GlobalObject key, java.lang.String mode)
           
 void release(GlobalObject object)
           
 java.lang.String toString()
           
 
Methods inherited from class aleph.dir.DirectoryManager
getManager, newObject, setManager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ArrowDirectory

public ArrowDirectory()
Constructor
Method Detail

newObject

public void newObject(GlobalObject key,
                      java.lang.Object object,
                      java.lang.String hint)
Parameters:
key - Global object
object - Initial state for global object.
hint - String passed to directory
Overrides:
newObject in class DirectoryManager
See Also:
DirectoryManager.newObject(aleph.GlobalObject, java.lang.Object)

importObject

public void importObject(GlobalObject key)
Parameters:
key - Global object
See Also:
aleph.dir.DirectoryManager#importObject

open

public java.lang.Object open(GlobalObject key,
                             java.lang.String mode)
Parameters:
object - The object to open.
mode - Mode in which to open object.
Overrides:
open in class DirectoryManager
See Also:
DirectoryManager.open(aleph.GlobalObject, java.lang.String)

release

public void release(GlobalObject object)
Parameters:
object - Formerly interesting object.
Overrides:
release in class DirectoryManager
See Also:
DirectoryManager.release(aleph.GlobalObject)

getLabel

public java.lang.String getLabel()
Returns:
who we are
Overrides:
getLabel in class DirectoryManager

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

main

public static void main(java.lang.String[] args)