org.eodisp.hla.common.lrc
Interface LrcRemote

All Superinterfaces:
java.rmi.Remote
All Known Implementing Classes:
LrcRemoteImpl

public interface LrcRemote
extends java.rmi.Remote

Remote interface of the local RTI component.

Version:
$Id:$
Author:
ibirrer

Field Summary
static java.lang.String REGISTRY_NAME
           
 
Method Summary
 void announceSynchronizationPoint(java.lang.String synchronizationPointLabel, byte[] userSuppliedTag, FederateHandle[] federateHandles, java.lang.String fedreationExecutionName)
          HLA service 4.8 (See IEEE Std 1516.1-2000).
 void discoverObjectInstance(ObjectInstanceHandle theObject, ObjectClassHandle theObjectClass, java.lang.String objectName, FederateHandle[] federateHandles, java.lang.String federationExecutionName)
          HLA service 6.5 (See IEEE Std 1516.1-2000).
 void federationSynchronized(java.lang.String synchronizationPointLabel, FederateHandle[] federateHandles, java.lang.String federationExecutionName, byte[] userSuppliedTag)
          HLA service 4.10 (See IEEE Std 1516.1-2000).
 void provideAttributeValueUpdate(ObjectInstanceHandle theObject, AttributeHandleSet theAttributes, byte[] userSuppliedTag, FederateHandle[] federateHandles, java.lang.String federationExecutionName)
          HLA service 6.18 (See IEEE Std 1516.1-2000).
 void receiveInteraction(InteractionClassHandle interactionClass, ParameterHandleValueMap theParameters, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, FederateHandle[] federateHandles, java.lang.String federationExecutionName)
          HLA service 6.9 (See IEEE Std 1516.1-2000).
 void reflectAttributeValues(ObjectInstanceHandle objectInstanceHandle, java.util.Map<AttributeHandle,byte[]> values, byte[] userSuppliedTag, java.util.Map<FederateHandle,AttributeHandle[]> federateSubscriptions, java.lang.String federationExecutionName)
          HLA service 6.7 (See IEEE Std 1516.1-2000).
 void startRegistrationForObjectClass(java.lang.String federationExecutionName, ObjectClassHandle objectClassHandle, FederateHandle[] federateHandles)
           
 void synchronizationPointRegistrationFailed(java.lang.String synchronizationPointLabel, SynchronizationPointFailureReason reason, FederateHandle federateHandle, java.lang.String federationExecutionName)
          HLA service 4.7 (See IEEE Std 1516.1-2000).
 void synchronizationPointRegistrationSucceeded(java.lang.String synchronizationPointLabel, FederateHandle federateHandle, java.lang.String federationExecutionName)
          HLA service 4.7 (See IEEE Std 1516.1-2000).
 

Field Detail

REGISTRY_NAME

static final java.lang.String REGISTRY_NAME
See Also:
Constant Field Values
Method Detail

synchronizationPointRegistrationSucceeded

void synchronizationPointRegistrationSucceeded(java.lang.String synchronizationPointLabel,
                                               FederateHandle federateHandle,
                                               java.lang.String federationExecutionName)
                                               throws FederateInternalError,
                                                      java.rmi.RemoteException
HLA service 4.7 (See IEEE Std 1516.1-2000). Confirm that the registration of the synchronization point was successful.

Parameters:
synchronizationPointLabel - the label of the synchronization point which registration has succeeded.
federateHandle - the federate for which the synchronization point registration succeeded.
federationExecutionName - the name of the federation execution this call is applicable for
Throws:
FederateInternalError - Exceptions thrown by the federation implementation TODO: use a w
java.rmi.RemoteException - RMI remote exception happened while calling this method

synchronizationPointRegistrationFailed

void synchronizationPointRegistrationFailed(java.lang.String synchronizationPointLabel,
                                            SynchronizationPointFailureReason reason,
                                            FederateHandle federateHandle,
                                            java.lang.String federationExecutionName)
                                            throws FederateInternalError,
                                                   java.rmi.RemoteException
