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

📄 sumainit.cpp

📁 mysql-5.0.22.tar.gz源码包
💻 CPP
字号:
/* Copyright (C) 2003 MySQL AB   This program 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.   This program 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 "Suma.hpp"#include <Properties.hpp>#include <Configuration.hpp>SumaParticipant::SumaParticipant(const Configuration & conf) :  SimulatedBlock(SUMA, conf),  c_metaSubscribers(c_subscriberPool),  c_dataSubscribers(c_subscriberPool),  c_prepDataSubscribers(c_subscriberPool),  c_removeDataSubscribers(c_subscriberPool),  c_tables(c_tablePool_),  c_subscriptions(c_subscriptionPool){  BLOCK_CONSTRUCTOR(SumaParticipant);    /**   * SUMA participant if   */  addRecSignal(GSN_SUB_CREATE_REQ, &SumaParticipant::execSUB_CREATE_REQ);  addRecSignal(GSN_SUB_REMOVE_REQ, &SumaParticipant::execSUB_REMOVE_REQ);  addRecSignal(GSN_SUB_START_REQ, &SumaParticipant::execSUB_START_REQ);  addRecSignal(GSN_SUB_STOP_REQ, &SumaParticipant::execSUB_STOP_REQ);  addRecSignal(GSN_SUB_SYNC_REQ, &SumaParticipant::execSUB_SYNC_REQ);    addRecSignal(GSN_SUB_STOP_CONF, &SumaParticipant::execSUB_STOP_CONF);  addRecSignal(GSN_SUB_STOP_REF, &SumaParticipant::execSUB_STOP_REF);  /**   * Dict interface   */  //addRecSignal(GSN_LIST_TABLES_REF, &SumaParticipant::execLIST_TABLES_REF);  addRecSignal(GSN_LIST_TABLES_CONF, &SumaParticipant::execLIST_TABLES_CONF);  //addRecSignal(GSN_GET_TABINFOREF, &SumaParticipant::execGET_TABINFO_REF);  addRecSignal(GSN_GET_TABINFO_CONF, &SumaParticipant::execGET_TABINFO_CONF);  addRecSignal(GSN_GET_TABINFOREF, &SumaParticipant::execGET_TABINFOREF);#if 0  addRecSignal(GSN_GET_TABLEID_CONF, &SumaParticipant::execGET_TABLEID_CONF);  addRecSignal(GSN_GET_TABLEID_REF, &SumaParticipant::execGET_TABLEID_REF);#endif  /**   * Dih interface   */  //addRecSignal(GSN_DI_FCOUNTREF, &SumaParticipant::execDI_FCOUNTREF);  addRecSignal(GSN_DI_FCOUNTCONF, &SumaParticipant::execDI_FCOUNTCONF);  //addRecSignal(GSN_DIGETPRIMREF, &SumaParticipant::execDIGETPRIMREF);  addRecSignal(GSN_DIGETPRIMCONF, &SumaParticipant::execDIGETPRIMCONF);  /**   * Scan interface   */  addRecSignal(GSN_SCAN_HBREP, &SumaParticipant::execSCAN_HBREP);  addRecSignal(GSN_TRANSID_AI, &SumaParticipant::execTRANSID_AI);  addRecSignal(GSN_SCAN_FRAGREF, &SumaParticipant::execSCAN_FRAGREF);  addRecSignal(GSN_SCAN_FRAGCONF, &SumaParticipant::execSCAN_FRAGCONF);#if 0  addRecSignal(GSN_SUB_SYNC_CONTINUE_REF, 	       &SumaParticipant::execSUB_SYNC_CONTINUE_REF);#endif  addRecSignal(GSN_SUB_SYNC_CONTINUE_CONF, 	       &SumaParticipant::execSUB_SYNC_CONTINUE_CONF);    /**   * Trigger stuff   */  addRecSignal(GSN_TRIG_ATTRINFO, &SumaParticipant::execTRIG_ATTRINFO);  addRecSignal(GSN_FIRE_TRIG_ORD, &SumaParticipant::execFIRE_TRIG_ORD);  addRecSignal(GSN_CREATE_TRIG_REF, &Suma::execCREATE_TRIG_REF);  addRecSignal(GSN_CREATE_TRIG_CONF, &Suma::execCREATE_TRIG_CONF);  addRecSignal(GSN_DROP_TRIG_REF, &Suma::execDROP_TRIG_REF);  addRecSignal(GSN_DROP_TRIG_CONF, &Suma::execDROP_TRIG_CONF);    addRecSignal(GSN_SUB_GCP_COMPLETE_REP, 	       &SumaParticipant::execSUB_GCP_COMPLETE_REP);    for( int i = 0; i < NO_OF_BUCKETS; i++) {    c_buckets[i].active = false;    c_buckets[i].handover = false;    c_buckets[i].handover_started = false;    c_buckets[i].handoverGCI = 0;  }  c_handoverToDo = false;  c_lastInconsistentGCI = RNIL;  c_lastCompleteGCI = RNIL;  c_nodeFailGCI = 0;  c_failedApiNodes.clear();}  SumaParticipant::~SumaParticipant(){}Suma::Suma(const Configuration & conf) :  SumaParticipant(conf),  Restart(*this),  c_nodes(c_nodePool),  c_runningSubscriptions(c_subCoordinatorPool){  // Add received signals  addRecSignal(GSN_READ_CONFIG_REQ, &Suma::execREAD_CONFIG_REQ);  addRecSignal(GSN_STTOR, &Suma::execSTTOR);  addRecSignal(GSN_NDB_STTOR, &Suma::execNDB_STTOR);  addRecSignal(GSN_DUMP_STATE_ORD, &Suma::execDUMP_STATE_ORD);  addRecSignal(GSN_READ_NODESCONF, &Suma::execREAD_NODESCONF);  addRecSignal(GSN_API_FAILREQ,  &Suma::execAPI_FAILREQ);  addRecSignal(GSN_NODE_FAILREP, &Suma::execNODE_FAILREP);  addRecSignal(GSN_INCL_NODEREQ, &Suma::execINCL_NODEREQ);  addRecSignal(GSN_CONTINUEB, &Suma::execCONTINUEB);  addRecSignal(GSN_SIGNAL_DROPPED_REP, &Suma::execSIGNAL_DROPPED_REP, true);  addRecSignal(GSN_UTIL_SEQUENCE_CONF, &Suma::execUTIL_SEQUENCE_CONF);  addRecSignal(GSN_UTIL_SEQUENCE_REF, &Suma::execUTIL_SEQUENCE_REF);  addRecSignal(GSN_CREATE_SUBID_REQ, 	       &Suma::execCREATE_SUBID_REQ);  addRecSignal(GSN_SUB_CREATE_CONF, &Suma::execSUB_CREATE_CONF);  addRecSignal(GSN_SUB_CREATE_REF, &Suma::execSUB_CREATE_REF);  addRecSignal(GSN_SUB_SYNC_CONF, &Suma::execSUB_SYNC_CONF);  addRecSignal(GSN_SUB_SYNC_REF, &Suma::execSUB_SYNC_REF);  addRecSignal(GSN_SUB_START_CONF, &Suma::execSUB_START_CONF);  addRecSignal(GSN_SUB_START_REF, &Suma::execSUB_START_REF);  addRecSignal(GSN_SUMA_START_ME, &Suma::execSUMA_START_ME);  addRecSignal(GSN_SUMA_HANDOVER_REQ, &Suma::execSUMA_HANDOVER_REQ);  addRecSignal(GSN_SUMA_HANDOVER_CONF, &Suma::execSUMA_HANDOVER_CONF);  addRecSignal(GSN_SUB_GCP_COMPLETE_ACC, 	       &Suma::execSUB_GCP_COMPLETE_ACC);}Suma::~Suma(){}BLOCK_FUNCTIONS(Suma)BLOCK_FUNCTIONS(SumaParticipant)

⌨️ 快捷键说明

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