lime
Class UponMgr

java.lang.Object
  extended bylime.UponMgr
All Implemented Interfaces:
LimeConstants, java.io.Serializable

class UponMgr
extends java.lang.Object
implements LimeConstants, java.io.Serializable


Field Summary
static java.lang.String AGENT
           
static short AGENT_BYE
           
static java.lang.String AGENT_GONE
           
static short AGENT_HELLO
           
static int AGENT_ID_TAG
           
static short AGENT_LOCALHOST
           
static short AGENT_NOTINSYS
           
static short AGENT_REMOTE
           
static short AGENT_UNSPECIFIED
           
static short DATA
           
static short DECLARE_LEADER
           
static short DISENGAGE_AGENT
           
static short DISENGAGE_HOST
           
static short ENGAGE_AGENT
           
static short ENGAGE_HOST
           
static short GO
           
static java.lang.String HOST
           
static int HOST_ADDR_TAG
           
static short HOST_BYE
           
static java.lang.String HOST_GONE
           
static short HOST_HELLO
           
static short HOST_LOCALHOST
           
static short HOST_NOTINSYS
           
static short HOST_REMOTE
           
static int HOST_TUPLE_HOST_TAG
           
static short HOST_UNSPECIFIED
           
static short ING
           
static short INITIATOR_REQ
           
static short INST_REACTS_TO
           
static short INST_REM_UPON_LISTENER
           
static short INST_UPON_LISTENER
           
static short LOCAL_SYS_TAKE
           
private static short LOCATIONS
           
(package private)  LimeTSMgr ltsm
          It is going to be null if this is the UponMgr for a private LTS.
static int MAX_ROUNDS
           
(package private)  java.util.Hashtable nonInstallableUpon
           
static short OUTG
           
(package private)  java.util.Hashtable pendingUpon
          from seqnum->registered reaction
private static long pendingUponSeqNum
           
static short RDG
           
(package private)  Reactor reactor
           
static short REACTS_TO
           
static short READ
           
static short READY
           
static short READY_SPECIAL
           
static short REM_ING
           
static short REM_OUTG
           
static short REM_OUTG_ACK
           
static short REM_RDG
           
static short REM_SYS_READ
           
static short REM_SYS_TAKE
           
static short REMOVE_REACTS_TO
           
static short REMOVE_REM_UPON_LISTENER
           
static short REMOVE_UPON
           
static short REQUEST_TRANSACTION
           
static short SET_HOST
           
static short SET_SHARED
           
static short SETUP
           
static short SETUP_SPECIAL
           
static short START
           
private static short SUBSCRIBERS
           
static short SYS_READ
           
static short SYS_REPLY
           
static short SYS_TAKE
           
static short TAKE
           
static short TRANSACTION_GRANTED
           
static java.lang.String TS
           
static java.lang.String TS_GONE
           
static int TS_ID_TAG
           
static int TYPE_TAG
           
static short UPON
           
static short UPON_EVENT
           
static java.lang.String VERSION
           
static short WAIT_TO_READ
           
static short WAIT_TO_TAKE
           
static short WRITE
           
 
Constructor Summary
(package private) UponMgr(Reactor reactor, LimeTSMgr ltsm)
           
 
Method Summary
(package private)  RegisteredReaction findRemoteRegisteredReaction(long seqNum, AgentID subscriber)
           
(package private)  RegisteredReaction[] findRemRegReactBySubscriber(AgentID[] agents)
           
(package private)  RegisteredReaction[] getAllUpons()
           
(package private)  RegisteredReaction[] getUpons(boolean installed)
          Retrieve either the already installed upons or the noninstallable upons (based on the parameter) fromthe pendingUpon structure (NOT THE REACTOR).
(package private)  RegisteredReaction[][] getUpons(java.lang.Object[] o, boolean pending, short type)
           
(package private)  RegisteredReaction[][] getUponsWithLocation(Location[] locations, boolean pending)
          Pick all the registered reactions that have the current location equal to one of those supplied.
(package private)  RegisteredReaction[][] getUponsWithSubscriber(AgentID[] subscribers, boolean pending)
          Pick all the registered reactions that have the subscriber equal to one of those supplied.
(package private)  void installRemUponListeners(UponProbeDescriptor[] upds)
           
(package private)  RegisteredReaction[] installUpons(Reaction[] reactions, java.lang.String name, AgentID a)
           
(package private)  boolean isRegistered(RegisteredReaction upon)
           
(package private)  long newSeqNum()
          Returns a new sequence number.
(package private)  void printNonInstallableUpon()
           
(package private)  void printPendingUpon()
           
(package private)  void putLocalizedReactions(RegisteredReaction r)
           
(package private)  void putLocalizedReactions(RegisteredReaction[] rr)
           
(package private)  void putUpons(RegisteredReaction[] rr, boolean installed)
          assumes that the RegisteredReaction[] being sent to it contains listeners which are all PendingUponListeners because they are put directly into the pendingUpon or non-installable structure after the upons is set.
(package private)  boolean removeUpons(RegisteredReaction[] reactions)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOCATIONS

private static final short LOCATIONS
See Also:
Constant Field Values

SUBSCRIBERS

private static final short SUBSCRIBERS
See Also:
Constant Field Values

pendingUponSeqNum

private static long pendingUponSeqNum

pendingUpon

java.util.Hashtable pendingUpon
from seqnum->registered reaction


nonInstallableUpon

java.util.Hashtable nonInstallableUpon

reactor

Reactor reactor

ltsm

LimeTSMgr ltsm
It is going to be null if this is the UponMgr for a private LTS.


VERSION

public static final java.lang.String VERSION
See Also:
Constant Field Values

WRITE

public static final short WRITE
See Also:
Constant Field Values

OUTG

public static final short OUTG
See Also:
Constant Field Values

REM_OUTG_ACK

public static final short REM_OUTG_ACK
See Also:
Constant Field Values

TAKE

public static final short TAKE
See Also:
Constant Field Values

WAIT_TO_TAKE

public static final short WAIT_TO_TAKE
See Also:
Constant Field Values

ING

public static final short ING
See Also:
Constant Field Values

READ

public static final short READ
See Also:
Constant Field Values

WAIT_TO_READ

public static final short WAIT_TO_READ
See Also:
Constant Field Values

RDG

public static final short RDG
See Also:
Constant Field Values

REACTS_TO

public static final short REACTS_TO
See Also:
Constant Field Values

UPON

public static final short UPON
See Also:
Constant Field Values

REMOVE_REACTS_TO

public static final short REMOVE_REACTS_TO
See Also:
Constant Field Values

REMOVE_UPON

public static final short REMOVE_UPON
See Also:
Constant Field Values

INST_REACTS_TO

public static final short INST_REACTS_TO
See Also:
Constant Field Values

INST_UPON_LISTENER

public static final short INST_UPON_LISTENER
See Also:
Constant Field Values

INST_REM_UPON_LISTENER

public static final short INST_REM_UPON_LISTENER
See Also:
Constant Field Values

REMOVE_REM_UPON_LISTENER

public static final short REMOVE_REM_UPON_LISTENER
See Also:
Constant Field Values

REM_SYS_TAKE

public static final short REM_SYS_TAKE
See Also:
Constant Field Values

REM_SYS_READ

public static final short REM_SYS_READ
See Also:
Constant Field Values

REM_ING

public static final short REM_ING
See Also:
Constant Field Values

REM_RDG

public static final short REM_RDG
See Also:
Constant Field Values

SYS_TAKE

public static final short SYS_TAKE
See Also:
Constant Field Values

SYS_READ

public static final short SYS_READ
See Also:
Constant Field Values

REM_OUTG

public static final short REM_OUTG
See Also:
Constant Field Values

UPON_EVENT

public static final short UPON_EVENT
See Also:
Constant Field Values

SYS_REPLY

public static final short SYS_REPLY
See Also:
Constant Field Values

LOCAL_SYS_TAKE

public static final short LOCAL_SYS_TAKE
See Also:
Constant Field Values

SET_SHARED

public static final short SET_SHARED
See Also:
Constant Field Values

SET_HOST

public static final short SET_HOST
See Also:
Constant Field Values

DECLARE_LEADER

public static final short DECLARE_LEADER
See Also:
Constant Field Values

ENGAGE_AGENT

public static final short ENGAGE_AGENT
See Also:
Constant Field Values

ENGAGE_HOST

public static final short ENGAGE_HOST
See Also:
Constant Field Values

DISENGAGE_AGENT

public static final short DISENGAGE_AGENT
See Also:
Constant Field Values

DISENGAGE_HOST

public static final short DISENGAGE_HOST
See Also:
Constant Field Values

GO

public static final short GO
See Also:
Constant Field Values

INITIATOR_REQ

public static final short INITIATOR_REQ
See Also:
Constant Field Values

SETUP

public static final short SETUP
See Also:
Constant Field Values

READY

public static final short READY
See Also:
Constant Field Values

START

public static final short START
See Also:
Constant Field Values

DATA

public static final short DATA
See Also:
Constant Field Values

SETUP_SPECIAL

public static final short SETUP_SPECIAL
See Also:
Constant Field Values

READY_SPECIAL

public static final short READY_SPECIAL
See Also:
Constant Field Values

REQUEST_TRANSACTION

public static final short REQUEST_TRANSACTION
See Also:
Constant Field Values

TRANSACTION_GRANTED

public static final short TRANSACTION_GRANTED
See Also:
Constant Field Values

HOST_BYE

public static final short HOST_BYE
See Also:
Constant Field Values

HOST_HELLO

public static final short HOST_HELLO
See Also:
Constant Field Values

AGENT_BYE

public static final short AGENT_BYE
See Also:
Constant Field Values

AGENT_HELLO

public static final short AGENT_HELLO
See Also:
Constant Field Values

HOST_LOCALHOST

public static final short HOST_LOCALHOST
See Also:
Constant Field Values

HOST_REMOTE

public static final short HOST_REMOTE
See Also:
Constant Field Values

HOST_NOTINSYS

public static final short HOST_NOTINSYS
See Also:
Constant Field Values

HOST_UNSPECIFIED

public static final short HOST_UNSPECIFIED
See Also:
Constant Field Values

AGENT_LOCALHOST

public static final short AGENT_LOCALHOST
See Also:
Constant Field Values

AGENT_REMOTE

public static final short AGENT_REMOTE
See Also:
Constant Field Values

AGENT_NOTINSYS

public static final short AGENT_NOTINSYS
See Also:
Constant Field Values

AGENT_UNSPECIFIED

public static final short AGENT_UNSPECIFIED
See Also:
Constant Field Values

TYPE_TAG

public static final int TYPE_TAG
See Also:
Constant Field Values

HOST_TUPLE_HOST_TAG

public static final int HOST_TUPLE_HOST_TAG
See Also:
Constant Field Values

HOST_ADDR_TAG

public static final int HOST_ADDR_TAG
See Also:
Constant Field Values

AGENT_ID_TAG

public static final int AGENT_ID_TAG
See Also:
Constant Field Values

TS_ID_TAG

public static final int TS_ID_TAG
See Also:
Constant Field Values

HOST

public static final java.lang.String HOST
See Also:
Constant Field Values

AGENT

public static final java.lang.String AGENT
See Also:
Constant Field Values

TS

public static final java.lang.String TS
See Also:
Constant Field Values

HOST_GONE

public static final java.lang.String HOST_GONE
See Also:
Constant Field Values

AGENT_GONE

public static final java.lang.String AGENT_GONE
See Also:
Constant Field Values

TS_GONE

public static final java.lang.String TS_GONE
See Also:
Constant Field Values

MAX_ROUNDS

public static final int MAX_ROUNDS
See Also:
Constant Field Values
Constructor Detail

UponMgr

UponMgr(Reactor reactor,
        LimeTSMgr ltsm)
Method Detail

newSeqNum

long newSeqNum()
Returns a new sequence number.


isRegistered

boolean isRegistered(RegisteredReaction upon)

getAllUpons

RegisteredReaction[] getAllUpons()

getUpons

RegisteredReaction[] getUpons(boolean installed)
Retrieve either the already installed upons or the noninstallable upons (based on the parameter) fromthe pendingUpon structure (NOT THE REACTOR).

Parameters:
installed - true if installed upons are to be returned. false if noninstallable upons are to be returned.
Returns:
the registered * reactions of the upons

putUpons

void putUpons(RegisteredReaction[] rr,
              boolean installed)
assumes that the RegisteredReaction[] being sent to it contains listeners which are all PendingUponListeners because they are put directly into the pendingUpon or non-installable structure after the upons is set. This is useful when engaging tuple spaces. Which structure they are put on is determed by the boolean parameter.

Parameters:
rr - a value of type 'RegisteredReaction[]' where the listeners are ALL PendingUponListeners
installed - determines whether the reactions are enabled (true) or not (false) where enabled means they belong in the pendingUpon structure and not enabled mesns they belong in nonInstallableUpon.

installUpons

RegisteredReaction[] installUpons(Reaction[] reactions,
                                  java.lang.String name,
                                  AgentID a)

putLocalizedReactions

void putLocalizedReactions(RegisteredReaction r)

putLocalizedReactions

void putLocalizedReactions(RegisteredReaction[] rr)

removeUpons

boolean removeUpons(RegisteredReaction[] reactions)

getUponsWithLocation

RegisteredReaction[][] getUponsWithLocation(Location[] locations,
                                            boolean pending)
Pick all the registered reactions that have the current location equal to one of those supplied.

Parameters:
locations - the set of locations.
pending - true if we are looking into the pendingUpon, false if we are looking into the nonInstalledUpon.
Returns:
a matrix Location->array of reactions.

getUponsWithSubscriber

RegisteredReaction[][] getUponsWithSubscriber(AgentID[] subscribers,
                                              boolean pending)
Pick all the registered reactions that have the subscriber equal to one of those supplied. Meaningful only if this is the manager of a LimeTSMgr.

Parameters:
subscribers - the set of subscribers.
pending - true if we are looking into the pendingUpon, false if we are looking into the nonInstalledUpon.
Returns:
a matrix subscriber->array of reactions.

getUpons

RegisteredReaction[][] getUpons(java.lang.Object[] o,
                                boolean pending,
                                short type)

installRemUponListeners

void installRemUponListeners(UponProbeDescriptor[] upds)
                       throws lights.interfaces.TupleSpaceException
Throws:
lights.interfaces.TupleSpaceException

findRemoteRegisteredReaction

RegisteredReaction findRemoteRegisteredReaction(long seqNum,
                                                AgentID subscriber)

findRemRegReactBySubscriber

RegisteredReaction[] findRemRegReactBySubscriber(AgentID[] agents)

printPendingUpon

void printPendingUpon()

printNonInstallableUpon

void printNonInstallableUpon()