HLA service 4.7 (See IEEE Std 1516.1-2000). Report that a synchronization point could not be registered.

Parameters:
synchronizationPointLabel - the label of the synchronization point which registration has failed.
federateHandle - the federate, for which the synchronization point registration failed.
federationExecutionName - the name of the federation execution this call is applicable for
Throws:
FederateInternalError - Exceptions thrown by the federation implementation TODO: use a wrapper exception here?
java.rmi.RemoteException - RMI remote exception happened while calling this method

announceSynchronizationPoint

void announceSynchronizationPoint(java.lang.String synchronizationPointLabel,
                                  byte[] userSuppliedTag,
                                  FederateHandle[] federateHandles,
                                  java.lang.String fedreationExecutionName)
                                  throws FederateInternalError,
                                         java.rmi.RemoteException
HLA service 4.8 (See IEEE Std 1516.1-2000). Announces a new synchronization point to the given federates

Parameters:
synchronizationPointLabel - the label of the synchronization point
userSuppliedTag - user supplied tag
federateHandles - the federates which shall be informed of a new synchronization point
federationExecutionName - the name of the federation execution this call is applicable for
Throws:
FederateInternalError - Exceptions thrown by the federation implementation TODO: use a wrapper exception here?
java.rmi.RemoteException - RMI remote exception happened while calling this method

federationSynchronized

void federationSynchronized(java.lang.String synchronizationPointLabel,
                            FederateHandle[] federateHandles,
                            java.lang.String federationExecutionName,
                            byte[] userSuppliedTag)
                            throws FederateInternalError,
                                   java.rmi.RemoteException
HLA service 4.10 (See IEEE Std 1516.1-2000). Inform the given federates that a federation execution has synchronized at the given synchronization point.

Parameters:
synchronizationPointLabel - the label of the synchronization point
federateHandles - the federates which shall be informed that the federation execution has synchronized
federationExecutionName - the name of the federation execution this call is applicable for
userSuppliedTag -
Throws:
FederateInternalError - Exceptions thrown by the federation implementation TODO: use a wrapper exception here?
java.rmi.RemoteException - RMI remote exception happened while calling this method

discoverObjectInstance

void discoverObjectInstance(ObjectInstanceHandle theObject,
                            ObjectClassHandle theObjectClass,
                            java.lang.String objectName,
                            FederateHandle[] federateHandles,
                            java.lang.String federationExecutionName)
                            throws CouldNotDiscover,
                                   ObjectClassNotRecognized,
                                   FederateInternalError,
                                   java.rmi.RemoteException
HLA service 6.5 (See IEEE Std 1516.1-2000). Informs the given federates about a newly registered object instance.

Parameters:
theObject - the object instance that was registered by another federate
theObjectClass - the object class of the newly registered instance
objectName - the unique name of the newly registered instance
federateHandles - the federates that shall be informed about the newly registered instance
federationExecutionName - the name of the federation execution this call is applicable for
Throws:
CouldNotDiscover - TODO: check
ObjectClassNotRecognized - TODO: check
FederateInternalError - Exceptions thrown by the federation implementation TODO: use a wrapper exception here?
java.rmi.RemoteException - RMI remote exception happened while calling this method

reflectAttributeValues

void reflectAttributeValues(ObjectInstanceHandle objectInstanceHandle,
                            java.util.Map<AttributeHandle,byte[]> values,
                            byte[] userSuppliedTag,
                            java.util.Map<FederateHandle,AttributeHandle[]> federateSubscriptions,
                            java.lang.String federationExecutionName)
                            throws ObjectInstanceNotKnown,
                                   AttributeNotRecognized,
                                   AttributeNotSubscribed,
                                   FederateInternalError,
                                   java.rmi.RemoteException
