⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtig_processing.cc

📁 分布式仿真 开放源码
💻 CC
📖 第 1 页 / 共 3 页
字号:
    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 + -