JanosVM v1.0 API

edu.utah.janosvm.kit.comm.commspace
Class CommQueuePuller

java.lang.Object
  |
  +--edu.utah.janosvm.sys.ListNode
        |
        +--edu.utah.janosvm.sys.Importable
              |
              +--edu.utah.janosvm.kit.comm.commspace.CommQueuePuller

public final class CommQueuePuller
extends Importable

A handle for the owner of the CommQueue to pull elements out of it.


Field Summary
private  CommQueue cq
           
 
Fields inherited from class edu.utah.janosvm.sys.Importable
em
 
Fields inherited from class edu.utah.janosvm.sys.ListNode
pred, succ
 
Constructor Summary
CommQueuePuller()
          Construct CommQueuePuller handle and a CommQueue for it to pull CommSpaceElements from.
 
Method Summary
protected  void bindTo(Exportable ex)
          Bind this Importable to the given Exportable.
 java.lang.String toString()
           
protected  void unbindFrom()
          Unbind this Importable from any objects it is referencing.
 CommSpaceElement waitToTake()
          Take an element from the queue, or wait for one to be added and return that.
 
Methods inherited from class edu.utah.janosvm.sys.Importable
copy, finalize, getExportManager, revoke, setExportManager
 
Methods inherited from class edu.utah.janosvm.sys.ListNode
append, clone, inList, prepend, remove
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait, wait0
 

Field Detail

cq

private CommQueue cq
Constructor Detail

CommQueuePuller

public CommQueuePuller()
Construct CommQueuePuller handle and a CommQueue for it to pull CommSpaceElements from.
Method Detail

bindTo

protected final void bindTo(Exportable ex)
Description copied from class: Importable
Bind this Importable to the given Exportable. The most common implementation of this method would be to cast the Exportable to the type that the Importable subclass handles and store it in the object as well as any other handy pointers/values.

This method will be invoked as a side-effect of binding this importable to an Exportable object via TeamHandle.importObject(edu.utah.janosvm.sys.Importable, java.lang.Object).

XXX Add note about synchronized.

Overrides:
bindTo in class Importable
Following copied from class: edu.utah.janosvm.sys.Importable
Parameters:
ex - The Exportable that is being imported.

unbindFrom

protected final void unbindFrom()
Description copied from class: Importable
Unbind this Importable from any objects it is referencing. The most common implementation of this method would be null out any object references in this object.

This method will be invoked as a side-effect of canceling this import, or when the Team owning the Exportable is terminated, or when the Exportable is revoked.

XXX rename to just 'unbind'.

Overrides:
unbindFrom in class Importable
Following copied from class: edu.utah.janosvm.sys.Importable
See Also:
TeamHandle.cancelImport(edu.utah.janosvm.sys.Importable), Team.revokeObject(java.lang.Object), TeamHandle.terminate()

waitToTake

public CommSpaceElement waitToTake()
                            throws java.lang.InterruptedException
Take an element from the queue, or wait for one to be added and return that.
Returns:
The next element on the queue.

toString

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

JanosVM v1.0 API

This documentation is Copyright (C) 2000-2003 The University of Utah. All Rights Reserved. See the documentation license for distribution terms and restrictions.
Documentation, software, and mailing lists for the JanosVM can be found at the Janos Project web page: http://www.cs.utah.edu/flux/janos/
Generated on Feb 13, 2003