org.iids.aos.kernel
Class Role

java.lang.Object
  extended by org.iids.aos.kernel.Role
All Implemented Interfaces:
KernelResource

public class Role
extends java.lang.Object
implements KernelResource

Kernel representation of a role.

Author:
arno

Field Summary
protected  boolean beingDeleted
           
protected  RoleBitmap bitmap
           
protected  Cookie cookie
           
protected  boolean enabled
           
protected  int ID
           
protected  int lastUsedTime
           
protected  Role owner
           
protected  SelectRendezvous selectRendezvous
           
protected  boolean strongSelectLock
           
protected  Cookie tempOwnerCookie
           
protected  java.util.Hashtable<java.lang.Thread,java.lang.Boolean> threadtable
           
protected  TransactionIDTable tidtable
           
protected  int weakSelectLock
           
 
Constructor Summary
Role(int ID, Cookie cookie, RoleBitmap bitmap, Role owner)
          Creates a new instance of Role
Role(java.io.StreamTokenizer st)
          Creates a new instance of Role
 
Method Summary
 void deregisterThread()
           
 boolean equals(java.lang.Object o)
           
 RoleBitmap getBitmap()
          Return this role's role bitmap
 Cookie getCookie()
           
 Role getOwner()
           
 SelectRendezvous getSelectRendezvous()
           
 TransactionIDTable getTIDTable()
           
 int hashCode()
           
 void interruptBlockingThreads()
           
 boolean isEnabled()
           
 boolean isMarkedForDeletion()
           
 boolean isUnused()
           
 void markForDeletion()
           
 void registerThread(boolean blocking)
           
 void save(java.io.OutputStream os)
           
 void setEnabled(boolean b)
           
 void setLastUsedTime()
           
 void setOwner(Role owner)
           
 boolean strictSupersetOf(RoleBitmap subBitmap)
          Checks if the role bitmap is a strict superset
 void strongSelectLock()
          Called by select() upon entering.
 void strongSelectUnlock()
          Called by select() upon leaving.
 java.lang.String toString()
           
 void waitAllThreads()
           
 void weakSelectLock()
          Called by accept(), recv(), send(), peek(), close() upon entering.
 void weakSelectUnlock()
          Called by accept(), recv(), send(), peek(), close() upon leaving.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ID

protected int ID

cookie

protected Cookie cookie

bitmap

protected RoleBitmap bitmap

owner

protected Role owner

threadtable

protected java.util.Hashtable<java.lang.Thread,java.lang.Boolean> threadtable

tidtable

protected TransactionIDTable tidtable

beingDeleted

protected boolean beingDeleted

selectRendezvous

protected SelectRendezvous selectRendezvous

weakSelectLock

protected int weakSelectLock

strongSelectLock

protected boolean strongSelectLock

enabled

protected boolean enabled

lastUsedTime

protected int lastUsedTime

tempOwnerCookie

protected Cookie tempOwnerCookie
Constructor Detail

Role

public Role(int ID,
            Cookie cookie,
            RoleBitmap bitmap,
            Role owner)
Creates a new instance of Role


Role

public Role(java.io.StreamTokenizer st)
     throws java.io.IOException
Creates a new instance of Role

Throws:
java.io.IOException
Method Detail

strictSupersetOf

public boolean strictSupersetOf(RoleBitmap subBitmap)
Checks if the role bitmap is a strict superset

Parameters:
subBitmap - the subset bitmap
Returns:
whether true or not

getBitmap

public RoleBitmap getBitmap()
Return this role's role bitmap

Returns:
the role bitmap

getCookie

public Cookie getCookie()

registerThread

public void registerThread(boolean blocking)

deregisterThread

public void deregisterThread()

interruptBlockingThreads

public void interruptBlockingThreads()

waitAllThreads

public void waitAllThreads()

markForDeletion

public void markForDeletion()

isMarkedForDeletion

public boolean isMarkedForDeletion()

equals

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

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getTIDTable

public TransactionIDTable getTIDTable()

getSelectRendezvous

public SelectRendezvous getSelectRendezvous()

weakSelectLock

public void weakSelectLock()
                    throws AccessDeniedException
Called by accept(), recv(), send(), peek(), close() upon entering. Prevents the select() primitive running in parallel to these primitives for this role. The weak/strong lock is to do allow the 4 primitives to run in parallel.

Throws:
AccessDeniedException

weakSelectUnlock

public void weakSelectUnlock()
Called by accept(), recv(), send(), peek(), close() upon leaving.

See Also:
weakSelectLock()

strongSelectLock

public void strongSelectLock()
                      throws AccessDeniedException
Called by select() upon entering. @see weakSelectLock()

Throws:
AccessDeniedException

strongSelectUnlock

public void strongSelectUnlock()
Called by select() upon leaving. @see weakSelectLock()


isEnabled

public boolean isEnabled()

setEnabled

public void setEnabled(boolean b)

setLastUsedTime

public void setLastUsedTime()

isUnused

public boolean isUnused()

getOwner

public Role getOwner()
Specified by:
getOwner in interface KernelResource

setOwner

public void setOwner(Role owner)
              throws KernelException
Specified by:
setOwner in interface KernelResource
Throws:
KernelException

toString

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

save

public void save(java.io.OutputStream os)
          throws java.io.IOException
Throws:
java.io.IOException


Copyright © 2003, 2004 IIDS Group. All Rights Reserved.