org.eodisp.hla.lrc
Class Lrc

java.lang.Object
  extended by org.eodisp.hla.lrc.Lrc

@ThreadSafe
public class Lrc
extends java.lang.Object

The main entry class to the local RTI component.

Version:
$Id:$
Author:
ibirrer

Constructor Summary
Lrc()
           
 
Method Summary
 RTIambassador createRtiAmbassador()
           
(package private)  FederateAmbassador getFederateAmbassador(java.lang.String federationExecutionName, FederateHandle federateHandle)
           
(package private)  LrcHandle getHandle()
           
(package private)  FederateHandle joinFederationExecution(java.lang.String federateType, java.lang.String executionName, FederateAmbassador federateAmbassador, MobileFederateServices serviceReferences)
          Joins the federation execution and registers the the federate ambassador with the LRC.
(package private)  void reflectAttributeValues(ObjectInstanceHandle objectInstanceHandle, java.util.Map<AttributeHandle,byte[]> values, byte[] userSuppliedTag, java.util.Map<FederateHandle,AttributeHandle[]> federateSubscriptions, java.lang.String federationExecutionName)
           
(package private)  void registerFederateAmbassador(java.lang.String federationExecutionName, FederateHandle federateHandle, FederateAmbassador federateAmbassador)
          Registers a federate ambassador on this LRC.
(package private)  void reset()
          Used for testing purposes only
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Lrc

public Lrc()
Method Detail

createRtiAmbassador

public RTIambassador createRtiAmbassador()
                                  throws java.rmi.RemoteException,
                                         org.eodisp.util.configuration.ConfigurationException,
                                         java.rmi.NotBoundException
Throws:
java.rmi.RemoteException
org.eodisp.util.configuration.ConfigurationException
java.rmi.NotBoundException

reset

void reset()
Used for testing purposes only

Throws:
java.rmi.RemoteException

joinFederationExecution

FederateHandle joinFederationExecution(java.lang.String federateType,
                                       java.lang.String executionName,
                                       FederateAmbassador federateAmbassador,
                                       MobileFederateServices serviceReferences)
                                 throws FederationExecutionDoesNotExist,
                                        java.rmi.RemoteException
Joins the federation execution and registers the the federate ambassador with the LRC. This method is specifically declared in the LRC to allow the join and the federate register method to be atomic.

Parameters:
federateType -
executionName -
federateAmbassador -
serviceReferences -
Returns:
Throws:
FederationExecutionDoesNotExist
java.rmi.RemoteException

registerFederateAmbassador

void registerFederateAmbassador(java.lang.String federationExecutionName,
                                FederateHandle federateHandle,
                                FederateAmbassador federateAmbassador)
Registers a federate ambassador on this LRC. This registry is used to determine the target federate ambassador of a call coming form the CRC or another LRC.

Parameters:
federationExecutionName - the name of the federation execution the federate is joined to
federateHandle - the handle of the federate to register
federateAmbassador - reference to the federate ambassador

getFederateAmbassador

FederateAmbassador getFederateAmbassador(java.lang.String federationExecutionName,
                                         FederateHandle federateHandle)

getHandle

LrcHandle getHandle()

reflectAttributeValues

void reflectAttributeValues(ObjectInstanceHandle objectInstanceHandle,
                            java.util.Map<AttributeHandle,byte[]> values,
                            byte[] userSuppliedTag,
                            java.util.Map<FederateHandle,AttributeHandle[]> federateSubscriptions,
                            java.lang.String federationExecutionName)