📄 rtig_processing.cc
字号:
auditServer->addToLinef("Class = %u, # of att. = %u", req->objectClass, req->handleArraySize); federations->publishObject(req->federation, req->federate, req->objectClass, req->handleArray, req->handleArraySize, pub); D.Out(pdRegister, "Federate %u of Federation %u published object class %d.", req->federate, req->federation, req->objectClass); NetworkMessage rep ; rep.type = req->type ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.objectClass = req->objectClass ; rep.handleArraySize = 0 ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processSubscribeObjectClassvoidRTIG::processSubscribeObjectClass(Socket *link, NetworkMessage *req){ bool sub = (req->type == NetworkMessage::SUBSCRIBE_OBJECT_CLASS); auditServer->addToLinef("Class = %u, # of att. = %u", req->objectClass, req->handleArraySize); federations->subscribeObject(req->federation, req->federate, req->objectClass, req->handleArray, req->handleArraySize, sub); D.Out(pdRegister, "Federate %u of Federation %u subscribed to object class %d.", req->federate, req->federation, req->objectClass); NetworkMessage rep ; rep.type = req->type ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.objectClass = req->objectClass ; rep.handleArraySize = 0 ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processPublishInteractionClassvoidRTIG::processPublishInteractionClass(Socket *link, NetworkMessage *req){ assert(link != NULL && req != NULL); bool pub = (req->type == NetworkMessage::PUBLISH_INTERACTION_CLASS); auditServer->addToLinef("Class = %u", req->interactionClass); federations->publishInteraction(req->federation, req->federate, req->interactionClass, pub); D.Out(pdRequest, "Federate %u of Federation %u publishes Interaction %d.", req->federate, req->federation, req->interactionClass); NetworkMessage rep ; rep.type = req->type ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.interactionClass = req->interactionClass ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processSubscribeInteractionClassvoidRTIG::processSubscribeInteractionClass(Socket *link, NetworkMessage *req){ bool sub = (req->type == NetworkMessage::SUBSCRIBE_INTERACTION_CLASS); auditServer->addToLinef("Class = %u", req->interactionClass); federations->subscribeInteraction(req->federation, req->federate, req->interactionClass, sub); D.Out(pdRequest, "Federate %u of Federation %u subscribed to Interaction %d.", req->federate, req->federation, req->interactionClass); NetworkMessage rep ; rep.type = req->type ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.interactionClass = req->interactionClass ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processRegisterObjectvoidRTIG::processRegisterObject(Socket *link, NetworkMessage *req){ NetworkMessage rep ; auditServer->addToLinef("Class = %u", req->objectClass); rep.object = federations->registerObject(req->federation, req->federate, req->objectClass, req->label); auditServer->addToLinef(", Handle = %u", rep.object); D.Out(pdRegister, "Object \"%s\" of Federate %u has been registered under ID %u.", req->label, req->federate, rep.object); rep.type = req->type ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; // rep.object is set by the call of registerObject rep.write(link); // Send answer to RTIA}// ----------------------------------------------------------------------------// processUpdateAttributeValuesvoidRTIG::processUpdateAttributeValues(Socket *link, NetworkMessage *req){ AttributeValue *ValueArray = NULL ; auditServer->addToLinef("ObjID = %u, Date = %f", req->object, req->date); // Prepare le Value Array ValueArray = req->getAttribValueArray(); // Propage l'appel federations->updateAttribute(req->federation, req->federate, req->object, req->handleArray, ValueArray, req->handleArraySize, req->date, req->label); free(ValueArray); // Prepare la reponse NetworkMessage rep ; rep.type = NetworkMessage::UPDATE_ATTRIBUTE_VALUES ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.object = req->object ; rep.date = req->date ; rep.handleArraySize = 0 ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processSendInteractionvoidRTIG::processSendInteraction(Socket *link, NetworkMessage *req){ AttributeValue *values = NULL ; // Prepare le Value Array auditServer->addToLinef("IntID = %u, date = %f", req->interactionClass, req->date); values = req->getParamValueArray(); federations->updateParameter(req->federation, req->federate, req->interactionClass, req->handleArray, values, req->handleArraySize, req->date, req->label); free(values); D.Out(pdDebug, "Mise A Jour des parametres de l'interaction %d terminee", req->interactionClass); NetworkMessage rep ; rep.type = NetworkMessage::SEND_INTERACTION ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.interactionClass = req->interactionClass ; rep.handleArraySize = 0 ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processdeleteObjectvoidRTIG::processDeleteObject(Socket *link, NetworkMessage *req){ auditServer->addToLinef("ObjID = %u", req->object); federations->destroyObject(req->federation, req->federate, req->object, req->label); D.Out(pdRegister, "Object # %u of Federation %u has been deleted.", req->object, req->federation); NetworkMessage rep ; rep.type = NetworkMessage::DELETE_OBJECT ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.object = req->object ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processqueryAttributeOwnershipvoidRTIG::processQueryAttributeOwnership(Socket *link, NetworkMessage *req){ D.Out(pdDebug, "Owner of Attribute %u of Object %u .", req->handleArray[0], req->object); auditServer->addToLinef("AttributeHandle = %u", req->handleArray[0]); federations->searchOwner(req->federation, req->federate, req->object, req->handleArray[0]); D.Out(pdDebug, "Owner of Attribute %u of Object %u .", req->handleArray[0], req->object); NetworkMessage rep ; rep.type = NetworkMessage::QUERY_ATTRIBUTE_OWNERSHIP ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.object = req->object ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processAttributeOwnedByFederatevoidRTIG::processAttributeOwnedByFederate(Socket *link, NetworkMessage *req){ NetworkMessage rep ; D.Out(pdDebug, "Owner of Attribute %u of Object %u .", req->handleArray[0], req->object); auditServer->addToLinef("AttributeHandle = %u", req->handleArray[0]); if (federations->isOwner(req->federation, req->federate, req->object, req->handleArray[0])) strcpy(rep.label, "RTI_TRUE"); else strcpy(rep.label, "RTI_FALSE"); D.Out(pdDebug, "Owner of Attribute %u of Object %u .", req->handleArray[0], req->object); rep.type = NetworkMessage::IS_ATTRIBUTE_OWNED_BY_FEDERATE ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.object = req->object ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processNegotiatedOwnershipDivestiturevoidRTIG::processNegotiatedOwnershipDivestiture(Socket *link, NetworkMessage *req){ auditServer->addToLinef("Object = %u, # of att. = %u", req->object, req->handleArraySize); federations->negotiateDivestiture(req->federation, req->federate, req->object, req->handleArray, req->handleArraySize, req->label); D.Out(pdDebug, "Federate %u of Federation %u negotiate " "divestiture of object %u.", req->federate, req->federation, req->object); NetworkMessage rep ; rep.type = NetworkMessage::NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.object = req->object ; rep.handleArraySize = 0 ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processAcquisitionIfAvailablevoidRTIG::processAcquisitionIfAvailable(Socket *link, NetworkMessage *req){ auditServer->addToLinef("Object = %u, # of att. = %u", req->object, req->handleArraySize); federations->acquireIfAvailable(req->federation, req->federate, req->object, req->handleArray, req->handleArraySize); D.Out(pdDebug, "Federate %u of Federation %u acquisitionIfAvailable " "of object %u.", req->federate, req->federation, req->object); NetworkMessage rep ; rep.type = NetworkMessage::ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.object = req->object ; rep.handleArraySize = 0 ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -