27 Haziran 2018 Çarşamba

HLA NullFederateAmbassador Sınıfı

Giriş
Bu sınıfın en önemli kullanım amaçlarından birisi, içine Barrier alarak asenkron çalışan RTIambassador metodlarının bitmesini kolayca beklemektir.

Çağrı silsilesi şöyle

rti.connect()
rti.destroyFederationExecution()
rti.createFederationExecution()
rti.joinFederationExecution()

rti.getParameterHandleValueMapFactory()
rti.getAttributeHandleValueMapFactory()
rti.getAttributeHandleSetFactory()
rti.getFederateHandleSetFactory()

rti.enableTimeConstrained
rti.enableTimeRegulation
rti.registerFederationSynchronizationPoint //only by manager federate

  rti.subscribeInteractionClass (getInteractionClassHandle)
  rti.subscribeObjectClassAttributes : şu çağrıları yapar
 (getObjectClassHandle + getAttributeHandle + attributeHandleSetFactory.create())
 rti.publishObjectClassAttributes
 rti.registerObjectInstance

rti.synchronizationPointAchived //ready for something
rti.enableAsynchronousDelivery

while (!simulationEndReceived) {
  rti.timeAdvanceRequest
  while (!wasTimeAdvanceGrant) {
    NullFederateAmbassador.receiveInteraction -> dispatch
    NullFederateAmbassador.receiveAttributeValues -> dispatch
    NullFederateAmbassador.removeObjectInstance -> dispatch
    NullFederateAmbassador.timeAdvanceGrant -> break loop
  }
}

rti.synchronizationPointAchived //ready for something

rti.resignFederationExeution
rti.destroyFederationExeution


Hiç yorum yok:

Yorum Gönder