uka.karmi.rmi
Class UTID

java.lang.Object
  extended byuka.karmi.rmi.UTID
All Implemented Interfaces:
Anonymous, Immutable, java.io.Serializable
Direct Known Subclasses:
GMUTID, PSPUTID, SocketUTID

public abstract class UTID
extends java.lang.Object
implements Immutable, java.io.Serializable

Unique technology identifier. Abstract super class of all UTID implementations. It contains all information a RemoteClientRef needs to address a specific export point within a remote address space. With a tuple (UTID, ObjectId) a client can make a call to a remote object.

UTID objects that belong to the same technology class have the same type. UTID objects that belong to the same technology domain contain the same domainId value. If two virtual machines have technologies that belong to the same technology domain, these virtual machines are directly connected by this technology. There may be more than one technology of the same type but with different technology domain identifiers. This may be the case in two Myrinet clusters that are not directly connected via Myrinet. In this situation the Myrinet technology can not be used to communicate from a VM in the first cluster to a VM in the second cluster.

UTIDs can also be found inside the ObjectId.

UTID objects are sent over the network, if remote references are passed as arguments in remote calls.

Author:
Christian Nester, Bernhard Haumacher
See Also:
Serialized Form

Field Summary
 int domainId
          The domain identifier of the referenced technology.
 ExportPoint ep
          If this UTID references a local technology, ep is a direct reference to the corresponding export point.
 int index
          Used in concrete technology implementations to associate additional information to an UTID technology reference.
 UTID next
          Chains several UTID objects together.
 ObjectId objectId
          If this UTID belongs to an ObjectId, it references the root of this ObjectId structure.
 Technology technology
          Caches a reference to the technology object that can be used for communication, if this UTID references a remote technology.
 
Constructor Summary
protected UTID(Technology tech)
          Constructs a UTID which belongs to a certain technology.
protected UTID(Technology tech, ExportPoint ep)
          Constructs a UTID which belongs to a certain technology.
 
Method Summary
 java.lang.String toString()
           
 java.lang.String toStringMembers()
           
 java.lang.String toStringRef()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

technology

public transient Technology technology
Caches a reference to the technology object that can be used for communication, if this UTID references a remote technology. The value is only valid for UTID objects returned from Transport.connect(ObjectId).


objectId

public transient ObjectId objectId
If this UTID belongs to an ObjectId, it references the root of this ObjectId structure. The value is only valid for UTID objects returned from Transport.connect(ObjectId).


ep

public transient ExportPoint ep
If this UTID references a local technology, ep is a direct reference to the corresponding export point. The value is only valid for UTID objects returned from Transport.connect(ObjectId).


domainId

public int domainId
The domain identifier of the referenced technology.


next

public UTID next
Chains several UTID objects together. This chaining is used in the ObjectId structure to enumerate all technologies that can be used to access a remote server implementation.

See Also:
ObjectId

index

public transient int index
Used in concrete technology implementations to associate additional information to an UTID technology reference. This additional information may consist of actually open connections to that remote technology.

See Also:
StreamTechnology.getLocalID(UTID)
Constructor Detail

UTID

protected UTID(Technology tech)
Constructs a UTID which belongs to a certain technology. The addressed export point is considered remote.

Parameters:
tech - Technology object this UTID belongs to

UTID

protected UTID(Technology tech,
               ExportPoint ep)
Constructs a UTID which belongs to a certain technology. The addressed export point is local.

Parameters:
tech - Technology object this UTID belongs to
ep - Export point this UTID addresses.
Method Detail

toStringMembers

public java.lang.String toStringMembers()

toString

public java.lang.String toString()

toStringRef

public java.lang.String toStringRef()