hla.rti
Interface FederateAmbassador

All Known Implementing Classes:
FederateAmbassadorAdapter, ProxyAmbassador

public interface FederateAmbassador

The interface used by the run time infrastructure to interact with the federate.

Author:
DMSO

Method Summary
 void announceSynchronizationPoint(java.lang.String synchronizationPointLabel, byte[] userSuppliedTag)
          Notifies the federate that a synchronization point has been announced.
 void attributeIsNotOwned(ObjectInstanceHandle theObject, AttributeHandle theAttribute)
          Notifies the federate that an attribute if not owned.
 void attributeIsOwnedByRTI(ObjectInstanceHandle theObject, AttributeHandle theAttribute)
          Notifies the federate that an attribute is owned by the run-time infrastructure.
 void attributeOwnershipAcquisitionNotification(ObjectInstanceHandle theObject, AttributeHandleSet securedAttributes, byte[] userSuppliedTag)
          Notifies the federate that it has acquired ownership of a set of attributes.
 void attributeOwnershipUnavailable(ObjectInstanceHandle theObject, AttributeHandleSet theAttributes)
          Notifies the federate that ownership of a set of attributes is unavailable.
 void attributesInScope(ObjectInstanceHandle theObject, AttributeHandleSet theAttributes)
          Notifies the federate that a set of attributes have entered its scope.
 void attributesOutOfScope(ObjectInstanceHandle theObject, AttributeHandleSet theAttributes)
          Notifies the federate that a set of attributes have left its scope.
 void confirmAttributeOwnershipAcquisitionCancellation(ObjectInstanceHandle theObject, AttributeHandleSet theAttributes)
          Notifies the federate of confirmation of attribute ownership acquisition cancellation.
 void discoverObjectInstance(ObjectInstanceHandle theObject, ObjectClassHandle theObjectClass, java.lang.String objectName)
          Notifies the federate of the presence of an object instance.
 void federationNotRestored(RestoreFailureReason reason)
          Notifies the federate that the federation has not been restored.
 void federationNotSaved(SaveFailureReason reason)
          Notifies the federate that the federation has not been saved.
 void federationRestoreBegun()
          Notifies the federate that the federation restore operation has begun.
 void federationRestored()
          Notifies the federate that the federation has been restored.
 void federationRestoreStatusResponse(FederateHandleRestoreStatusPair[] response)
          Provides information to the federate concerning the restore status of other members of the federation.
 void federationSaved()
          Notifies the federate that the federation has been saved.
 void federationSaveStatusResponse(FederateHandleSaveStatusPair[] response)
          Provides information to the federate concerning the save status of other members of the federation.
 void federationSynchronized(java.lang.String synchronizationPointLabel)
          Notifies the federate that the federation has been synchronized.
 void informAttributeOwnership(ObjectInstanceHandle theObject, AttributeHandle theAttribute, FederateHandle theOwner)
          Notifies the federate of the ownership of an attribute.
 void initiateFederateRestore(java.lang.String label, FederateHandle federateHandle)
          Notifies the federate that it should initiate a restore operation.
 void initiateFederateSave(java.lang.String label)
          Notifies the federate that it should initiate a save operation.
 void initiateFederateSave(java.lang.String label, LogicalTime time)
          Notifies the federate that it should initiate a save operation.
 void objectInstanceNameReservationFailed(java.lang.String objectName)
          Notifies the federate that its request to reserve an object instance name has failed.
 void objectInstanceNameReservationSucceded(java.lang.String objectName)
          Notifies the federate that its request to reserve an object instance name has succeeded.
 void provideAttributeValueUpdate(ObjectInstanceHandle theObject, AttributeHandleSet theAttributes, byte[] userSuppliedTag)
          Notifies the federate that it should provide an update regarding a set of object attributes.
 void receiveInteraction(InteractionClassHandle interactionClass, ParameterHandleValueMap theParameters, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Notifies the federate of a received interaction.
 void receiveInteraction(InteractionClassHandle interactionClass, ParameterHandleValueMap theParameters, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, LogicalTime theTime, OrderType receivedOrdering)
          Notifies the federate of a received interaction.
 void receiveInteraction(InteractionClassHandle interactionClass, ParameterHandleValueMap theParameters, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, LogicalTime theTime, OrderType receivedOrdering, MessageRetractionHandle messageRetractionHandle)
          Notifies the federate of a received interaction.
 void receiveInteraction(InteractionClassHandle interactionClass, ParameterHandleValueMap theParameters, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, LogicalTime theTime, OrderType receivedOrdering, MessageRetractionHandle messageRetractionHandle, RegionHandleSet sentRegions)
          Notifies the federate of a received interaction.
 void receiveInteraction(InteractionClassHandle interactionClass, ParameterHandleValueMap theParameters, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, LogicalTime theTime, OrderType receivedOrdering, RegionHandleSet sentRegions)
          Notifies the federate of a received interaction.
 void receiveInteraction(InteractionClassHandle interactionClass, ParameterHandleValueMap theParameters, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, RegionHandleSet sentRegions)
          Notifies the federate of a received interaction.
 void reflectAttributeValues(ObjectInstanceHandle theObject, AttributeHandleValueMap theAttributes, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Notifies the federate of changes to the state of an object instance.
 void reflectAttributeValues(ObjectInstanceHandle theObject, AttributeHandleValueMap theAttributes, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, LogicalTime theTime, OrderType receivedOrdering)
          Notifies the federate of changes to the state of an object instance.
 void reflectAttributeValues(ObjectInstanceHandle theObject, AttributeHandleValueMap theAttributes, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, LogicalTime theTime, OrderType receivedOrdering, MessageRetractionHandle retractionHandle)
          Notifies the federate of changes to the state of an object instance.
 void reflectAttributeValues(ObjectInstanceHandle theObject, AttributeHandleValueMap theAttributes, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, LogicalTime theTime, OrderType receivedOrdering, MessageRetractionHandle retractionHandle, RegionHandleSet sentRegions)
          Notifies the federate of changes to the state of an object instance.
 void reflectAttributeValues(ObjectInstanceHandle theObject, AttributeHandleValueMap theAttributes, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, LogicalTime theTime, OrderType receivedOrdering, RegionHandleSet sentRegions)
          Notifies the federate of changes to the state of an object instance.
 void reflectAttributeValues(ObjectInstanceHandle theObject, AttributeHandleValueMap theAttributes, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, RegionHandleSet sentRegions)
          Notifies the federate of changes to the state of an object instance.
 void removeObjectInstance(ObjectInstanceHandle theObject, byte[] userSuppliedTag, OrderType sentOrdering)
          Notifies the federate that an object instance has been removed.
 void removeObjectInstance(ObjectInstanceHandle theObject, byte[] userSuppliedTag, OrderType sentOrdering, LogicalTime theTime, OrderType receivedOrdering)
          Notifies the federate that an object instance has been removed.
 void removeObjectInstance(ObjectInstanceHandle theObject, byte[] userSuppliedTag, OrderType sentOrdering, LogicalTime theTime, OrderType receivedOrdering, MessageRetractionHandle retractionHandle)
          Notifies the federate that an object instance has been removed.
 void requestAttributeOwnershipAssumption(ObjectInstanceHandle theObject, AttributeHandleSet offeredAttributes, byte[] userSuppliedTag)
          Requests that the federate assume ownership of a set of attributes.
 void requestAttributeOwnershipRelease(ObjectInstanceHandle theObject, AttributeHandleSet candidateAttributes, byte[] userSuppliedTag)
          Notifies the federate of a request to release ownership of a set of attributes.
 void requestDivestitureConfirmation(ObjectInstanceHandle theObject, AttributeHandleSet offeredAttributes)
          Requests that the federate confirm divestiture of a set of attributes.
 void requestFederationRestoreFailed(java.lang.String label)
          Notifies the federate that its request to restore the saved state of the federation has failed.
 void requestFederationRestoreSucceeded(java.lang.String label)
          Notifies the federate that its request to restore the saved state of the federation has succeeded.
 void requestRetraction(MessageRetractionHandle theHandle)
          Notifies the federate that a retraction has been requested.
 void startRegistrationForObjectClass(ObjectClassHandle theClass)
          Notifies the federate that it should begin registering objects of a certain class.
 void stopRegistrationForObjectClass(ObjectClassHandle theClass)
          Notifies the federate that it should stop registering objects of a certain class.
 void synchronizationPointRegistrationFailed(java.lang.String synchronizationPointLabel, SynchronizationPointFailureReason reason)
          Notifies the federate that the synchronization point registration operation has failed.
 void synchronizationPointRegistrationSucceeded(java.lang.String synchronizationPointLabel)
          Notifies the federate that the synchronization point registration operation has succeeded.
 void timeAdvanceGrant(LogicalTime theTime)
          Notifies the federate that a time advance has been granted.
 void timeConstrainedEnabled(LogicalTime time)
          Notifies the federate that time-constrained mode has been enabled.
 void timeRegulationEnabled(LogicalTime time)
          Notifies the federate that time regulation has been enabled.
 void turnInteractionsOff(InteractionClassHandle theHandle)
          Notifies the federate that it should turn interactions of a certain class off.
 void turnInteractionsOn(InteractionClassHandle theHandle)
          Notifies the federate that it should turn interactions of a certain class on.
 void turnUpdatesOffForObjectInstance(ObjectInstanceHandle theObject, AttributeHandleSet theAttributes)
          Notifies the federate that it should turn updates off for an owned object instance.
 void turnUpdatesOnForObjectInstance(ObjectInstanceHandle theObject, AttributeHandleSet theAttributes)
          Notifies the federate that it should turn updates on for an owned object instance.
 

Method Detail

synchronizationPointRegistrationSucceeded

public void synchronizationPointRegistrationSucceeded(java.lang.String synchronizationPointLabel)
                                               throws FederateInternalError
Notifies the federate that the synchronization point registration operation has succeeded.

Parameters:
synchronizationPointLabel - the label of the registered synchronization point
Throws:
FederateInternalError - if an error occurs in the federate

synchronizationPointRegistrationFailed

public void synchronizationPointRegistrationFailed(java.lang.String synchronizationPointLabel,
                                                   SynchronizationPointFailureReason reason)
                                            throws FederateInternalError
Notifies the federate that the synchronization point registration operation has failed.

Parameters:
synchronizationPointLabel - the label of the synchronization point
Throws:
FederateInternalError - if an error occurs in the federate

announceSynchronizationPoint

public void announceSynchronizationPoint(java.lang.String synchronizationPointLabel,
                                         byte[] userSuppliedTag)
                                  throws FederateInternalError
Notifies the federate that a synchronization point has been announced.

Parameters:
synchronizationPointLabel - the label of the announced synchronization point
userSuppliedTag - a user-supplied tag associated with the announcement
Throws:
FederateInternalError - if an error occurs in the federate

federationSynchronized

public void federationSynchronized(java.lang.String synchronizationPointLabel)
                            throws FederateInternalError
Notifies the federate that the federation has been synchronized.

Parameters:
synchronizationPointLabel - the label of the synchronization point
Throws:
FederateInternalError - if an error occurs in the federate

initiateFederateSave

public void initiateFederateSave(java.lang.String label)
                          throws UnableToPerformSave,
                                 FederateInternalError
Notifies the federate that it should initiate a save operation.

Parameters:
label - the label to save under
Throws:
UnableToPerformSave - if the federate cannot perform the operation
FederateInternalError - if an error occurs in the federate

initiateFederateSave

public void initiateFederateSave(java.lang.String label,
                                 LogicalTime time)
                          throws InvalidLogicalTime,
                                 UnableToPerformSave,
                                 FederateInternalError
Notifies the federate that it should initiate a save operation.

Parameters:
label - the label to save under
time - the time of the save operation
Throws:
InvalidLogicalTime - if the specified time is invalid
UnableToPerformSave - if the federate cannot perform the operation
FederateInternalError - if an error occurs in the federate

federationSaved

public void federationSaved()
                     throws FederateInternalError
Notifies the federate that the federation has been saved.

Throws:
FederateInternalError - if an error occurs in the federate

federationNotSaved

public void federationNotSaved(SaveFailureReason reason)
                        throws FederateInternalError
Notifies the federate that the federation has not been saved.

Parameters:
reason - the reason for the failure of the save operation
Throws:
FederateInternalError - if an error occurs in the federate

federationSaveStatusResponse

public void federationSaveStatusResponse(FederateHandleSaveStatusPair[] response)
                                  throws FederateInternalError
Provides information to the federate concerning the save status of other members of the federation.

Parameters:
response - the responses associated with each federate
Throws:
FederateInternalError - if an error occurs in the federate

requestFederationRestoreSucceeded

public void requestFederationRestoreSucceeded(java.lang.String label)
                                       throws FederateInternalError
Notifies the federate that its request to restore the saved state of the federation has succeeded.

Parameters:
label - the label of the stored state to restore
Throws:
FederateInternalError - if an error occurs in the federate

requestFederationRestoreFailed

public void requestFederationRestoreFailed(java.lang.String label)
                                    throws FederateInternalError
Notifies the federate that its request to restore the saved state of the federation has failed.

Parameters:
label - the label of the stored state to restore
Throws:
FederateInternalError - if an error occurs in the federate

federationRestoreBegun

public void federationRestoreBegun()
                            throws FederateInternalError
Notifies the federate that the federation restore operation has begun.

Throws:
FederateInternalError - if an error occurs in the federate

initiateFederateRestore

public void initiateFederateRestore(java.lang.String label,
                                    FederateHandle federateHandle)
                             throws SpecifiedSaveLabelDoesNotExist,
                                    CouldNotInitiateRestore,
                                    FederateInternalError
Notifies the federate that it should initiate a restore operation.

Parameters:
label - the label of the stored state to restore
federateHandle - the federate handle
Throws:
SpecifiedSaveLabelDoesNotExist - if the specified save label does not exist
CouldNotInitiateRestore - if the restore operation cannot be performed
FederateInternalError - if an error occurs in the federate

federationRestored

public void federationRestored()
                        throws FederateInternalError
Notifies the federate that the federation has been restored.

Throws:
FederateInternalError - if an error occurs in the federate

federationNotRestored

public void federationNotRestored(RestoreFailureReason reason)
                           throws FederateInternalError
Notifies the federate that the federation has not been restored.

Parameters:
reason - the reason for the failure of the restore operation
Throws:
FederateInternalError - if an error occurs in the federate

federationRestoreStatusResponse

public void federationRestoreStatusResponse(FederateHandleRestoreStatusPair[] response)
                                     throws FederateInternalError
Provides information to the federate concerning the restore status of other members of the federation.

Parameters:
response - the responses associated with each federate
Throws:
FederateInternalError - if an error occurs in the federate

startRegistrationForObjectClass

public void startRegistrationForObjectClass(ObjectClassHandle theClass)
                                     throws ObjectClassNotPublished,
                                            FederateInternalError
Notifies the federate that it should begin registering objects of a certain class.

Parameters:
theClass - the handle of the class of objects to begin registering
Throws:
ObjectClassNotPublished - if the specified object class is not published
FederateInternalError - if an error occurs in the federate

stopRegistrationForObjectClass

public void stopRegistrationForObjectClass(ObjectClassHandle theClass)
                                    throws ObjectClassNotPublished,
                                           FederateInternalError
Notifies the federate that it should stop registering objects of a certain class.

Parameters:
theClass - the handle of the class of objects to stop registering
Throws:
ObjectClassNotPublished - if the specified object class is not published
FederateInternalError - if an error occurs in the federate

turnInteractionsOn

public void turnInteractionsOn(InteractionClassHandle theHandle)
                        throws InteractionClassNotPublished,
                               FederateInternalError
Notifies the federate that it should turn interactions of a certain class on.

Parameters:
theHandle - the handle of the class of interactions to turn on
Throws:
InteractionClassNotPublished - if the specified interaction class is not published
FederateInternalError - if an error occurs in the federate

turnInteractionsOff

public void turnInteractionsOff(InteractionClassHandle theHandle)
                         throws InteractionClassNotPublished,
                                FederateInternalError
Notifies the federate that it should turn interactions of a certain class off.

Parameters:
theHandle - the handle of the class of interactions to turn off
Throws:
InteractionClassNotPublished - if the specified interaction class is not published
FederateInternalError - if an error occurs in the federate

objectInstanceNameReservationSucceded

public void objectInstanceNameReservationSucceded(java.lang.String objectName)
                                           throws UnknownName,
                                                  FederateInternalError
Notifies the federate that its request to reserve an object instance name has succeeded.

Parameters:
objectName - the reserved object instance name
Throws:
UnknownName - if the name is unknown
FederateInternalError - if an error occurs in the federate

objectInstanceNameReservationFailed

public void objectInstanceNameReservationFailed(java.lang.String objectName)
                                         throws UnknownName,
                                                FederateInternalError
Notifies the federate that its request to reserve an object instance name has failed.

Parameters:
objectName - the object instance name
Throws:
UnknownName - if the name is unknown
FederateInternalError - if an error occurs in the federate

discoverObjectInstance

public void discoverObjectInstance(ObjectInstanceHandle theObject,
                                   ObjectClassHandle theObjectClass,
                                   java.lang.String objectName)
                            throws CouldNotDiscover,
                                   ObjectClassNotRecognized,
                                   FederateInternalError
Notifies the federate of the presence of an object instance.

Parameters:
theObject - the instance handle of the newly discovered object
theObjectClass - the class handle of the newly discovered object
objectName - the name of the newly discovered object
Throws:
CouldNotDiscover - if the object could not be discovered
ObjectClassNotRecognized - if the object class was not recognized
FederateInternalError - if an error occurs in the federate

reflectAttributeValues

public void reflectAttributeValues(ObjectInstanceHandle theObject,
                                   AttributeHandleValueMap theAttributes,
                                   byte[] userSuppliedTag,
                                   OrderType sentOrdering,
                                   TransportationType theTransport)
                            throws ObjectInstanceNotKnown,
                                   AttributeNotRecognized,
                                   AttributeNotSubscribed,
                                   FederateInternalError
Notifies the federate of changes to the state of an object instance.

Parameters:
theObject - the instance handle of the modified object
theAttributes - the map between attribute handles and the new values of the identified attributes
userSuppliedTag - a user-supplied tag associated with the state change
sentOrdering - the type of ordering with which the update was sent
theTransport - the type of transport associated with the update
Throws:
ObjectInstanceNotKnown - if the object instance is not known
AttributeNotRecognized - if the attribute was not recognized
AttributeNotSubscribed - if the federate had not subscribed to the attribute
FederateInternalError - if an error occurs in the federate

reflectAttributeValues

public void reflectAttributeValues(ObjectInstanceHandle theObject,
                                   AttributeHandleValueMap theAttributes,
                                   byte[] userSuppliedTag,
                                   OrderType sentOrdering,
                                   TransportationType theTransport,
                                   RegionHandleSet sentRegions)
                            throws ObjectInstanceNotKnown,
                                   AttributeNotRecognized,
                                   AttributeNotSubscribed,
                                   FederateInternalError
Notifies the federate of changes to the state of an object instance.

Parameters:
theObject - the instance handle of the modified object
theAttributes - the map between attribute handles and the new values of the identified attributes
userSuppliedTag - a user-supplied tag associated with the state change
sentOrdering - the type of ordering with which the update was sent
theTransport - the type of transport associated with the update
sentRegions - the set of region handles identifying the regions associated with the attribute update
Throws:
ObjectInstanceNotKnown - if the object instance is not known
AttributeNotRecognized - if the attribute was not recognized
AttributeNotSubscribed - if the federate had not subscribed to the attribute
FederateInternalError - if an error occurs in the federate

reflectAttributeValues

public void reflectAttributeValues(ObjectInstanceHandle theObject,
                                   AttributeHandleValueMap theAttributes,
                                   byte[] userSuppliedTag,
                                   OrderType sentOrdering,
                                   TransportationType theTransport,
                                   LogicalTime theTime,
                                   OrderType receivedOrdering)
                            throws ObjectInstanceNotKnown,
                                   AttributeNotRecognized,
                                   AttributeNotSubscribed,
                                   FederateInternalError
Notifies the federate of changes to the state of an object instance.

Parameters:
theObject - the instance handle of the modified object
theAttributes - the map between attribute handles and the new values of the identified attributes
userSuppliedTag - a user-supplied tag associated with the state change
sentOrdering - the type of ordering with which the update was sent
theTransport - the type of transport associated with the update
theTime - the logical time associated with the attribute update
receivedOrdering - the type of ordering with which the update was received
Throws:
ObjectInstanceNotKnown - if the object instance is not known
AttributeNotRecognized - if the attribute was not recognized
AttributeNotSubscribed - if the federate had not subscribed to the attribute
FederateInternalError - if an error occurs in the federate

reflectAttributeValues

public void reflectAttributeValues(ObjectInstanceHandle theObject,
                                   AttributeHandleValueMap theAttributes,
                                   byte[] userSuppliedTag,
                                   OrderType sentOrdering,
                                   TransportationType theTransport,
                                   LogicalTime theTime,
                                   OrderType receivedOrdering,
                                   RegionHandleSet sentRegions)
                            throws ObjectInstanceNotKnown,
                                   AttributeNotRecognized,
                                   AttributeNotSubscribed,
                                   FederateInternalError
Notifies the federate of changes to the state of an object instance.

Parameters:
theObject - the instance handle of the modified object
theAttributes - the map between attribute handles and the new values of the identified attributes
userSuppliedTag - a user-supplied tag associated with the state change
sentOrdering - the type of ordering with which the update was sent
theTransport - the type of transport associated with the update
theTime - the logical time associated with the attribute update
receivedOrdering - the type of ordering with which the update was received
sentRegions - the set of region handles identifying the regions associated with the attribute update
Throws:
ObjectInstanceNotKnown - if the object instance is not known
AttributeNotRecognized - if the attribute was not recognized
AttributeNotSubscribed - if the federate had not subscribed to the attribute
FederateInternalError - if an error occurs in the federate

reflectAttributeValues

public void reflectAttributeValues(ObjectInstanceHandle theObject,
                                   AttributeHandleValueMap theAttributes,
                                   byte[] userSuppliedTag,
                                   OrderType sentOrdering,
                                   TransportationType theTransport,
                                   LogicalTime theTime,
                                   OrderType receivedOrdering,
                                   MessageRetractionHandle retractionHandle)
                            throws ObjectInstanceNotKnown,
                                   AttributeNotRecognized,
                                   AttributeNotSubscribed,
                                   InvalidLogicalTime,
                                   FederateInternalError
Notifies the federate of changes to the state of an object instance.

Parameters:
theObject - the instance handle of the modified object
theAttributes - the map between attribute handles and the new values of the identified attributes
userSuppliedTag - a user-supplied tag associated with the state change
sentOrdering - the type of ordering with which the update was sent
theTransport - the type of transport associated with the update
theTime - the logical time associated with the attribute update
receivedOrdering - the type of ordering with which the update was received
retractionHandle - the message retraction handle
Throws:
ObjectInstanceNotKnown - if the object instance is not known
AttributeNotRecognized - if the attribute was not recognized
AttributeNotSubscribed - if the federate had not subscribed to the attribute
InvalidLogicalTime - if the specified logical time was invalid
FederateInternalError - if an error occurs in the federate

reflectAttributeValues

public void reflectAttributeValues(ObjectInstanceHandle theObject,
                                   AttributeHandleValueMap theAttributes,
                                   byte[] userSuppliedTag,
                                   OrderType sentOrdering,
                                   TransportationType theTransport,
                                   LogicalTime theTime,
                                   OrderType receivedOrdering,
                                   MessageRetractionHandle retractionHandle,
                                   RegionHandleSet sentRegions)
                            throws ObjectInstanceNotKnown,
                                   AttributeNotRecognized,
                                   AttributeNotSubscribed,
                                   InvalidLogicalTime,
                                   FederateInternalError
Notifies the federate of changes to the state of an object instance.

Parameters:
theObject - the instance handle of the modified object
theAttributes - the map between attribute handles and the new values of the identified attributes
userSuppliedTag - a user-supplied tag associated with the state change
sentOrdering - the type of ordering with which the update was sent
theTransport - the type of transport associated with the update
theTime - the logical time associated with the attribute update
receivedOrdering - the type of ordering with which the update was received
retractionHandle - the message retraction handle
sentRegions - the set of region handles identifying the regions associated with the attribute update
Throws:
ObjectInstanceNotKnown - if the object instance is not known
AttributeNotRecognized - if the attribute was not recognized
AttributeNotSubscribed - if the federate had not subscribed to the attribute
InvalidLogicalTime - if the specified logical time was invalid
FederateInternalError - if an error occurs in the federate

receiveInteraction

public void receiveInteraction(InteractionClassHandle interactionClass,
                               ParameterHandleValueMap theParameters,
                               byte[] userSuppliedTag,
                               OrderType sentOrdering,
                               TransportationType theTransport)
                        throws InteractionClassNotRecognized,
                               InteractionParameterNotRecognized,
                               InteractionClassNotSubscribed,
                               FederateInternalError
Notifies the federate of a received interaction.

Parameters:
interactionClass - the class of the received interaction
theParameters - the map between parameter handles and the values of the identified parameters
userSuppliedTag - a user-supplied tag associated with the interaction
sentOrdering - the type of ordering with which the interaction was sent
theTransport - the type of transport associated with the interaction
Throws:
InteractionClassNotRecognized - if the interaction class was not recognized
InteractionParameterNotRecognized - if a parameter of the interaction was not recognized
InteractionClassNotSubscribed - if the federate had not subscribed to the interaction class
FederateInternalError - if an error occurs in the federate

receiveInteraction

public void receiveInteraction(InteractionClassHandle interactionClass,
                               ParameterHandleValueMap theParameters,
                               byte[] userSuppliedTag,
                               OrderType sentOrdering,
                               TransportationType theTransport,
                               RegionHandleSet sentRegions)
                        throws InteractionClassNotRecognized,
                               InteractionParameterNotRecognized,
                               InteractionClassNotSubscribed,
                               FederateInternalError
Notifies the federate of a received interaction.

Parameters:
interactionClass - the class of the received interaction
theParameters - the map between parameter handles and the values of the identified parameters
userSuppliedTag - a user-supplied tag associated with the interaction
sentOrdering - the type of ordering with which the interaction was sent
theTransport - the type of transport associated with the interaction
sentRegions - the set of region handles identifying the regions associated with the interaction
Throws:
InteractionClassNotRecognized - if the interaction class was not recognized
InteractionParameterNotRecognized - if a parameter of the interaction was not recognized
InteractionClassNotSubscribed - if the federate had not subscribed to the interaction class
FederateInternalError - if an error occurs in the federate

receiveInteraction

public void receiveInteraction(InteractionClassHandle interactionClass,
                               ParameterHandleValueMap theParameters,
                               byte[] userSuppliedTag,
                               OrderType sentOrdering,
                               TransportationType theTransport,
                               LogicalTime theTime,
                               OrderType receivedOrdering)
                        throws InteractionClassNotRecognized,
                               InteractionParameterNotRecognized,
                               InteractionClassNotSubscribed,
                               FederateInternalError
Notifies the federate of a received interaction.

Parameters:
interactionClass - the class of the received interaction
theParameters - the map between parameter handles and the values of the identified parameters
userSuppliedTag - a user-supplied tag associated with the interaction
sentOrdering - the type of ordering with which the interaction was sent
theTransport - the type of transport associated with the interaction
theTime - the logical time associated with the interaction
Throws:
InteractionClassNotRecognized - if the interaction class was not recognized
InteractionParameterNotRecognized - if a parameter of the interaction was not recognized
InteractionClassNotSubscribed - if the federate had not subscribed to the interaction class
FederateInternalError - if an error occurs in the federate

receiveInteraction

public void receiveInteraction(InteractionClassHandle interactionClass,
                               ParameterHandleValueMap theParameters,
                               byte[] userSuppliedTag,
                               OrderType sentOrdering,
                               TransportationType theTransport,
                               LogicalTime theTime,
                               OrderType receivedOrdering,
                               RegionHandleSet sentRegions)
                        throws InteractionClassNotRecognized,
                               InteractionParameterNotRecognized,
                               InteractionClassNotSubscribed,
                               FederateInternalError
Notifies the federate of a received interaction.

Parameters:
interactionClass - the class of the received interaction
theParameters - the map between parameter handles and the values of the identified parameters
userSuppliedTag - a user-supplied tag associated with the interaction
sentOrdering - the type of ordering with which the interaction was sent
theTransport - the type of transport associated with the interaction
theTime - the logical time associated with the interaction
receivedOrdering - the type of ordering with which the interaction was received
sentRegions - the set of region handles identifying the regions associated with the interaction
Throws:
InteractionClassNotRecognized - if the interaction class was not recognized
InteractionParameterNotRecognized - if a parameter of the interaction was not recognized
InteractionClassNotSubscribed - if the federate had not subscribed to the interaction class
FederateInternalError - if an error occurs in the federate

receiveInteraction

public void receiveInteraction(InteractionClassHandle interactionClass,
                               ParameterHandleValueMap theParameters,
                               byte[] userSuppliedTag,
                               OrderType sentOrdering,
                               TransportationType theTransport,
                               LogicalTime theTime,
                               OrderType receivedOrdering,
                               MessageRetractionHandle messageRetractionHandle)
                        throws InteractionClassNotRecognized,
                               InteractionParameterNotRecognized,
                               InteractionClassNotSubscribed,
                               InvalidLogicalTime,
                               FederateInternalError
Notifies the federate of a received interaction.

Parameters:
interactionClass - the class of the received interaction
theParameters - the map between parameter handles and the values of the identified parameters
userSuppliedTag - a user-supplied tag associated with the interaction
sentOrdering - the type of ordering with which the interaction was sent
theTransport - the type of transport associated with the interaction
theTime - the logical time associated with the interaction
receivedOrdering - the type of ordering with which the interaction was received
messageRetractionHandle - the message retraction handle associated with the interaction
Throws:
InteractionClassNotRecognized - if the interaction class was not recognized
InteractionParameterNotRecognized - if a parameter of the interaction was not recognized
InteractionClassNotSubscribed - if the federate had not subscribed to the interaction class
InvalidLogicalTime - if the specified logical time was invalid
FederateInternalError - if an error occurs in the federate

receiveInteraction

public void receiveInteraction(InteractionClassHandle interactionClass,
                               ParameterHandleValueMap theParameters,
                               byte[] userSuppliedTag,
                               OrderType sentOrdering,
                               TransportationType theTransport,
                               LogicalTime theTime,
                               OrderType receivedOrdering,
                               MessageRetractionHandle messageRetractionHandle,
                               RegionHandleSet sentRegions)
                        throws InteractionClassNotRecognized,
                               InteractionParameterNotRecognized,
                               InteractionClassNotSubscribed,
                               InvalidLogicalTime,
                               FederateInternalError
Notifies the federate of a received interaction.

Parameters:
interactionClass - the class of the received interaction
theParameters - the map between parameter handles and the values of the identified parameters
userSuppliedTag - a user-supplied tag associated with the interaction
sentOrdering - the type of ordering with which the interaction was sent
theTransport - the type of transport associated with the interaction
theTime - the logical time associated with the interaction
receivedOrdering - the type of ordering with which the interaction was received
messageRetractionHandle - the message retraction handle associated with the interaction
sentRegions - the set of region handles identifying the regions associated with the interaction
Throws:
InteractionClassNotRecognized - if the interaction class was not recognized
InteractionParameterNotRecognized - if a parameter of the interaction was not recognized
InteractionClassNotSubscribed - if the federate had not subscribed to the interaction class
InvalidLogicalTime - if the specified logical time was invalid
FederateInternalError - if an error occurs in the federate

removeObjectInstance

public void removeObjectInstance(ObjectInstanceHandle theObject,
                                 byte[] userSuppliedTag,
                                 OrderType sentOrdering)
                          throws ObjectInstanceNotKnown,
                                 FederateInternalError
Notifies the federate that an object instance has been removed.

Parameters:
theObject - the instance handle associated with the object
userSuppliedTag - a user-supplied tag associated with the removal operation
sentOrdering - the type of ordering with which the interaction was sent
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
FederateInternalError - if an error occurs in the federate

removeObjectInstance

public void removeObjectInstance(ObjectInstanceHandle theObject,
                                 byte[] userSuppliedTag,
                                 OrderType sentOrdering,
                                 LogicalTime theTime,
                                 OrderType receivedOrdering)
                          throws ObjectInstanceNotKnown,
                                 FederateInternalError
Notifies the federate that an object instance has been removed.

Parameters:
theObject - the instance handle associated with the object
userSuppliedTag - a user-supplied tag associated with the removal operation
sentOrdering - the type of ordering with which the interaction was sent
theTime - the logical time associated with the removal operation
receivedOrdering - the type of ordering with which the interaction was received
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
FederateInternalError - if an error occurs in the federate

removeObjectInstance

public void removeObjectInstance(ObjectInstanceHandle theObject,
                                 byte[] userSuppliedTag,
                                 OrderType sentOrdering,
                                 LogicalTime theTime,
                                 OrderType receivedOrdering,
                                 MessageRetractionHandle retractionHandle)
                          throws ObjectInstanceNotKnown,
                                 InvalidLogicalTime,
                                 FederateInternalError
Notifies the federate that an object instance has been removed.

Parameters:
theObject - the instance handle associated with the object
userSuppliedTag - a user-supplied tag associated with the removal operation
sentOrdering - the type of ordering with which the interaction was sent
theTime - the logical time associated with the removal operation
receivedOrdering - the type of ordering with which the interaction was received
retractionHandle - the message retraction handle associated with the interaction
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
InvalidLogicalTime - if the specified logical time was invalid
FederateInternalError - if an error occurs in the federate

attributesInScope

public void attributesInScope(ObjectInstanceHandle theObject,
                              AttributeHandleSet theAttributes)
                       throws ObjectInstanceNotKnown,
                              AttributeNotRecognized,
                              AttributeNotSubscribed,
                              FederateInternalError
Notifies the federate that a set of attributes have entered its scope.

Parameters:
theObject - the handle of the object instance whose attributes have entered scope
theAttributes - the set of attribute handles identifying the attributes that have entered scope
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an identified attribute was not recognized
AttributeNotSubscribed - if the federate had not subscribed to an identified attribute
FederateInternalError - if an error occurs in the federate

attributesOutOfScope

public void attributesOutOfScope(ObjectInstanceHandle theObject,
                                 AttributeHandleSet theAttributes)
                          throws ObjectInstanceNotKnown,
                                 AttributeNotRecognized,
                                 AttributeNotSubscribed,
                                 FederateInternalError
Notifies the federate that a set of attributes have left its scope.

Parameters:
theObject - the handle of the object instance whose attributes have left scope
theAttributes - the set of attribute handles identifying the attributes that have left scope
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an identified attribute was not recognized
AttributeNotSubscribed - if the federate had not subscribed to an identified attribute
FederateInternalError - if an error occurs in the federate

provideAttributeValueUpdate

public void provideAttributeValueUpdate(ObjectInstanceHandle theObject,
                                        AttributeHandleSet theAttributes,
                                        byte[] userSuppliedTag)
                                 throws ObjectInstanceNotKnown,
                                        AttributeNotRecognized,
                                        AttributeNotOwned,
                                        FederateInternalError
Notifies the federate that it should provide an update regarding a set of object attributes.

Parameters:
theObject - the handle of the object instance whose attributes should be sent
theAttributes - the set of attribute handles identifying the attributes that should be sent
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an identified attribute was not recognized
AttributeNotOwned - if the federate did not own a specified attribute
FederateInternalError - if an error occurs in the federate

turnUpdatesOnForObjectInstance

public void turnUpdatesOnForObjectInstance(ObjectInstanceHandle theObject,
                                           AttributeHandleSet theAttributes)
                                    throws ObjectInstanceNotKnown,
                                           AttributeNotRecognized,
                                           AttributeNotOwned,
                                           FederateInternalError
Notifies the federate that it should turn updates on for an owned object instance.

Parameters:
theObject - the handle of the object instance whose attributes should be sent
theAttributes - the set of attribute handles identifying the attributes that should be sent
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an identified attribute was not recognized
AttributeNotOwned - if the federate did not own a specified attribute
FederateInternalError - if an error occurs in the federate

turnUpdatesOffForObjectInstance

public void turnUpdatesOffForObjectInstance(ObjectInstanceHandle theObject,
                                            AttributeHandleSet theAttributes)
                                     throws ObjectInstanceNotKnown,
                                            AttributeNotRecognized,
                                            AttributeNotOwned,
                                            FederateInternalError
Notifies the federate that it should turn updates off for an owned object instance.

Parameters:
theObject - the handle of the object instance whose attributes should not be sent
theAttributes - the set of attribute handles identifying the attributes that should not be sent
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an identified attribute was not recognized
AttributeNotOwned - if the federate did not own a specified attribute
FederateInternalError - if an error occurs in the federate

requestAttributeOwnershipAssumption

public void requestAttributeOwnershipAssumption(ObjectInstanceHandle theObject,
                                                AttributeHandleSet offeredAttributes,
                                                byte[] userSuppliedTag)
                                         throws ObjectInstanceNotKnown,
                                                AttributeNotRecognized,
                                                AttributeAlreadyOwned,
                                                AttributeNotPublished,
                                                FederateInternalError
Requests that the federate assume ownership of a set of attributes.

Parameters:
theObject - a handle to the object instance with which the attributes are associated
offeredAttributes - the set of handles to the attributes
userSuppliedTag - a user-supplied tag associated with the transfer
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an attribute was not recognized
AttributeAlreadyOwned - if an attribute was already owned
AttributeNotPublished - if an attribute is not published
FederateInternalError - if an error occurs in the federate

requestDivestitureConfirmation

public void requestDivestitureConfirmation(ObjectInstanceHandle theObject,
                                           AttributeHandleSet offeredAttributes)
                                    throws ObjectInstanceNotKnown,
                                           AttributeNotRecognized,
                                           AttributeNotOwned,
                                           AttributeDivestitureWasNotRequested,
                                           FederateInternalError
Requests that the federate confirm divestiture of a set of attributes.

Parameters:
theObject - a handle to the object instance with which the attributes are associated
offeredAttributes - the set of handles to the attributes
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an attribute was not recognized
AttributeNotOwned - if an attribute was not owned
AttributeDivestitureWasNotRequested - if divestiture of a specified attribute was not requested
FederateInternalError - if an error occurs in the federate

attributeOwnershipAcquisitionNotification

public void attributeOwnershipAcquisitionNotification(ObjectInstanceHandle theObject,
                                                      AttributeHandleSet securedAttributes,
                                                      byte[] userSuppliedTag)
                                               throws ObjectInstanceNotKnown,
                                                      AttributeNotRecognized,
                                                      AttributeAcquisitionWasNotRequested,
                                                      AttributeAlreadyOwned,
                                                      AttributeNotPublished,
                                                      FederateInternalError
Notifies the federate that it has acquired ownership of a set of attributes.

Parameters:
theObject - a handle to the object instance with which the attributes are associated
securedAttributes - the set of handles to the attributes
userSuppliedTag - a user-supplied tag associated with the transfer
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an attribute was not recognized
AttributeAcquisitionWasNotRequested - if acquisition of a specified attribute was not requested
AttributeAlreadyOwned - if an attribute was already owned
AttributeNotPublished - if an attribute is not published
FederateInternalError - if an error occurs in the federate

attributeOwnershipUnavailable

public void attributeOwnershipUnavailable(ObjectInstanceHandle theObject,
                                          AttributeHandleSet theAttributes)
                                   throws ObjectInstanceNotKnown,
                                          AttributeNotRecognized,
                                          AttributeAlreadyOwned,
                                          AttributeAcquisitionWasNotRequested,
                                          FederateInternalError
Notifies the federate that ownership of a set of attributes is unavailable.

Parameters:
theObject - a handle to the object instance with which the attributes are associated
theAttributes - the set of handles to the attributes
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an attribute was not recognized
AttributeAlreadyOwned - if an attribute was already owned
AttributeAcquisitionWasNotRequested - if acquisition of a specified attribute was not requested
FederateInternalError - if an error occurs in the federate

requestAttributeOwnershipRelease

public void requestAttributeOwnershipRelease(ObjectInstanceHandle theObject,
                                             AttributeHandleSet candidateAttributes,
                                             byte[] userSuppliedTag)
                                      throws ObjectInstanceNotKnown,
                                             AttributeNotRecognized,
                                             AttributeNotOwned,
                                             FederateInternalError
Notifies the federate of a request to release ownership of a set of attributes.

Parameters:
theObject - a handle to the object instance with which the attributes are associated
candidateAttributes - the attributes that have been requested to be released
userSuppliedTag - a user-supplied tag associated with the request
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an attribute was not recognized
AttributeNotOwned - if an attribute was not owned
FederateInternalError - if an error occurs in the federate

confirmAttributeOwnershipAcquisitionCancellation

public void confirmAttributeOwnershipAcquisitionCancellation(ObjectInstanceHandle theObject,
                                                             AttributeHandleSet theAttributes)
                                                      throws ObjectInstanceNotKnown,
                                                             AttributeNotRecognized,
                                                             AttributeAlreadyOwned,
                                                             AttributeAcquisitionWasNotCanceled,
                                                             FederateInternalError
Notifies the federate of confirmation of attribute ownership acquisition cancellation.

Parameters:
theObject - a handle to the object instance with which the attributes are associated
theAttributes - a set of handles to the attributes
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if an attribute was not recognized
AttributeAlreadyOwned - if an attribute was already owned
AttributeAcquisitionWasNotCanceled - if the attribute acquisition operation was not canceled
FederateInternalError - if an error occurs in the federate

informAttributeOwnership

public void informAttributeOwnership(ObjectInstanceHandle theObject,
                                     AttributeHandle theAttribute,
                                     FederateHandle theOwner)
                              throws ObjectInstanceNotKnown,
                                     AttributeNotRecognized,
                                     FederateInternalError
Notifies the federate of the ownership of an attribute.

Parameters:
theObject - a handle to the object instance with which the attribute is associated
theAttribute - a handle to the attribute
theOwner - a handle to the owner of the attribute
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if the attribute was not recognized
FederateInternalError - if an error occurs in the federate

attributeIsNotOwned

public void attributeIsNotOwned(ObjectInstanceHandle theObject,
                                AttributeHandle theAttribute)
                         throws ObjectInstanceNotKnown,
                                AttributeNotRecognized,
                                FederateInternalError
Notifies the federate that an attribute if not owned.

Parameters:
theObject - a handle to the object instance with which the attribute is associated
theAttribute - a handle to the attribute
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if the attribute was not recognized
FederateInternalError - if an error occurs in the federate

attributeIsOwnedByRTI

public void attributeIsOwnedByRTI(ObjectInstanceHandle theObject,
                                  AttributeHandle theAttribute)
                           throws ObjectInstanceNotKnown,
                                  AttributeNotRecognized,
                                  FederateInternalError
Notifies the federate that an attribute is owned by the run-time infrastructure.

Parameters:
theObject - a handle to the object instance with which the attribute is associated
theAttribute - a handle to the attribute
Throws:
ObjectInstanceNotKnown - if the object instance was unknown
AttributeNotRecognized - if the attribute was not recognized
FederateInternalError - if an error occurs in the federate

timeRegulationEnabled

public void timeRegulationEnabled(LogicalTime time)
                           throws InvalidLogicalTime,
                                  NoRequestToEnableTimeRegulationWasPending,
                                  FederateInternalError
Notifies the federate that time regulation has been enabled.

Parameters:
time - the current logical time
Throws:
InvalidLogicalTime - if the specified logical time was invalid
NoRequestToEnableTimeRegulationWasPending - if no request to enable time regulation was pending
FederateInternalError - if an error occurs in the federate

timeConstrainedEnabled

public void timeConstrainedEnabled(LogicalTime time)
                            throws InvalidLogicalTime,
                                   NoRequestToEnableTimeConstrainedWasPending,
                                   FederateInternalError
Notifies the federate that time-constrained mode has been enabled.

Parameters:
time - the current logical time
Throws:
InvalidLogicalTime - if the specified logical time was invalid
NoRequestToEnableTimeConstrainedWasPending - if no request to enable time-constrained mode was pending
FederateInternalError - if an error occurs in the federate

timeAdvanceGrant

public void timeAdvanceGrant(LogicalTime theTime)
                      throws InvalidLogicalTime,
                             JoinedFederateIsNotInTimeAdvancingState,
                             FederateInternalError
Notifies the federate that a time advance has been granted.

Parameters:
theTime - the new logical time
Throws:
InvalidLogicalTime - if the specified logical time is invalid
JoinedFederateIsNotInTimeAdvancingState - if the federate is not in a time advancing state
FederateInternalError - if an error occurs in the federate

requestRetraction

public void requestRetraction(MessageRetractionHandle theHandle)
                       throws FederateInternalError
Notifies the federate that a retraction has been requested.

Parameters:
theHandle - the handle identifying the message to be retracted
Throws:
FederateInternalError - if an error occurs in the federate