HLA service 6.7 (See IEEE Std 1516.1-2000). Informs the given federates about attribute value updates. TODO: Consider other ways of delivering data from one LRC to another.

Parameters:
theObject - the object instance which attributes are being updated
attributeHandleValueMap - a map with attribute handles as keys and its associated values.
userSuppliedTag - user supplied tag
sentOrdering - not implemented
theTransport - not implemented
federateHandles - the federates that shall receive the updates on this LRC
federationExecutionName - the name of the federation execution this call is applicable for
Throws:
ObjectInstanceNotKnown - TODO: check
AttributeNotRecognized - TODO: check
AttributeNotSubscribed - TODO: check
FederateInternalError - Exceptions thrown by the federation implementation TODO: use a wrapper exception here?
java.rmi.RemoteException - RMI remote exception happened while calling this method

receiveInteraction

void receiveInteraction(InteractionClassHandle interactionClass,
                        ParameterHandleValueMap theParameters,
                        byte[] userSuppliedTag,
                        OrderType sentOrdering,
                        TransportationType theTransport,
                        FederateHandle[] federateHandles,
                        java.lang.String federationExecutionName)
                        throws InteractionClassNotRecognized,
                               InteractionParameterNotRecognized,
                               InteractionClassNotSubscribed,
                               FederateInternalError,
                               java.rmi.RemoteException
HLA service 6.9 (See IEEE Std 1516.1-2000). Informs the given federates about an interaction sent by another federate.

Parameters:
interactionClass - the interaction class sent by another federate
theParameters - parameter values for the received interaction
userSuppliedTag - the tag supplied by the sending federate
sentOrdering - not implemented
theTransport - not implemented
federateHandles - the federates that shall receive the interaction on this LRC
federationExecutionName - the name of the federation execution this call is applicable for
Throws:
InteractionClassNotRecognized - TODO: check
InteractionParameterNotRecognized - TODO: check
InteractionClassNotSubscribed - TODO: check
FederateInternalError - Exceptions thrown by the federation implementation TODO: use a wrapper exception here?
java.rmi.RemoteException - RMI remote exception happened while calling this method

provideAttributeValueUpdate

void provideAttributeValueUpdate(ObjectInstanceHandle theObject,
                                 AttributeHandleSet theAttributes,
                                 byte[] userSuppliedTag,
                                 FederateHandle[] federateHandles,
                                 java.lang.String federationExecutionName)
                                 throws ObjectInstanceNotKnown,
                                        AttributeNotRecognized,
                                        AttributeNotOwned,
                                        FederateInternalError,
                                        java.rmi.RemoteException
HLA service 6.18 (See IEEE Std 1516.1-2000). Requests the given federate to call RTIambassador.updateAttributeValues(ObjectInstanceHandle, AttributeHandleValueMap, byte[]) for all values it owns of the given object instance.

Parameters:
theObject - the object instance for which the federate shall call update attribute values
theAttributes - the attributes for which for which the given federate shall provide updates. TODO: Do we need to deliver all attributes originally requested or only the ones owned by the given federate(s)?
federationExecutionName - the name of the federation execution this call is applicable for
userSuppliedTag - user supplied tag
federateHandles - the federate(s) which own the given object and shall provide updates
Throws:
ObjectInstanceNotKnown - TODO: check
AttributeNotRecognized - TODO: check
AttributeNotOwned - TODO: check
FederateInternalError - Exceptions thrown by the federation implementation TODO: use a wrapper exception here?
java.rmi.RemoteException - RMI remote exception happened while calling this method

startRegistrationForObjectClass

void startRegistrationForObjectClass(java.lang.String federationExecutionName,
                                     ObjectClassHandle objectClassHandle,
                                     FederateHandle[] federateHandles)
                                     throws java.rmi.RemoteException,
                                            ObjectClassNotPublished,
                                            FederateInternalError
Throws:
java.rmi.RemoteException
ObjectClassNotPublished
FederateInternalError