org.npsnet.xrti
Class ExecutiveClientAmbassador

java.lang.Object
  extended byorg.npsnet.xrti.XRTIAmbassador
      extended byorg.npsnet.xrti.ExecutiveClientAmbassador
All Implemented Interfaces:
BootstrapInteractionListener, ManagementInteractionListener, MetaFederationInteractionListener, ReflectionInteractionListener, RTIambassador, RTIambassadorEx

public class ExecutiveClientAmbassador
extends XRTIAmbassador
implements MetaFederationInteractionListener, ReflectionInteractionListener

A special version of the XRTIAmbassador that the XRTIExecutive uses to address its clients.

Author:
Andrzej Kapolka, Stanislav Kozina

Field Summary
 
Fields inherited from class org.npsnet.xrti.XRTIAmbassador
asynchronousDeliveryEnabled, bootstrapProxyAmbassador, descriptorManager, handleCounter, HLA_META_FEDERATION_EXECUTION, channel, inTimeAdvancingState, joinedFederationExecutionHandle, joinedFederationExecutionName, logicalTime, logicalTimeFactory, logicalTimeIntervalFactory, lookahead, managementProxyAmbassador, metaFederationProxyAmbassador, proxyAmbassador, reflectionProxyAmbassador, requestedLogicalTime, timeConstrainedEnabled, timeRegulationEnabled
 
Constructor Summary
protected ExecutiveClientAmbassador(org.npsnet.xrti.XRTIExecutive pExecutive, MessageChannel pChannel, MobileFederateServices mobileFederateServices)
          Constructor.
 
Method Summary
protected  void computeGalt()
          Performs computation of the Greatest Available Logical Time (GALT).
protected  void computeLits()
          Performs computation of the Least Incoming Time Stamp (LITS).
 void deleteObjectInstance(ObjectInstanceHandle oih)
          Tells the remote federate to delete the object instance with the specified handle.
protected  TimeQueryReturn getEffectiveLogicalTime()
          Returns federate's effective logical time.
protected  TimeQueryReturn getGalt()
          Returns federate's GALT.
protected  FederateHandle getJoinedFederateHandle()
          Returns the stored handle of the joined federate.
protected  void proxyAmbassador_receiveInteraction(InteractionClassHandle interactionClass, ParameterHandleValueMap theParameters, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport, LogicalTime theTime, OrderType receivedOrdering)
          Calls the receiveInteraction() method of proxyAmbassador object.
 void receiveHLAcreateFederationExecution(java.lang.String federationExecutionName, byte[] federationDescriptionDocument, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Creates a federation execution.
 void receiveHLAdeleteObjectInstance(byte[] HLAfederate, byte[] HLAobjectInstance, byte[] HLAtag, byte[] HLAtimeStamp, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause an object instance to be deleted from the federation.
 void receiveHLAdestroyFederationExecution(java.lang.String federationExecutionName, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Destroys a federation execution.
 void receiveHLAdisableAsynchronousDelivery(byte[] HLAfederate, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          When the joined federate is time-constrained, cause the RTI to deliver receive-order messages to the joined federate only when its time manager state is Time Advancing.
 void receiveHLAdisableTimeConstrained(byte[] HLAfederate, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause the logical time of the joined federate to cease being constrained by the logical times of other joined federates.
 void receiveHLAdisableTimeRegulation(byte[] HLAfederate, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause the joined federate to cease regulating the logical time of other joined federates.
 void receiveHLAenableAsynchronousDelivery(byte[] HLAfederate, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause the RTI to deliver receive-order messages to the joined federate at any time, even if the joined federate is time-constrained.
 void receiveHLAenableTimeConstrained(byte[] HLAfederate, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause the logical time of the joined federate to begin being constrained by the logical times of other joined federates.
 void receiveHLAenableTimeRegulation(byte[] HLAfederate, byte[] HLAlookahead, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause the joined federate to begin regulating the logical time of other joined federates.
 void receiveHLAflushQueueRequest(byte[] HLAfederate, byte[] HLAtimeStamp, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Request the logical time of the joined federate to be advanced as far as possible, provided that the time stamp is less than or equal to the logical time specified in the request.
 void receiveHLAjoinFederationExecution(java.lang.String federationExecutionName, java.lang.String federateType, long federateHandle, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Joins a federation execution.
 void receiveHLAmergeFDD(byte[] federationDescriptionDocument, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Merges the contents of a new federation description document into the FOM.
 void receiveHLAnextMessageRequest(byte[] HLAfederate, byte[] HLAtimeStamp, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Request the logical time of the joined federate to be advanced to the time stamp of the next TSO message that shall be delivered to the joined federate, provided that the message shall have a time stamp no greater than the logical time specified in the request, and release zero or more messages for delivery to the joined federate.
 void receiveHLAnextMessageRequestAvailable(byte[] HLAfederate, byte[] HLAtimeStamp, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Request the logical time of the joined federate to be advanced to the time stamp of the next TSO message that shall be delivered to the joined federate, provided that the message shall have a time stamp no greater than the logical time specified in the request, and release zero or more messages for delivery to the joined federate.
 void receiveHLApublishInteractionClass(byte[] HLAfederate, byte[] HLAinteractionClass, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Set the joined federate's publication status of an interaction class.
 void receiveHLApublishObjectClassAttributes(byte[] HLAfederate, byte[] HLAobjectClass, byte[][] HLAattributeList, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Set the joined federate's publication status of attributes belonging to an object class.
 void receiveHLAregisterFederationSynchronizationPoint(java.lang.String synchronizationPointLabel, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Federate's request for registering a federation synchronization point.
 void receiveHLAregisterObjectInstance(java.lang.String objectName, long objectInstanceHandle, long objectClassHandle, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Registers a new object instance.
 void receiveHLArequestAttributeValueUpdate(long objectInstanceHandle, long[] attributeHandleList, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Requests an attribute value update.
 void receiveHLArequestHandles(long blockSize, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Requests a block of handles.
 void receiveHLAresignFederationExecution(byte[] HLAfederate, HLAresignAction HLAresignAction, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause the joined federate to resign from the federation execution.
 void receiveHLAsubscribeInteractionClass(byte[] HLAfederate, byte[] HLAinteractionClass, boolean HLAactive, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Set the joined federate's subscription status to an interaction class.
 void receiveHLAsubscribeObjectClassAttributes(byte[] HLAfederate, byte[] HLAobjectClass, byte[][] HLAattributeList, boolean HLAactive, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Set the joined federate's subscription status of attributes belonging to an object class.
 void receiveHLAsynchronizationPointAchieved(byte[] HLAfederate, java.lang.String HLAlabel, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Mimic the federate's report of achieving a synchronization point.
 void receiveHLAtimeAdvanceRequest(byte[] HLAfederate, byte[] HLAtimeStamp, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Request an advance of the joined federate's logical time on behalf of the joined federate, and release zero or more messages for delivery to the joined federate.
 void receiveHLAtimeAdvanceRequestAvailable(byte[] HLAfederate, byte[] HLAtimeStamp, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Request an advance of the joined federate's logical time, on behalf of the joined federate, and release zero or more messages for delivery to the joined federate.
 void receiveHLAunpublishInteractionClass(byte[] HLAfederate, byte[] HLAinteractionClass, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause the joined federate no longer to publish an interaction class.
 void receiveHLAunpublishObjectClassAttributes(byte[] HLAfederate, byte[] HLAobjectClass, byte[][] HLAattributeList, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause the joined federate no longer to publish attributes of an object class.
 void receiveHLAunsubscribeInteractionClass(byte[] HLAfederate, byte[] HLAinteractionClass, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause the joined federate no longer to subscribe to an interaction class.
 void receiveHLAunsubscribeObjectClassAttributes(byte[] HLAfederate, byte[] HLAobjectClass, byte[][] HLAattributeList, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Cause the joined federate no longer to subscribe to attributes of an object class.
 void receiveHLAupdateAttributeValuesBestEffort(long objectInstanceHandle, HLAattributeHandleValuePair[] attributeHandleValuePairList, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Updates a set of attribute values with best-effort transportation and receive ordering.
 void receiveHLAupdateAttributeValuesReliable(long objectInstanceHandle, HLAattributeHandleValuePair[] attributeHandleValuePairList, byte[] userSuppliedTag, OrderType sentOrdering, TransportationType theTransport)
          Updates a set of attribute values with reliable transportation and receive ordering.
 void registerObjectInstance(ObjectInstanceDescriptor oid)
          Registers the specified object instance with the remote federate.
protected  void sendAnnounceSynchronizationPoint(java.lang.String synchronizationPointLabel, byte[] userSuppliedTag)
          Notifies the federate that a synchronization point has been announced.
protected  void sendFederationSynchronized(java.lang.String synchronizationPointLabel)
          Notifies the federate that the federation has been synchronized.
protected  void sendInteractionBestEffort(InteractionClassHandle theInteraction, ParameterHandleValueMap theParameters, byte[] userSuppliedTag, OrderType sentOrdering, LogicalTime theTime)
          Sends an interaction with best-effort transportation.
protected  void sendInteractionReliable(InteractionClassHandle theInteraction, ParameterHandleValueMap theParameters, byte[] userSuppliedTag, OrderType sentOrdering, LogicalTime theTime)
          Sends an interaction with reliable transportation.
protected  void sendTimeAdvanceGrantIfPossible()
          Sends time advance grant to the federate if it is possible.
 java.lang.String toString()
          Returns a string representation of the ExecutiveClientAmbassador.
 void updateAttributeValuesBestEffort(XRTIObjectInstanceHandle xoih, HLAattributeHandleValuePair[] attributeHandleValuePairList, byte[] userSuppliedTag)
          Updates a set of attributes with best-effort transportation.
 void updateAttributeValuesReliable(XRTIObjectInstanceHandle xoih, HLAattributeHandleValuePair[] attributeHandleValuePairList, byte[] userSuppliedTag)
          Updates a set of attributes with reliable transportation.
 
Methods inherited from class org.npsnet.xrti.XRTIAmbassador
associateRegionsForUpdates, attributeOwnershipAcquisition, attributeOwnershipAcquisitionIfAvailable, attributeOwnershipDivestitureIfWanted, cancelAttributeOwnershipAcquisition, cancelNegotiatedAttributeOwnershipDivestiture, commitRegionModifications, confirmDivestiture, createDescriptorManagerAndProxyAmbassadors, createFederationExecution, createMessageThreads, createRegion, debug, decodeLogicalTime, deleteObjectInstance, deleteObjectInstance, deleteRegion, destroyFederationExecution, disableAsynchronousDelivery, disableAttributeRelevanceAdvisorySwitch, disableAttributeScopeAdvisorySwitch, disableCallbacks, disableInteractionRelevanceAdvisorySwitch, disableObjectClassRelevanceAdvisorySwitch, disableTimeConstrained, disableTimeRegulation, enableAsynchronousDelivery, enableAttributeRelevanceAdvisorySwitch, enableAttributeScopeAdvisorySwitch, enableCallbacks, enableInteractionRelevanceAdvisorySwitch, enableObjectClassRelevanceAdvisorySwitch, enableTimeConstrained, enableTimeRegulation, evokeCallback, evokeMultipleCallbacks, federateRestoreComplete, federateRestoreNotComplete, federateSaveBegun, federateSaveComplete, federateSaveNotComplete, finalizeRTI, flushQueueRequest, getAttributeHandle, getAttributeHandleFactory, getAttributeHandleSetFactory, getAttributeHandleValueMapFactory, getAttributeName, getAttributeSetRegionSetPairListFactory, getAvailableDimensionsForClassAttribute, getAvailableDimensionsForInteractionClass, getDimensionHandle, getDimensionHandleFactory, getDimensionHandleSet, getDimensionHandleSetFactory, getDimensionName, getDimensionUpperBound, getFederateHandleFactory, getFederateHandleSetFactory, getHLAversion, getInteractionClassHandle, getInteractionClassHandleFactory, getInteractionClassName, getKnownObjectClassHandle, getObjectClassHandle, getObjectClassHandleFactory, getObjectClassName, getObjectInstanceHandle, getObjectInstanceHandleFactory, getObjectInstanceName, getOrderName, getOrderType, getParameterHandle, getParameterHandleFactory, getParameterHandleValueMapFactory, getParameterName, getRangeBounds, getRegionHandleSetFactory, getTransportationName, getTransportationType, changeAttributeOrderType, changeAttributeTransportationType, changeInteractionOrderType, changeInteractionTransportationType, initializeRTI, isAttributeOwnedByFederate, isZeroLookaheadRestricted, joinFederationExecution, localDeleteObjectInstance, mergeFDD, modifyLookahead, negotiatedAttributeOwnershipDivestiture, nextMessageRequest, nextMessageRequestAvailable, normalizeFederateHandle, normalizeServiceGroup, publishInteractionClass, publishObjectClassAttributes, queryAttributeOwnership, queryFederationRestoreStatus, queryFederationSaveStatus, queryGALT, queryLITS, queryLogicalTime, queryLookahead, receiveHLAannounceSynchronizationPoint, receiveHLAcontinue, receiveHLAfederateRestoreComplete, receiveHLAfederateSaveBegun, receiveHLAfederateSaveComplete, receiveHLAfederationSynchronized, receiveHLAchangeAttributeOrderType, receiveHLAchangeAttributeTransportationType, receiveHLAchangeInteractionOrderType, receiveHLAchangeInteractionTransportationType, receiveHLAinteractionFragment, receiveHLAlocalDeleteObjectInstance, receiveHLAmodifyAttributeState, receiveHLAmodifyLookahead, receiveHLAreportException, receiveHLAreportHandles, receiveHLAreportInteractionPublication, receiveHLAreportInteractionsReceived, receiveHLAreportInteractionsSent, receiveHLAreportInteractionSubscription, receiveHLAreportMOMexception, receiveHLAreportObjectClassPublication, receiveHLAreportObjectClassSubscription, receiveHLAreportObjectInstanceInformation, receiveHLAreportObjectInstancesReflected, receiveHLAreportObjectInstancesThatCanBeDeleted, receiveHLAreportObjectInstancesUpdated, receiveHLAreportReflectionsReceived, receiveHLAreportServiceInvocation, receiveHLAreportSynchronizationPoints, receiveHLAreportSynchronizationPointStatus, receiveHLAreportUpdatesSent, receiveHLArequestInteractionsReceived, receiveHLArequestInteractionsSent, receiveHLArequestObjectInstanceInformation, receiveHLArequestObjectInstancesReflected, receiveHLArequestObjectInstancesThatCanBeDeleted, receiveHLArequestObjectInstancesUpdated, receiveHLArequestPublications, receiveHLArequestReflectionsReceived, receiveHLArequestSubscriptions, receiveHLArequestSynchronizationPoints, receiveHLArequestSynchronizationPointStatus, receiveHLArequestUpdatesSent, receiveHLAresultBoolean, receiveHLAsetExceptionReporting, receiveHLAsetServiceReporting, receiveHLAsetSwitches, receiveHLAsetTiming, receiveHLAsynchronizationPointRegistrationFailed, receiveHLAsynchronizationPointRegistrationSucceeded, receiveHLAtimeAdvanceGrant, receiveHLAtimeConstrainedEnabled, receiveHLAtimeRegulationEnabled, receiveHLAunconditionalAttributeOwnershipDivestiture, registerFederationSynchronizationPoint, registerFederationSynchronizationPoint, registerObjectInstance, registerObjectInstance, registerObjectInstanceWithRegions, registerObjectInstanceWithRegions, requestAttributeValueUpdate, requestAttributeValueUpdate, requestAttributeValueUpdateWithRegions, requestFederationRestore, requestFederationSave, requestFederationSave, reserveObjectInstanceName, resignFederationExecution, retract, sendInteraction, sendInteraction, sendInteractionWithRegions, sendInteractionWithRegions, setRangeBounds, subscribeInteractionClass, subscribeInteractionClassPassively, subscribeInteractionClassPassivelyWithRegions, subscribeInteractionClassWithRegions, subscribeObjectClassAttributes, subscribeObjectClassAttributesPassively, subscribeObjectClassAttributesPassivelyWithRegions, subscribeObjectClassAttributesWithRegions, synchronizationPointAchieved, timeAdvanceRequest, timeAdvanceRequestAvailable, turnZeroLookaheadRestrictionOffIfPossible, turnZeroLookaheadRestrictionOn, unassociateRegionsForUpdates, unconditionalAttributeOwnershipDivestiture, unpublishInteractionClass, unpublishObjectClass, unpublishObjectClassAttributes, unsubscribeInteractionClass, unsubscribeInteractionClassWithRegions, unsubscribeObjectClass, unsubscribeObjectClassAttributes, unsubscribeObjectClassAttributesWithRegions, updateAttributeValues, updateAttributeValues, verifyFederateIsExecutionMember, verifyFederateIsNotInTimeAdvancingState, verifyLookaheadIsValid, verifyNoRestoreInProgress, verifyNoSaveInProgress, verifyRequestedTimeIsValid, verifyRequestForTimeConstrainedIsNotPending, verifyRequestForTimeRegulationIsNotPending, verifyTimeStampIsValid
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExecutiveClientAmbassador

protected ExecutiveClientAmbassador(org.npsnet.xrti.XRTIExecutive pExecutive,
                                    MessageChannel pChannel,
                                    MobileFederateServices mobileFederateServices)
Constructor.

Parameters:
pExecutive - the owning XRTIExecutive
pChannel - the MessageChannel connected to the client
mobileFederateServices - the federate ambassador's mobile services
Method Detail

registerObjectInstance

public void registerObjectInstance(ObjectInstanceDescriptor oid)
Registers the specified object instance with the remote federate.

Parameters:
oid - the descriptor of the instance to register

deleteObjectInstance

public void deleteObjectInstance(ObjectInstanceHandle oih)
Tells the remote federate to delete the object instance with the specified handle.

Parameters:
oih - the object instance handle

updateAttributeValuesBestEffort

public void updateAttributeValuesBestEffort(XRTIObjectInstanceHandle xoih,
                                            HLAattributeHandleValuePair[] attributeHandleValuePairList,
                                            byte[] userSuppliedTag)
Updates a set of attributes with best-effort transportation.

Parameters:
xoih - the object instance handle of the object being updated
attributeHandleValuePairList - the attribute handle/value pairs
userSuppliedTag - the user-supplied tag associated with the event

updateAttributeValuesReliable

public void updateAttributeValuesReliable(XRTIObjectInstanceHandle xoih,
                                          HLAattributeHandleValuePair[] attributeHandleValuePairList,
                                          byte[] userSuppliedTag)
Updates a set of attributes with reliable transportation.

Parameters:
xoih - the object instance handle of the object being updated
attributeHandleValuePairList - the attribute handle/value pairs
userSuppliedTag - the user-supplied tag associated with the event

sendInteractionReliable

protected void sendInteractionReliable(InteractionClassHandle theInteraction,
                                       ParameterHandleValueMap theParameters,
                                       byte[] userSuppliedTag,
                                       OrderType sentOrdering,
                                       LogicalTime theTime)
                                throws InteractionClassNotPublished,
                                       InteractionClassNotDefined,
                                       InteractionParameterNotDefined,
                                       FederateNotExecutionMember,
                                       SaveInProgress,
                                       RestoreInProgress,
                                       RTIinternalError
Sends an interaction with reliable transportation. If the receiving federate is time constrained, the interaction will be queued into the time stamp queue or receive order queue.

Overrides:
sendInteractionReliable in class XRTIAmbassador
Parameters:
theInteraction - the class of interaction to send
theParameters - the parameters of the interaction
userSuppliedTag - a user-supplied tag to associate with the interaction
sentOrdering - the type of ordering with which the interaction was sent
theTime - the logical time associated with the interaction
Throws:
InteractionClassNotPublished - if the interaction class is not published
InteractionClassNotDefined - if the interaction class is undefined
InteractionParameterNotDefined - if one of the parameters is undefined
FederateNotExecutionMember - if the federate is not a member of an execution
SaveInProgress - if a save operation is in progress
RestoreInProgress - if a restore operation is in progress
RTIinternalError - if an internal error occurred in the run-time infrastructure

sendInteractionBestEffort

protected void sendInteractionBestEffort(InteractionClassHandle theInteraction,
                                         ParameterHandleValueMap theParameters,
                                         byte[] userSuppliedTag,
                                         OrderType sentOrdering,
                                         LogicalTime theTime)
                                  throws InteractionClassNotPublished,
                                         InteractionClassNotDefined,
                                         InteractionParameterNotDefined,
                                         FederateNotExecutionMember,
                                         SaveInProgress,
                                         RestoreInProgress,
                                         RTIinternalError
Sends an interaction with best-effort transportation. If the receiving federate is time constrained, the interaction will be queued into the time stamp queue or receive order queue.

Overrides:
sendInteractionBestEffort in class XRTIAmbassador
Parameters:
theInteraction - the class of interaction to send
theParameters - the parameters of the interaction
userSuppliedTag - a user-supplied tag to associate with the interaction
sentOrdering - the type of ordering with which the interaction was sent
theTime - the logical time associated with the interaction
Throws:
InteractionClassNotPublished - if the interaction class is not published
InteractionClassNotDefined - if the interaction class is undefined
InteractionParameterNotDefined - if one of the parameters is undefined
FederateNotExecutionMember - if the federate is not a member of an execution
SaveInProgress - if a save operation is in progress
RestoreInProgress - if a restore operation is in progress
RTIinternalError - if an internal error occurred in the run-time infrastructure

receiveHLArequestHandles

public void receiveHLArequestHandles(long blockSize,
                                     byte[] userSuppliedTag,
                                     OrderType sentOrdering,
                                     TransportationType theTransport)
                              throws InteractionClassNotRecognized,
                                     InteractionParameterNotRecognized,
                                     InteractionClassNotSubscribed,
                                     FederateInternalError
Requests a block of handles.

Specified by:
receiveHLArequestHandles in interface BootstrapInteractionListener
Overrides:
receiveHLArequestHandles in class XRTIAmbassador
Parameters:
blockSize - The number of handles desired.
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

receiveHLAregisterObjectInstance

public void receiveHLAregisterObjectInstance(java.lang.String objectName,
                                             long objectInstanceHandle,
                                             long objectClassHandle,
                                             byte[] userSuppliedTag,
                                             OrderType sentOrdering,
                                             TransportationType theTransport)
                                      throws InteractionClassNotRecognized,
                                             InteractionParameterNotRecognized,
                                             InteractionClassNotSubscribed,
                                             FederateInternalError
Registers a new object instance.

Specified by:
receiveHLAregisterObjectInstance in interface BootstrapInteractionListener
Overrides:
receiveHLAregisterObjectInstance in class XRTIAmbassador
Parameters:
objectName - The name of the object.
objectInstanceHandle - The object instance handle.
objectClassHandle - The object class handle.
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

receiveHLArequestAttributeValueUpdate

public void receiveHLArequestAttributeValueUpdate(long objectInstanceHandle,
                                                  long[] attributeHandleList,
                                                  byte[] userSuppliedTag,
                                                  OrderType sentOrdering,
                                                  TransportationType theTransport)
                                           throws InteractionClassNotRecognized,
                                                  InteractionParameterNotRecognized,
                                                  InteractionClassNotSubscribed,
                                                  FederateInternalError
Requests an attribute value update.

Specified by:
receiveHLArequestAttributeValueUpdate in interface BootstrapInteractionListener
Overrides:
receiveHLArequestAttributeValueUpdate in class XRTIAmbassador
Parameters:
objectInstanceHandle - Object instance handle.
attributeHandleList - List of attribute handles.
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

receiveHLAupdateAttributeValuesBestEffort

public void receiveHLAupdateAttributeValuesBestEffort(long objectInstanceHandle,
                                                      HLAattributeHandleValuePair[] attributeHandleValuePairList,
                                                      byte[] userSuppliedTag,
                                                      OrderType sentOrdering,
                                                      TransportationType theTransport)
                                               throws InteractionClassNotRecognized,
                                                      InteractionParameterNotRecognized,
                                                      InteractionClassNotSubscribed,
                                                      FederateInternalError
Updates a set of attribute values with best-effort transportation and receive ordering.

Specified by:
receiveHLAupdateAttributeValuesBestEffort in interface BootstrapInteractionListener
Overrides:
receiveHLAupdateAttributeValuesBestEffort in class XRTIAmbassador
Parameters:
objectInstanceHandle - Object instance handle.
attributeHandleValuePairList - List of attribute handle/value pairs.
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

receiveHLAupdateAttributeValuesReliable

public void receiveHLAupdateAttributeValuesReliable(long objectInstanceHandle,
                                                    HLAattributeHandleValuePair[] attributeHandleValuePairList,
                                                    byte[] userSuppliedTag,
                                                    OrderType sentOrdering,
                                                    TransportationType theTransport)
                                             throws InteractionClassNotRecognized,
                                                    InteractionParameterNotRecognized,
                                                    InteractionClassNotSubscribed,
                                                    FederateInternalError
Updates a set of attribute values with reliable transportation and receive ordering.

Specified by:
receiveHLAupdateAttributeValuesReliable in interface BootstrapInteractionListener
Overrides:
receiveHLAupdateAttributeValuesReliable in class XRTIAmbassador
Parameters:
objectInstanceHandle - Object instance handle.
attributeHandleValuePairList - List of attribute handle/value pairs.
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

receiveHLAresignFederationExecution

public void receiveHLAresignFederationExecution(byte[] HLAfederate,
                                                HLAresignAction HLAresignAction,
                                                byte[] userSuppliedTag,
                                                OrderType sentOrdering,
                                                TransportationType theTransport)
                                         throws InteractionClassNotRecognized,
                                                InteractionParameterNotRecognized,
                                                InteractionClassNotSubscribed,
                                                FederateInternalError
Cause the joined federate to resign from the federation execution. A joined federate shall be able to send this interaction anytime.

Specified by:
receiveHLAresignFederationExecution in interface ManagementInteractionListener
Overrides:
receiveHLAresignFederationExecution in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAresignAction - Action that the RTI is to take in conjunction with the resignation.
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

receiveHLApublishObjectClassAttributes

public void receiveHLApublishObjectClassAttributes(byte[] HLAfederate,
                                                   byte[] HLAobjectClass,
                                                   byte[][] HLAattributeList,
                                                   byte[] userSuppliedTag,
                                                   OrderType sentOrdering,
                                                   TransportationType theTransport)
                                            throws InteractionClassNotRecognized,
                                                   InteractionParameterNotRecognized,
                                                   InteractionClassNotSubscribed,
                                                   FederateInternalError
Set the joined federate's publication status of attributes belonging to an object class.

Specified by:
receiveHLApublishObjectClassAttributes in interface ManagementInteractionListener
Overrides:
receiveHLApublishObjectClassAttributes in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAobjectClass - Object class for which the joined federate's publication shall change.
HLAattributeList - List of handles of attributes of HLAobjectClass, which the federate shall now publish.
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

receiveHLAunpublishObjectClassAttributes

public void receiveHLAunpublishObjectClassAttributes(byte[] HLAfederate,
                                                     byte[] HLAobjectClass,
                                                     byte[][] HLAattributeList,
                                                     byte[] userSuppliedTag,
                                                     OrderType sentOrdering,
                                                     TransportationType theTransport)
                                              throws InteractionClassNotRecognized,
                                                     InteractionParameterNotRecognized,
                                                     InteractionClassNotSubscribed,
                                                     FederateInternalError
Cause the joined federate no longer to publish attributes of an object class.

Specified by:
receiveHLAunpublishObjectClassAttributes in interface ManagementInteractionListener
Overrides:
receiveHLAunpublishObjectClassAttributes in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAobjectClass - Object class for which the joined federate's unpublication shall change.
HLAattributeList - List of handles of attributes of HLAobjectClass, which the joined federate shall now unpublish.
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

receiveHLApublishInteractionClass

public void receiveHLApublishInteractionClass(byte[] HLAfederate,
                                              byte[] HLAinteractionClass,
                                              byte[] userSuppliedTag,
                                              OrderType sentOrdering,
                                              TransportationType theTransport)
                                       throws InteractionClassNotRecognized,
                                              InteractionParameterNotRecognized,
                                              InteractionClassNotSubscribed,
                                              FederateInternalError
Set the joined federate's publication status of an interaction class.

Specified by:
receiveHLApublishInteractionClass in interface ManagementInteractionListener
Overrides:
receiveHLApublishInteractionClass in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAinteractionClass - Interaction class that the joined federate shall publish.
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

receiveHLAunpublishInteractionClass

public void receiveHLAunpublishInteractionClass(byte[] HLAfederate,
                                                byte[] HLAinteractionClass,
                                                byte[] userSuppliedTag,
                                                OrderType sentOrdering,
                                                TransportationType theTransport)
                                         throws InteractionClassNotRecognized,
                                                InteractionParameterNotRecognized,
                                                InteractionClassNotSubscribed,
                                                FederateInternalError
Cause the joined federate no longer to publish an interaction class.

Specified by:
receiveHLAunpublishInteractionClass in interface ManagementInteractionListener
Overrides:
receiveHLAunpublishInteractionClass in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAinteractionClass - Interaction class that the joined federate shall no longer publish.
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

receiveHLAsubscribeObjectClassAttributes

public void receiveHLAsubscribeObjectClassAttributes(byte[] HLAfederate,
                                                     byte[] HLAobjectClass,
                                                     byte[][] HLAattributeList,
                                                     boolean HLAactive,
                                                     byte[] userSuppliedTag,
                                                     OrderType sentOrdering,
                                                     TransportationType theTransport)
                                              throws InteractionClassNotRecognized,
                                                     InteractionParameterNotRecognized,
                                                     InteractionClassNotSubscribed,
                                                     FederateInternalError
Set the joined federate's subscription status of attributes belonging to an object class.

Specified by:
receiveHLAsubscribeObjectClassAttributes in interface ManagementInteractionListener
Overrides:
receiveHLAsubscribeObjectClassAttributes in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAobjectClass - Object class for which the joined federate's subscription shall change.
HLAattributeList - List of handles of attributes of HLAobjectClass to which the joined federate shall now subscribe.
HLAactive - Whether the subscription is active.
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

receiveHLAunsubscribeObjectClassAttributes

public void receiveHLAunsubscribeObjectClassAttributes(byte[] HLAfederate,
                                                       byte[] HLAobjectClass,
                                                       byte[][] HLAattributeList,
                                                       byte[] userSuppliedTag,
                                                       OrderType sentOrdering,
                                                       TransportationType theTransport)
                                                throws InteractionClassNotRecognized,
                                                       InteractionParameterNotRecognized,
                                                       InteractionClassNotSubscribed,
                                                       FederateInternalError
Cause the joined federate no longer to subscribe to attributes of an object class.

Specified by:
receiveHLAunsubscribeObjectClassAttributes in interface ManagementInteractionListener
Overrides:
receiveHLAunsubscribeObjectClassAttributes in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAobjectClass - Object class for which the joined federate's subscription shall change.
HLAattributeList - List of handles of attributes of HLAobjectClass to which the joined federate shall now unsubscribe.
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

receiveHLAsubscribeInteractionClass

public void receiveHLAsubscribeInteractionClass(byte[] HLAfederate,
                                                byte[] HLAinteractionClass,
                                                boolean HLAactive,
                                                byte[] userSuppliedTag,
                                                OrderType sentOrdering,
                                                TransportationType theTransport)
                                         throws InteractionClassNotRecognized,
                                                InteractionParameterNotRecognized,
                                                InteractionClassNotSubscribed,
                                                FederateInternalError
Set the joined federate's subscription status to an interaction class.

Specified by:
receiveHLAsubscribeInteractionClass in interface ManagementInteractionListener
Overrides:
receiveHLAsubscribeInteractionClass in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAinteractionClass - Interaction class to which the federate shall subscribe.
HLAactive - Whether the subscription is active.
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

receiveHLAunsubscribeInteractionClass

public void receiveHLAunsubscribeInteractionClass(byte[] HLAfederate,
                                                  byte[] HLAinteractionClass,
                                                  byte[] userSuppliedTag,
                                                  OrderType sentOrdering,
                                                  TransportationType theTransport)
                                           throws InteractionClassNotRecognized,
                                                  InteractionParameterNotRecognized,
                                                  InteractionClassNotSubscribed,
                                                  FederateInternalError
Cause the joined federate no longer to subscribe to an interaction class.

Specified by:
receiveHLAunsubscribeInteractionClass in interface ManagementInteractionListener
Overrides:
receiveHLAunsubscribeInteractionClass in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAinteractionClass - Interaction class to which the joined federate will no longer be subscribed.
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

receiveHLAdeleteObjectInstance

public void receiveHLAdeleteObjectInstance(byte[] HLAfederate,
                                           byte[] HLAobjectInstance,
                                           byte[] HLAtag,
                                           byte[] HLAtimeStamp,
                                           byte[] userSuppliedTag,
                                           OrderType sentOrdering,
                                           TransportationType theTransport)
                                    throws InteractionClassNotRecognized,
                                           InteractionParameterNotRecognized,
                                           InteractionClassNotSubscribed,
                                           FederateInternalError
Cause an object instance to be deleted from the federation.

Specified by:
receiveHLAdeleteObjectInstance in interface ManagementInteractionListener
Overrides:
receiveHLAdeleteObjectInstance in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAobjectInstance - Handle of the object instance that is to be deleted.
HLAtag - Tag associated with the deletion.
HLAtimeStamp - Time stamp of the deletion (optional).
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

receiveHLAcreateFederationExecution

public void receiveHLAcreateFederationExecution(java.lang.String federationExecutionName,
                                                byte[] federationDescriptionDocument,
                                                byte[] userSuppliedTag,
                                                OrderType sentOrdering,
                                                TransportationType theTransport)
                                         throws InteractionClassNotRecognized,
                                                InteractionParameterNotRecognized,
                                                InteractionClassNotSubscribed,
                                                FederateInternalError
Creates a federation execution.

Specified by:
receiveHLAcreateFederationExecution in interface MetaFederationInteractionListener
Parameters:
federationExecutionName - The name of the execution to create.
federationDescriptionDocument - The encoded federation description document.
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

receiveHLAdestroyFederationExecution

public void receiveHLAdestroyFederationExecution(java.lang.String federationExecutionName,
                                                 byte[] userSuppliedTag,
                                                 OrderType sentOrdering,
                                                 TransportationType theTransport)
                                          throws InteractionClassNotRecognized,
                                                 InteractionParameterNotRecognized,
                                                 InteractionClassNotSubscribed,
                                                 FederateInternalError
Destroys a federation execution.

Specified by:
receiveHLAdestroyFederationExecution in interface MetaFederationInteractionListener
Parameters:
federationExecutionName - The name of the execution to destroy.
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

receiveHLAjoinFederationExecution

public void receiveHLAjoinFederationExecution(java.lang.String federationExecutionName,
                                              java.lang.String federateType,
                                              long federateHandle,
                                              byte[] userSuppliedTag,
                                              OrderType sentOrdering,
                                              TransportationType theTransport)
                                       throws InteractionClassNotRecognized,
                                              InteractionParameterNotRecognized,
                                              InteractionClassNotSubscribed,
                                              FederateInternalError
Joins a federation execution.

Specified by:
receiveHLAjoinFederationExecution in interface MetaFederationInteractionListener
Parameters:
federationExecutionName - The name of the execution to join.
federateType - The type of the joining federate.
federateHandle - The handle of the joining federate.
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

receiveHLAmergeFDD

public void receiveHLAmergeFDD(byte[] federationDescriptionDocument,
                               byte[] userSuppliedTag,
                               OrderType sentOrdering,
                               TransportationType theTransport)
                        throws InteractionClassNotRecognized,
                               InteractionParameterNotRecognized,
                               InteractionClassNotSubscribed,
                               FederateInternalError
Merges the contents of a new federation description document into the FOM.

Specified by:
receiveHLAmergeFDD in interface ReflectionInteractionListener
Parameters:
federationDescriptionDocument - The encoded federation description document.
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

toString

public java.lang.String toString()
Returns a string representation of the ExecutiveClientAmbassador.

Returns:
a string representation of the ExecutiveClientAmbassador

proxyAmbassador_receiveInteraction

protected void proxyAmbassador_receiveInteraction(InteractionClassHandle interactionClass,
                                                  ParameterHandleValueMap theParameters,
                                                  byte[] userSuppliedTag,
                                                  OrderType sentOrdering,
                                                  TransportationType theTransport,
                                                  LogicalTime theTime,
                                                  OrderType receivedOrdering)
                                           throws InteractionClassNotRecognized,
                                                  InteractionParameterNotRecognized,
                                                  InteractionClassNotSubscribed,
                                                  FederateInternalError
Calls the receiveInteraction() method of proxyAmbassador object.

Overrides:
proxyAmbassador_receiveInteraction in class XRTIAmbassador
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 (not used)
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

getEffectiveLogicalTime

protected TimeQueryReturn getEffectiveLogicalTime()
Returns federate's effective logical time. Federate's effective logical time is the first time that the federate is allowed to use as a time stamp. It is equal to:

Returns:
Federate's effective logical time.

computeGalt

protected void computeGalt()
Performs computation of the Greatest Available Logical Time (GALT).


computeLits

protected void computeLits()
Performs computation of the Least Incoming Time Stamp (LITS).


getGalt

protected TimeQueryReturn getGalt()
Returns federate's GALT.

Returns:
federate's GALT

sendTimeAdvanceGrantIfPossible

protected void sendTimeAdvanceGrantIfPossible()
                                       throws FederateInternalError
Sends time advance grant to the federate if it is possible.

Throws:
FederateInternalError

receiveHLAenableTimeRegulation

public void receiveHLAenableTimeRegulation(byte[] HLAfederate,
                                           byte[] HLAlookahead,
                                           byte[] userSuppliedTag,
                                           OrderType sentOrdering,
                                           TransportationType theTransport)
                                    throws InteractionClassNotRecognized,
                                           InteractionParameterNotRecognized,
                                           InteractionClassNotSubscribed,
                                           FederateInternalError
Cause the joined federate to begin regulating the logical time of other joined federates.

Specified by:
receiveHLAenableTimeRegulation in interface ManagementInteractionListener
Overrides:
receiveHLAenableTimeRegulation in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAlookahead - Lookahead to be used by the joined federate while regulating other joined federates.
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

receiveHLAdisableTimeRegulation

public void receiveHLAdisableTimeRegulation(byte[] HLAfederate,
                                            byte[] userSuppliedTag,
                                            OrderType sentOrdering,
                                            TransportationType theTransport)
                                     throws InteractionClassNotRecognized,
                                            InteractionParameterNotRecognized,
                                            InteractionClassNotSubscribed,
                                            FederateInternalError
Cause the joined federate to cease regulating the logical time of other joined federates.

Specified by:
receiveHLAdisableTimeRegulation in interface ManagementInteractionListener
Overrides:
receiveHLAdisableTimeRegulation in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
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

receiveHLAenableTimeConstrained

public void receiveHLAenableTimeConstrained(byte[] HLAfederate,
                                            byte[] userSuppliedTag,
                                            OrderType sentOrdering,
                                            TransportationType theTransport)
                                     throws InteractionClassNotRecognized,
                                            InteractionParameterNotRecognized,
                                            InteractionClassNotSubscribed,
                                            FederateInternalError
Cause the logical time of the joined federate to begin being constrained by the logical times of other joined federates.

Specified by:
receiveHLAenableTimeConstrained in interface ManagementInteractionListener
Overrides:
receiveHLAenableTimeConstrained in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
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

receiveHLAdisableTimeConstrained

public void receiveHLAdisableTimeConstrained(byte[] HLAfederate,
                                             byte[] userSuppliedTag,
                                             OrderType sentOrdering,
                                             TransportationType theTransport)
                                      throws InteractionClassNotRecognized,
                                             InteractionParameterNotRecognized,
                                             InteractionClassNotSubscribed,
                                             FederateInternalError
Cause the logical time of the joined federate to cease being constrained by the logical times of other joined federates.

Specified by:
receiveHLAdisableTimeConstrained in interface ManagementInteractionListener
Overrides:
receiveHLAdisableTimeConstrained in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
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

receiveHLAenableAsynchronousDelivery

public void receiveHLAenableAsynchronousDelivery(byte[] HLAfederate,
                                                 byte[] userSuppliedTag,
                                                 OrderType sentOrdering,
                                                 TransportationType theTransport)
                                          throws InteractionClassNotRecognized,
                                                 InteractionParameterNotRecognized,
                                                 InteractionClassNotSubscribed,
                                                 FederateInternalError
Cause the RTI to deliver receive-order messages to the joined federate at any time, even if the joined federate is time-constrained.

Specified by:
receiveHLAenableAsynchronousDelivery in interface ManagementInteractionListener
Overrides:
receiveHLAenableAsynchronousDelivery in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
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

receiveHLAdisableAsynchronousDelivery

public void receiveHLAdisableAsynchronousDelivery(byte[] HLAfederate,
                                                  byte[] userSuppliedTag,
                                                  OrderType sentOrdering,
                                                  TransportationType theTransport)
                                           throws InteractionClassNotRecognized,
                                                  InteractionParameterNotRecognized,
                                                  InteractionClassNotSubscribed,
                                                  FederateInternalError
When the joined federate is time-constrained, cause the RTI to deliver receive-order messages to the joined federate only when its time manager state is Time Advancing.

Specified by:
receiveHLAdisableAsynchronousDelivery in interface ManagementInteractionListener
Overrides:
receiveHLAdisableAsynchronousDelivery in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
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

receiveHLAtimeAdvanceRequest

public void receiveHLAtimeAdvanceRequest(byte[] HLAfederate,
                                         byte[] HLAtimeStamp,
                                         byte[] userSuppliedTag,
                                         OrderType sentOrdering,
                                         TransportationType theTransport)
                                  throws InteractionClassNotRecognized,
                                         InteractionParameterNotRecognized,
                                         InteractionClassNotSubscribed,
                                         FederateInternalError
Request an advance of the joined federate's logical time on behalf of the joined federate, and release zero or more messages for delivery to the joined federate.

Specified by:
receiveHLAtimeAdvanceRequest in interface ManagementInteractionListener
Overrides:
receiveHLAtimeAdvanceRequest in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAtimeStamp - Time stamp requested.
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

receiveHLAtimeAdvanceRequestAvailable

public void receiveHLAtimeAdvanceRequestAvailable(byte[] HLAfederate,
                                                  byte[] HLAtimeStamp,
                                                  byte[] userSuppliedTag,
                                                  OrderType sentOrdering,
                                                  TransportationType theTransport)
                                           throws InteractionClassNotRecognized,
                                                  InteractionParameterNotRecognized,
                                                  InteractionClassNotSubscribed,
                                                  FederateInternalError
Request an advance of the joined federate's logical time, on behalf of the joined federate, and release zero or more messages for delivery to the joined federate.

Specified by:
receiveHLAtimeAdvanceRequestAvailable in interface ManagementInteractionListener
Overrides:
receiveHLAtimeAdvanceRequestAvailable in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAtimeStamp - Time stamp requested.
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

receiveHLAnextMessageRequest

public void receiveHLAnextMessageRequest(byte[] HLAfederate,
                                         byte[] HLAtimeStamp,
                                         byte[] userSuppliedTag,
                                         OrderType sentOrdering,
                                         TransportationType theTransport)
                                  throws InteractionClassNotRecognized,
                                         InteractionParameterNotRecognized,
                                         InteractionClassNotSubscribed,
                                         FederateInternalError
Request the logical time of the joined federate to be advanced to the time stamp of the next TSO message that shall be delivered to the joined federate, provided that the message shall have a time stamp no greater than the logical time specified in the request, and release zero or more messages for delivery to the joined federate.

Specified by:
receiveHLAnextMessageRequest in interface ManagementInteractionListener
Overrides:
receiveHLAnextMessageRequest in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAtimeStamp - Time stamp requested.
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

receiveHLAnextMessageRequestAvailable

public void receiveHLAnextMessageRequestAvailable(byte[] HLAfederate,
                                                  byte[] HLAtimeStamp,
                                                  byte[] userSuppliedTag,
                                                  OrderType sentOrdering,
                                                  TransportationType theTransport)
                                           throws InteractionClassNotRecognized,
                                                  InteractionParameterNotRecognized,
                                                  InteractionClassNotSubscribed,
                                                  FederateInternalError
Request the logical time of the joined federate to be advanced to the time stamp of the next TSO message that shall be delivered to the joined federate, provided that the message shall have a time stamp no greater than the logical time specified in the request, and release zero or more messages for delivery to the joined federate.

Specified by:
receiveHLAnextMessageRequestAvailable in interface ManagementInteractionListener
Overrides:
receiveHLAnextMessageRequestAvailable in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAtimeStamp - Time stamp requested.
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

receiveHLAflushQueueRequest

public void receiveHLAflushQueueRequest(byte[] HLAfederate,
                                        byte[] HLAtimeStamp,
                                        byte[] userSuppliedTag,
                                        OrderType sentOrdering,
                                        TransportationType theTransport)
                                 throws InteractionClassNotRecognized,
                                        InteractionParameterNotRecognized,
                                        InteractionClassNotSubscribed,
                                        FederateInternalError
Request the logical time of the joined federate to be advanced as far as possible, provided that the time stamp is less than or equal to the logical time specified in the request. All TSO and RO messages shall be delivered to the joined federate.

Specified by:
receiveHLAflushQueueRequest in interface ManagementInteractionListener
Overrides:
receiveHLAflushQueueRequest in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAtimeStamp - Time stamp requested.
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

receiveHLAregisterFederationSynchronizationPoint

public void receiveHLAregisterFederationSynchronizationPoint(java.lang.String synchronizationPointLabel,
                                                             byte[] userSuppliedTag,
                                                             OrderType sentOrdering,
                                                             TransportationType theTransport)
                                                      throws InteractionClassNotRecognized,
                                                             InteractionParameterNotRecognized,
                                                             InteractionClassNotSubscribed,
                                                             FederateInternalError
Federate's request for registering a federation synchronization point.

Specified by:
receiveHLAregisterFederationSynchronizationPoint in interface BootstrapInteractionListener
Overrides:
receiveHLAregisterFederationSynchronizationPoint in class XRTIAmbassador
Parameters:
synchronizationPointLabel - Label associated with the synchronization point.
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

receiveHLAsynchronizationPointAchieved

public void receiveHLAsynchronizationPointAchieved(byte[] HLAfederate,
                                                   java.lang.String HLAlabel,
                                                   byte[] userSuppliedTag,
                                                   OrderType sentOrdering,
                                                   TransportationType theTransport)
                                            throws InteractionClassNotRecognized,
                                                   InteractionParameterNotRecognized,
                                                   InteractionClassNotSubscribed,
                                                   FederateInternalError
Mimic the federate's report of achieving a synchronization point.

Specified by:
receiveHLAsynchronizationPointAchieved in interface ManagementInteractionListener
Overrides:
receiveHLAsynchronizationPointAchieved in class XRTIAmbassador
Parameters:
HLAfederate - Handle of the joined federate that was provided when joining.
HLAlabel - Label associated with the synchronization point.
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

sendAnnounceSynchronizationPoint

protected void sendAnnounceSynchronizationPoint(java.lang.String synchronizationPointLabel,
                                                byte[] userSuppliedTag)
Notifies the federate that a synchronization point has been announced.

Parameters:
synchronizationPointLabel - the label of the synchronization point
userSuppliedTag - a user-supplied tag to associate with the operation

getJoinedFederateHandle

protected FederateHandle getJoinedFederateHandle()
Returns the stored handle of the joined federate.

Returns:
the stored handle of the joined federate

sendFederationSynchronized

protected void sendFederationSynchronized(java.lang.String synchronizationPointLabel)
Notifies the federate that the federation has been synchronized.

Parameters:
synchronizationPointLabel - the label of the synchronization point