java.lang.isolate
Class OneWayLink_RendezvousPoint
java.lang.Object
|
+--edu.utah.janosvm.sys.Exportable
|
+--java.lang.isolate.OneWayLink_RendezvousPoint
- All Implemented Interfaces:
- ManagedExportable, TemporaryExport
- class OneWayLink_RendezvousPoint
- extends Exportable
- implements TemporaryExport, ManagedExportable
A rendezvous point for a one-way link. Rendezvous points are
always allocated by and installed as an export in the sending team.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait, wait0 |
lock
private final java.lang.Object lock
name
private final java.lang.String name
closed
private boolean closed
waitingSender
private java.lang.Object waitingSender
waitingMessage
private IsolateMessage waitingMessage
ienum
private ExportManager.ImportEnumerator ienum
em
private ExportManager em
CLOSED_TOKEN
static final java.lang.Object CLOSED_TOKEN
- Global constant.
INTERRUPTED_TOKEN
static final java.lang.Object INTERRUPTED_TOKEN
- Global constant.
OneWayLink_RendezvousPoint
private OneWayLink_RendezvousPoint(java.lang.String name)
rpFromEm
private static OneWayLink_RendezvousPoint rpFromEm(ExportManager em)
senderDoesSetup
static OneWayLink_RendezvousPoint senderDoesSetup(java.lang.String name)
- Find existing rendezvous point with the given name, or
install a new one if there is no such export.
receiverDoesSetup
static boolean receiverDoesSetup(TeamHandle sender,
java.lang.String xname)
- Find existing rendezvous point with the given name in the
sender team. Install a new rendezvous point in the sender
if one does not exist. Object must be imported to be
used by receiver, of course. Returns false if the sender
team is dead.
- Returns:
- true if rendezvouspoint was set up, false if not (i.e.,
if link should be closed).
notifyAllSenders
private void notifyAllSenders()
notifyAllReceivers
private void notifyAllReceivers()
close
void close()
isOpen
boolean isOpen()
expired
public boolean expired()
- To satisfy the TemporaryExport interface. (Invoked when there
are no more imports of this exportable.)
- Specified by:
expired
in interface TemporaryExport
- Following copied from interface:
edu.utah.janosvm.sys.TemporaryExport
- Returns:
- True if the export has expired and should be revoked.
getName
public java.lang.Object getName()
- To satisfy the TemporaryExport interface.
- Specified by:
getName
in interface TemporaryExport
release
public void release()
- To satisfy the ManagedExportable interface. (Invoked when the
exportable being reclaimed.)
- Specified by:
release
in interface ManagedExportable
waitWithCLE
void waitWithCLE()
throws ClosedLinkException
send
void send(IsolateMessage im)
throws ClosedLinkException,
LinkSerializationException
- Either returns cleanly (indicating the message was successfully
sent) or throws an exception.
fetchMessage
java.lang.Object fetchMessage()
- Returns a sender's IsolateMessage, or a ClosedLinkException, or null.
toString
public java.lang.String toString()
- Overrides:
toString
in class Exportable
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