📄 rtig_processing.cc
字号:
RTIG::processRequestId(Socket *link, NetworkMessage *req){ NetworkMessage rep ; auditServer->addToLinef("Asked %u", req->idCount); federations->requestId(req->federation, req->idCount, rep.firstId, rep.lastId); auditServer->addToLinef(", given range from %u to %u", rep.firstId, rep.lastId); D.Out(pdInit, "%d IDs have been sent for Federation %u.", req->idCount, req->federation); rep.type = req->type ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; 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 = m_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 = m_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 = m_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 = m_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 = m_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 = m_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 = m_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}// ----------------------------------------------------------------------------// processUnconditionalDivestiturevoidRTIG::processUnconditionalDivestiture(Socket *link, NetworkMessage *req){ auditServer->addToLinef("Object = %u, # of att. = %u", req->object, req->handleArraySize); federations->divest(req->federation, req->federate, req->object, req->handleArray, req->handleArraySize); D.Out(pdDebug, "Federate %u of Federation %u UnconditionalDivestiture " "of object %u.", req->federate, req->federation, req->object); NetworkMessage rep ; rep.type = m_UNCONDITIONAL_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}// ----------------------------------------------------------------------------// processOwnershipAcquisitionvoidRTIG::processOwnershipAcquisition(Socket *link, NetworkMessage *req){ auditServer->addToLinef("Object = %u, # of att. = %u", req->object, req->handleArraySize); federations->acquire(req->federation, req->federate, req->object, req->handleArray, req->handleArraySize, req->label); D.Out(pdDebug, "Federate %u of Federation %u ownership acquisition of object %u.", req->federate, req->federation, req->object); NetworkMessage rep ; rep.type = m_ATTRIBUTE_OWNERSHIP_ACQUISITION ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.object = req->object ; rep.handleArraySize = 0 ; rep.write(link); // send answer to RTIA}// ----------------------------------------------------------------------------// processCancelNegotiatedDivestiturevoidRTIG::processCancelNegotiatedDivestiture(Socket *link, NetworkMessage *req){ auditServer->addToLinef("Object = %u, # of att. = %u", req->object, req->handleArraySize); federations->cancelDivestiture(req->federation, req->federate, req->object, req->handleArray, req->handleArraySize); D.Out(pdDebug, "Federate %u of Federation %u cancel negotiate " "divestiture of object %u.", req->federate, req->federation, req->object); NetworkMessage rep ; rep.type = m_CANCEL_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}// ----------------------------------------------------------------------------// processReleaseResponsevoidRTIG::processReleaseResponse(Socket *link, NetworkMessage *req){ auditServer->addToLinef("Object = %u, # of att. = %u", req->object, req->handleArraySize); AttributeHandleSet *attributes = federations->respondRelease(req->federation, req->federate, req->object, req->handleArray, req->handleArraySize); D.Out(pdDebug, "Federate %u of Federation %u release response " "of object %u.", req->federate, req->federation, req->object); NetworkMessage rep ; rep.handleArraySize = attributes->size(); for (unsigned int i = 0 ; i < attributes->size(); i++) { rep.handleArray[i] = attributes->getHandle(i); } rep.type = m_ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.object = req->object ; rep.write(link); // Send answer to RTIA}// ----------------------------------------------------------------------------// processCancelAcquisitionvoidRTIG::processCancelAcquisition(Socket *link, NetworkMessage *req){ auditServer->addToLinef("Object = %u, # of att. = %u", req->object, req->handleArraySize); federations->cancelAcquisition(req->federation, req->federate, req->object, req->handleArray, req->handleArraySize); D.Out(pdDebug, "Federate %u of Federation %u release response of object %u.", req->federate, req->federation, req->object); NetworkMessage rep ; rep.type = m_CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION ; rep.exception = e_NO_EXCEPTION ; rep.federate = req->federate ; rep.object = req->object ; rep.handleArraySize = 0 ; rep.write(link); // send answer to RTIA}}} // namespace certi/rtig// $Id: RTIG_processing.cc,v 3.7 2003/03/21 15:06:46 breholee Exp $
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -