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

📄 statistics.cc

📁 分布式仿真 开放源码
💻 CC
📖 第 1 页 / 共 2 页
字号:
// ----------------------------------------------------------------------------// CERTI - HLA RunTime Infrastructure// Copyright (C) 2003  ONERA//// This file is part of CERTI//// CERTI is free software ; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation ; either version 2 of the License, or// (at your option) any later version.//// CERTI is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY ; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program ; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA//// ----------------------------------------------------------------------------#include <config.h>#include "Statistics.hh"#include <cstdlib>#include <iostream>#include <string>using std::cout ;using std::endl ;using std::string ;using std::ostream ;using std::endl ;using std::vector ;#define STRINGIZE(m) #m#define FED_MSG_NAME(msg_) fedMessageName[msg_] = STRINGIZE(msg_)#define RTI_MSG_NAME(msg_) rtiMessageName[msg_] = STRINGIZE(msg_) namespace certi {namespace rtia {bool Statistics::initialized = false ;vector<string> Statistics::fedMessageName(Message::LAST);vector<string> Statistics::rtiMessageName(NetworkMessage::LAST);// ----------------------------------------------------------------------------//! Initialize the two sets used for collecting number of messages exchanged.Statistics::Statistics()    : federateServiceSet(Message::LAST, 0),      rtiServiceSet(NetworkMessage::LAST, 0),      myDisplay(true), myDisplayZero(false){    if (getenv("CERTI_NO_STATISTICS"))	myDisplay = false ;    if (!initialized) {	FED_MSG_NAME(Message::CREATE_FEDERATION_EXECUTION);	FED_MSG_NAME(Message::DESTROY_FEDERATION_EXECUTION);	FED_MSG_NAME(Message::JOIN_FEDERATION_EXECUTION);	FED_MSG_NAME(Message::RESIGN_FEDERATION_EXECUTION);	FED_MSG_NAME(Message::REGISTER_FEDERATION_SYNCHRONIZATION_POINT);	FED_MSG_NAME(Message::SYNCHRONIZATION_POINT_REGISTRATION_FAILED);	FED_MSG_NAME(Message::SYNCHRONIZATION_POINT_REGISTRATION_SUCCEEDED);	FED_MSG_NAME(Message::ANNOUNCE_SYNCHRONIZATION_POINT);	FED_MSG_NAME(Message::SYNCHRONIZATION_POINT_ACHIEVED);	FED_MSG_NAME(Message::FEDERATION_SYNCHRONIZED);	FED_MSG_NAME(Message::REQUEST_FEDERATION_SAVE);	FED_MSG_NAME(Message::INITIATE_FEDERATE_SAVE);	FED_MSG_NAME(Message::FEDERATE_SAVE_BEGUN);	FED_MSG_NAME(Message::FEDERATE_SAVE_COMPLETE);	FED_MSG_NAME(Message::FEDERATE_SAVE_NOT_COMPLETE);	FED_MSG_NAME(Message::FEDERATION_SAVED);	FED_MSG_NAME(Message::FEDERATION_NOT_SAVED);	FED_MSG_NAME(Message::REQUEST_FEDERATION_RESTORE);	FED_MSG_NAME(Message::REQUEST_FEDERATION_RESTORE_FAILED);	FED_MSG_NAME(Message::REQUEST_FEDERATION_RESTORE_SUCCEEDED);	FED_MSG_NAME(Message::INITIATE_FEDERATE_RESTORE);	FED_MSG_NAME(Message::FEDERATE_RESTORE_COMPLETE);	FED_MSG_NAME(Message::FEDERATE_RESTORE_NOT_COMPLETE);	FED_MSG_NAME(Message::FEDERATION_RESTORED);	FED_MSG_NAME(Message::FEDERATION_NOT_RESTORED);	FED_MSG_NAME(Message::FEDERATION_RESTORE_BEGUN);	// Declaration	FED_MSG_NAME(Message::PUBLISH_OBJECT_CLASS);	FED_MSG_NAME(Message::UNPUBLISH_OBJECT_CLASS);	FED_MSG_NAME(Message::PUBLISH_INTERACTION_CLASS);	FED_MSG_NAME(Message::UNPUBLISH_INTERACTION_CLASS);	FED_MSG_NAME(Message::SUBSCRIBE_OBJECT_CLASS_ATTRIBUTES);	FED_MSG_NAME(Message::UNSUBSCRIBE_OBJECT_CLASS);	FED_MSG_NAME(Message::SUBSCRIBE_INTERACTION_CLASS);	FED_MSG_NAME(Message::UNSUBSCRIBE_INTERACTION_CLASS);	FED_MSG_NAME(Message::START_REGISTRATION_FOR_OBJECT_CLASS);	FED_MSG_NAME(Message::STOP_REGISTRATION_FOR_OBJECT_CLASS);	FED_MSG_NAME(Message::TURN_INTERACTIONS_ON);	FED_MSG_NAME(Message::TURN_INTERACTIONS_OFF);	// Object	FED_MSG_NAME(Message::REGISTER_OBJECT_INSTANCE);	FED_MSG_NAME(Message::UPDATE_ATTRIBUTE_VALUES);	FED_MSG_NAME(Message::DISCOVER_OBJECT_INSTANCE);	FED_MSG_NAME(Message::REFLECT_ATTRIBUTE_VALUES);	FED_MSG_NAME(Message::SEND_INTERACTION);	FED_MSG_NAME(Message::RECEIVE_INTERACTION);	FED_MSG_NAME(Message::DELETE_OBJECT_INSTANCE);	FED_MSG_NAME(Message::LOCAL_DELETE_OBJECT_INSTANCE);	FED_MSG_NAME(Message::REMOVE_OBJECT_INSTANCE);	FED_MSG_NAME(Message::CHANGE_ATTRIBUTE_TRANSPORTATION_TYPE);	FED_MSG_NAME(Message::CHANGE_INTERACTION_TRANSPORTATION_TYPE);	FED_MSG_NAME(Message::REQUEST_OBJECT_ATTRIBUTE_VALUE_UPDATE);	FED_MSG_NAME(Message::REQUEST_CLASS_ATTRIBUTE_VALUE_UPDATE);	FED_MSG_NAME(Message::PROVIDE_ATTRIBUTE_VALUE_UPDATE);	FED_MSG_NAME(Message::ATTRIBUTES_IN_SCOPE);	FED_MSG_NAME(Message::ATTRIBUTES_OUT_OF_SCOPE);	FED_MSG_NAME(Message::TURN_UPDATES_ON_FOR_OBJECT_INSTANCE);	FED_MSG_NAME(Message::TURN_UPDATES_OFF_FOR_OBJECT_INSTANCE);	// Ownership	FED_MSG_NAME(Message::REQUEST_ATTRIBUTE_OWNERSHIP_DIVESTITURE);	FED_MSG_NAME(Message::REQUEST_ATTRIBUTE_OWNERSHIP_ASSUMPTION);	FED_MSG_NAME(Message::NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE);	FED_MSG_NAME(Message::ATTRIBUTE_OWNERSHIP_DIVESTITURE_NOTIFICATION);	FED_MSG_NAME(Message::ATTRIBUTE_OWNERSHIP_ACQUISITION_NOTIFICATION);	FED_MSG_NAME(Message::REQUEST_ATTRIBUTE_OWNERSHIP_ACQUISITION);	FED_MSG_NAME(Message::REQUEST_ATTRIBUTE_OWNERSHIP_RELEASE);	FED_MSG_NAME(Message::QUERY_ATTRIBUTE_OWNERSHIP);	FED_MSG_NAME(Message::INFORM_ATTRIBUTE_OWNERSHIP);	FED_MSG_NAME(Message::IS_ATTRIBUTE_OWNED_BY_FEDERATE);	FED_MSG_NAME(Message::ATTRIBUTE_IS_NOT_OWNED);	FED_MSG_NAME(Message::ATTRIBUTE_OWNED_BY_RTI);	FED_MSG_NAME(Message::ATTRIBUTE_OWNERSHIP_ACQUISITION_IF_AVAILABLE);	FED_MSG_NAME(Message::ATTRIBUTE_OWNERSHIP_UNAVAILABLE);	FED_MSG_NAME(Message::UNCONDITIONAL_ATTRIBUTE_OWNERSHIP_DIVESTITURE);	FED_MSG_NAME(Message::ATTRIBUTE_OWNERSHIP_ACQUISITION);	FED_MSG_NAME(Message::CANCEL_NEGOTIATED_ATTRIBUTE_OWNERSHIP_DIVESTITURE);	FED_MSG_NAME(Message::ATTRIBUTE_OWNERSHIP_RELEASE_RESPONSE);	FED_MSG_NAME(Message::CANCEL_ATTRIBUTE_OWNERSHIP_ACQUISITION);	FED_MSG_NAME(Message::CONFIRM_ATTRIBUTE_OWNERSHIP_ACQUISITION_CANCELLATION);	// Time	FED_MSG_NAME(Message::CHANGE_ATTRIBUTE_ORDER_TYPE);	FED_MSG_NAME(Message::CHANGE_INTERACTION_ORDER_TYPE);	FED_MSG_NAME(Message::ENABLE_TIME_REGULATION);	FED_MSG_NAME(Message::DISABLE_TIME_REGULATION);	FED_MSG_NAME(Message::ENABLE_TIME_CONSTRAINED);	FED_MSG_NAME(Message::DISABLE_TIME_CONSTRAINED);	FED_MSG_NAME(Message::QUERY_LBTS);	FED_MSG_NAME(Message::QUERY_FEDERATE_TIME);	FED_MSG_NAME(Message::QUERY_MIN_NEXT_EVENT_TIME);	FED_MSG_NAME(Message::MODIFY_LOOKAHEAD);	FED_MSG_NAME(Message::QUERY_LOOKAHEAD);	FED_MSG_NAME(Message::RETRACT);	FED_MSG_NAME(Message::REQUEST_RETRACTION);	FED_MSG_NAME(Message::TIME_ADVANCE_REQUEST);	FED_MSG_NAME(Message::TIME_ADVANCE_REQUEST_AVAILABLE);	FED_MSG_NAME(Message::NEXT_EVENT_REQUEST);	FED_MSG_NAME(Message::NEXT_EVENT_REQUEST_AVAILABLE);	FED_MSG_NAME(Message::FLUSH_QUEUE_REQUEST);	FED_MSG_NAME(Message::TIME_ADVANCE_GRANT);	FED_MSG_NAME(Message::ENABLE_ASYNCHRONOUS_DELIVERY);	FED_MSG_NAME(Message::DISABLE_ASYNCHRONOUS_DELIVERY);	FED_MSG_NAME(Message::TIME_REGULATION_ENABLED);	FED_MSG_NAME(Message::TIME_CONSTRAINED_ENABLED);	// Data Distribution	FED_MSG_NAME(Message::DDM_CREATE_REGION);	FED_MSG_NAME(Message::DDM_MODIFY_REGION);	FED_MSG_NAME(Message::DDM_DELETE_REGION);	FED_MSG_NAME(Message::DDM_REGISTER_OBJECT);	FED_MSG_NAME(Message::DDM_ASSOCIATE_REGION);	FED_MSG_NAME(Message::DDM_UNASSOCIATE_REGION);	FED_MSG_NAME(Message::DDM_SUBSCRIBE_ATTRIBUTES);	FED_MSG_NAME(Message::DDM_UNSUBSCRIBE_ATTRIBUTES);	FED_MSG_NAME(Message::DDM_SUBSCRIBE_INTERACTION);	FED_MSG_NAME(Message::DDM_UNSUBSCRIBE_INTERACTION);	FED_MSG_NAME(Message::DDM_SEND_INTERACTION);	FED_MSG_NAME(Message::DDM_REQUEST_UPDATE);	// Support Services	FED_MSG_NAME(Message::GET_OBJECT_CLASS_HANDLE);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -