rina.irm
Class IRM

java.lang.Object
  extended by java.lang.Thread
      extended by rina.irm.IRM
All Implemented Interfaces:
java.lang.Runnable, IRMAPI

public class IRM
extends java.lang.Thread
implements IRMAPI

IPC Resource Manager(IRM)

Version:
1.0
Author:
Yuefeng Wang and Flavio Esposito. Computer Science Department, Boston University

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
IRM()
           
IRM(java.lang.String appName, RIBImpl rib, java.util.LinkedHashMap<java.lang.String,IPCProcessImpl> underlyingIPCs, MessageQueue dtpMsgQueue, MessageQueue cdapMsgQueue)
           
 
Method Summary
 int allocateFlow(java.lang.String srcName, java.lang.String dstName)
           
 void deallocate(int handleID)
           
 int getHandle(java.lang.String dstName)
           
 java.util.LinkedHashMap<java.lang.Integer,HandleEntry> getHandleMap()
           
 int getIDDHandle()
           
 MessageQueue getIrmQueue()
           
 java.util.LinkedHashMap<java.lang.String,IPCProcessImpl> getUnderlyingIPCs()
           
 byte[] receive(int handleID)
           
 void run()
           
 void send(int handleID, byte[] msg)
           
 void sendCDAP(int handleID, byte[] msg)
           
 void sendDTP(int handleID, byte[] msg)
           
 void setHandleMap(java.util.LinkedHashMap<java.lang.Integer,HandleEntry> handleMap)
           
 void setIDDHandle(int iDDHandle)
           
 void setIrmQueue(MessageQueue irmQueue)
           
 void setUnderlyingIPCs(java.util.LinkedHashMap<java.lang.String,IPCProcessImpl> underlyingIPCs)
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IRM

public IRM()

IRM

public IRM(java.lang.String appName,
           RIBImpl rib,
           java.util.LinkedHashMap<java.lang.String,IPCProcessImpl> underlyingIPCs,
           MessageQueue dtpMsgQueue,
           MessageQueue cdapMsgQueue)
Method Detail

allocateFlow

public int allocateFlow(java.lang.String srcName,
                        java.lang.String dstName)
Specified by:
allocateFlow in interface IRMAPI

deallocate

public void deallocate(int handleID)
Specified by:
deallocate in interface IRMAPI

send

public void send(int handleID,
                 byte[] msg)
          throws java.lang.Exception
Specified by:
send in interface IRMAPI
Throws:
java.lang.Exception

sendCDAP

public void sendCDAP(int handleID,
                     byte[] msg)
              throws java.lang.Exception
Throws:
java.lang.Exception

sendDTP

public void sendDTP(int handleID,
                    byte[] msg)
             throws java.lang.Exception
Throws:
java.lang.Exception

receive

public byte[] receive(int handleID)
Specified by:
receive in interface IRMAPI

run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

getHandle

public int getHandle(java.lang.String dstName)

getIrmQueue

public MessageQueue getIrmQueue()
Returns:
the irmQueue

setIrmQueue

public void setIrmQueue(MessageQueue irmQueue)
Parameters:
irmQueue - the irmQueue to set

getHandleMap

public java.util.LinkedHashMap<java.lang.Integer,HandleEntry> getHandleMap()
Returns:
the handleMap

getIDDHandle

public int getIDDHandle()
Returns:
the iDDHandle

setIDDHandle

public void setIDDHandle(int iDDHandle)
Parameters:
iDDHandle - the iDDHandle to set

getUnderlyingIPCs

public java.util.LinkedHashMap<java.lang.String,IPCProcessImpl> getUnderlyingIPCs()
Returns:
the underlyingIPCs

setUnderlyingIPCs

public void setUnderlyingIPCs(java.util.LinkedHashMap<java.lang.String,IPCProcessImpl> underlyingIPCs)
Parameters:
underlyingIPCs - the underlyingIPCs to set

setHandleMap

public void setHandleMap(java.util.LinkedHashMap<java.lang.Integer,HandleEntry> handleMap)
Parameters:
handleMap - the handleMap to set