JanosVM v1.0 API

java.lang.isolate
Class OneWayLink

java.lang.Object
  |
  +--java.lang.isolate.Link
        |
        +--java.lang.isolate.OneWayLink
Direct Known Subclasses:
OneWayLink_Both, OneWayLink_Neither, OneWayLink_Receiver, OneWayLink_Sender

abstract class OneWayLink
extends Link

A unidirectional connection from one Isolate to another.

JanosVM Implementation Notes: OneWayLink class just contains the sender/reciever, and global name information. Subclasses contain the details.

Since:
1.5

Field Summary
private static IsolateGUID guidManager
           
private  java.lang.String name
           
private  Isolate receiver
           
private  Isolate sender
           
 
Fields inherited from class java.lang.isolate.Link
typeName
 
Constructor Summary
(package private) OneWayLink(Isolate sender, Isolate receiver, java.lang.String name)
          Construct a new Link with the given name.
 
Method Summary
(package private)  Link clone(TeamHandle sourceTeam, TeamHandle currentTeam)
          Clone this link (from the sourceTeam context) in the (current, destintion) Team context.
abstract  void close()
           
 boolean equals(java.lang.Object x)
           
abstract  boolean isOpen()
           
 boolean isReceiver(Isolate i)
           
 boolean isSender(Isolate i)
           
(package private)  java.lang.String name()
           
(package private) static OneWayLink newInstance(Isolate sender, Isolate receiver, java.lang.String name)
          Create a link with the given sender/receiver and name.
abstract  IsolateMessage receive(long millis, int nanos)
           
(package private)  Isolate receiver()
           
abstract  boolean send(IsolateMessage lm, long millis, int nanos)
           
(package private)  Isolate sender()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.isolate.Link
newEventLink, newLink, receive, send, tryReceive, trySend
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait, wait0
 

Field Detail

guidManager

private static final IsolateGUID guidManager

sender

private final Isolate sender

receiver

private final Isolate receiver

name

private final java.lang.String name
Constructor Detail

OneWayLink

OneWayLink(Isolate sender,
           Isolate receiver,
           java.lang.String name)
     throws ClosedLinkException
Construct a new Link with the given name. If the name is null a unique one will be generated. If the name is non-null it must be the name of an associated link. XXX If the subclasses were inner, I could make this method "private".
Method Detail

newInstance

static OneWayLink newInstance(Isolate sender,
                              Isolate receiver,
                              java.lang.String name)
                       throws ClosedLinkException
Create a link with the given sender/receiver and name.

name

java.lang.String name()

sender

Isolate sender()

receiver

Isolate receiver()

isSender

public boolean isSender(Isolate i)
Overrides:
isSender in class Link

isReceiver

public boolean isReceiver(Isolate i)
Overrides:
isReceiver in class Link

equals

public boolean equals(java.lang.Object x)
Overrides:
equals in class java.lang.Object

toString

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

isOpen

public abstract boolean isOpen()
                        throws java.lang.IllegalStateException
Overrides:
isOpen in class Link

close

public abstract void close()
                    throws java.lang.IllegalStateException
Overrides:
close in class Link

send

public abstract boolean send(IsolateMessage lm,
                             long millis,
                             int nanos)
                      throws ClosedLinkException,
                             java.lang.IllegalStateException,
                             java.io.IOException
Overrides:
send in class Link

receive

public abstract IsolateMessage receive(long millis,
                                       int nanos)
                                throws ClosedLinkException,
                                       java.lang.IllegalStateException
Overrides:
receive in class Link

clone

Link clone(TeamHandle sourceTeam,
           TeamHandle currentTeam)
     throws ClosedLinkException
Description copied from class: Link
Clone this link (from the sourceTeam context) in the (current, destintion) Team context.
Overrides:
clone in class Link
Following copied from class: java.lang.isolate.Link
Parameters:
sourceTeam - the team the link is coming from
currentTeam - the team the link is going to (also the current team context).
Returns:
the cloned link object

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