rina.idd
Class IDDHandler

java.lang.Object
  extended by java.lang.Thread
      extended by rina.idd.IDDHandler
All Implemented Interfaces:
java.lang.Runnable

public class IDDHandler
extends java.lang.Thread

IDD Handler When an application process requests the allocation of IPC resources, it is the task of the Inter-DIF directory (IDD) to determine what DIF the Allocate should be delivered to. If the Application is available on a DIF that this processing system is not a member of, then the Inter-DIF Directory will either instantiate an IPC Process to join the DIF, or cooperate with other Inter-DIF Directories to create a DIF with sufficient scope to allow IPC. IDD could resolove both DIF name and service (or application) name, aka (URL).


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
IDDHandler(TCPFlow flow, RIBDaemonImpl RIBdaemon)
          Constructor
 
Method Summary
 byte[] addAllDTPHeader(byte[] msg, java.util.LinkedList<java.lang.String> srcNameList, java.util.LinkedList<java.lang.Integer> srcPortList)
           
 java.util.LinkedHashMap<java.lang.String,IDD.iddEntry.Builder> getIDDDatabaseDIFName()
           
 java.util.LinkedHashMap<java.lang.String,java.util.LinkedList<IDD.iddEntry.Builder>> getIDDDatabaseServiceName()
           
 void handleReceiveCDAPMessage(byte[] msg)
          handle message received before sending IDD query, the RINA process should first send M_CONNCECT to IDD
 void handleReceiveCDAPMessage(byte[] msg, java.util.LinkedList<java.lang.String> srcNameList, java.util.LinkedList<java.lang.Integer> srcPortList)
          handle message received before sending IDD query, the RINA process should first send M_CONNCECT to IDD
 int removeIDDEntry(java.lang.String key)
          remove IDD Entry
 void run()
          thread listening for the IDD connections
 void setIDDDatabaseDIFName(java.util.LinkedHashMap<java.lang.String,IDD.iddEntry.Builder> databaseDIFName)
           
 void setIDDDatabaseServiceName(java.util.LinkedHashMap<java.lang.String,java.util.LinkedList<IDD.iddEntry.Builder>> databaseServiceName)
           
 
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

IDDHandler

public IDDHandler(TCPFlow flow,
                  RIBDaemonImpl RIBdaemon)
Constructor

Parameters:
flow: - incoming client flow
IDD - RIB daemon
Method Detail

run

public void run()
thread listening for the IDD connections

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

addAllDTPHeader

public byte[] addAllDTPHeader(byte[] msg,
                              java.util.LinkedList<java.lang.String> srcNameList,
                              java.util.LinkedList<java.lang.Integer> srcPortList)

handleReceiveCDAPMessage

public void handleReceiveCDAPMessage(byte[] msg)
handle message received before sending IDD query, the RINA process should first send M_CONNCECT to IDD

Parameters:
msg -

handleReceiveCDAPMessage

public void handleReceiveCDAPMessage(byte[] msg,
                                     java.util.LinkedList<java.lang.String> srcNameList,
                                     java.util.LinkedList<java.lang.Integer> srcPortList)
handle message received before sending IDD query, the RINA process should first send M_CONNCECT to IDD

Parameters:
msg -

getIDDDatabaseServiceName

public java.util.LinkedHashMap<java.lang.String,java.util.LinkedList<IDD.iddEntry.Builder>> getIDDDatabaseServiceName()
Returns:
the iDDDatabaseServiceName

setIDDDatabaseServiceName

public void setIDDDatabaseServiceName(java.util.LinkedHashMap<java.lang.String,java.util.LinkedList<IDD.iddEntry.Builder>> databaseServiceName)
Parameters:
databaseServiceName - the iDDDatabaseServiceName to set

getIDDDatabaseDIFName

public java.util.LinkedHashMap<java.lang.String,IDD.iddEntry.Builder> getIDDDatabaseDIFName()
Returns:
the iDDDatabaseDIFName

setIDDDatabaseDIFName

public void setIDDDatabaseDIFName(java.util.LinkedHashMap<java.lang.String,IDD.iddEntry.Builder> databaseDIFName)
Parameters:
databaseDIFName - the iDDDatabaseDIFName to set

removeIDDEntry

public int removeIDDEntry(java.lang.String key)
remove IDD Entry

Parameters:
URL - to remove