JanosVM v1.0 API

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

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

public final class CommQueuePusher
extends Importable

A handle for other flows to push elements onto a CommQueue.


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
CommQueuePusher()
          Construct an empty pusher, it can be bound to a queue later.
CommQueuePusher(CommQueuePuller puller)
          Construct a handle that will push elements onto the queue managed by the puller.
CommQueuePusher(CommQueuePusher pusher)
           
 
Method Summary
 void bind(CommQueuePusher pusher)
          Bind this pusher to the CommQueue referred to by the argument.
protected  void bindTo(Exportable ex)
          Bind this Importable to the given Exportable.
 void enqueue(CommSpaceElement cse)
           
 void enqueue(CommSpaceElement[] cse)
           
 java.lang.String toString()
           
protected  void unbindFrom()
          Unbind this Importable from any objects it is referencing.
 
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

CommQueuePusher

public CommQueuePusher()
Construct an empty pusher, it can be bound to a queue later.

CommQueuePusher

public CommQueuePusher(CommQueuePuller puller)
Construct a handle that will push elements onto the queue managed by the puller.
Parameters:
puller - The handle for the CommQueue we want to push elements onto.

CommQueuePusher

public CommQueuePusher(CommQueuePusher pusher)
Parameters:
pusher - The handle for the CommQueue we want to push elements onto.
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()

bind

public void bind(CommQueuePusher pusher)
Bind this pusher to the CommQueue referred to by the argument.
Parameters:
pusher - The handle to the CommQueue we should bind ourselves too.

enqueue

public void enqueue(CommSpaceElement cse)
Parameters:
cse - The element to enqueue.

enqueue

public void enqueue(CommSpaceElement[] cse)
Parameters:
cse - The array of elements to atomically add to 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