QmgrInit.cpp
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:4k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #define QMGR_C
  14. #include "Qmgr.hpp"
  15. #define DEBUG(x) { ndbout << "Qmgr::" << x << endl; }
  16. void Qmgr::initData() 
  17. {
  18.   creadyDistCom = ZFALSE;
  19.   // Records with constant sizes
  20.   nodeRec = new NodeRec[MAX_NODES];
  21.   cnoCommitFailedNodes = 0;
  22.   c_maxDynamicId = 0;
  23.   c_clusterNodes.clear();
  24.   Uint32 hbDBAPI = 500;
  25.   setHbApiDelay(hbDBAPI);
  26. }//Qmgr::initData()
  27. void Qmgr::initRecords() 
  28. {
  29.   // Records with dynamic sizes
  30. }//Qmgr::initRecords()
  31. Qmgr::Qmgr(const class Configuration & conf)
  32.   : SimulatedBlock(QMGR, conf)
  33. {
  34.   BLOCK_CONSTRUCTOR(Qmgr);
  35.   // Transit signals
  36.   addRecSignal(GSN_DUMP_STATE_ORD, &Qmgr::execDUMP_STATE_ORD);
  37.   addRecSignal(GSN_DEBUG_SIG, &Qmgr::execDEBUG_SIG);
  38.   addRecSignal(GSN_CONTINUEB, &Qmgr::execCONTINUEB);
  39.   addRecSignal(GSN_CM_HEARTBEAT, &Qmgr::execCM_HEARTBEAT);
  40.   addRecSignal(GSN_CM_ADD, &Qmgr::execCM_ADD);
  41.   addRecSignal(GSN_CM_ACKADD, &Qmgr::execCM_ACKADD);
  42.   addRecSignal(GSN_CM_REGREQ, &Qmgr::execCM_REGREQ);
  43.   addRecSignal(GSN_CM_REGCONF, &Qmgr::execCM_REGCONF);
  44.   addRecSignal(GSN_CM_REGREF, &Qmgr::execCM_REGREF);
  45.   addRecSignal(GSN_CM_NODEINFOREQ, &Qmgr::execCM_NODEINFOREQ);
  46.   addRecSignal(GSN_CM_NODEINFOCONF, &Qmgr::execCM_NODEINFOCONF);
  47.   addRecSignal(GSN_CM_NODEINFOREF, &Qmgr::execCM_NODEINFOREF);
  48.   addRecSignal(GSN_PREP_FAILREQ, &Qmgr::execPREP_FAILREQ);
  49.   addRecSignal(GSN_PREP_FAILCONF, &Qmgr::execPREP_FAILCONF);
  50.   addRecSignal(GSN_PREP_FAILREF, &Qmgr::execPREP_FAILREF);
  51.   addRecSignal(GSN_COMMIT_FAILREQ, &Qmgr::execCOMMIT_FAILREQ);
  52.   addRecSignal(GSN_COMMIT_FAILCONF, &Qmgr::execCOMMIT_FAILCONF);
  53.   addRecSignal(GSN_FAIL_REP, &Qmgr::execFAIL_REP);
  54.   addRecSignal(GSN_PRES_TOREQ, &Qmgr::execPRES_TOREQ);
  55.   addRecSignal(GSN_PRES_TOCONF, &Qmgr::execPRES_TOCONF);
  56.   // Received signals
  57.   addRecSignal(GSN_CONNECT_REP, &Qmgr::execCONNECT_REP);
  58.   addRecSignal(GSN_NDB_FAILCONF, &Qmgr::execNDB_FAILCONF);
  59.   addRecSignal(GSN_STTOR, &Qmgr::execSTTOR);
  60.   addRecSignal(GSN_CLOSE_COMCONF, &Qmgr::execCLOSE_COMCONF);
  61.   addRecSignal(GSN_API_REGREQ, &Qmgr::execAPI_REGREQ);
  62.   addRecSignal(GSN_API_VERSION_REQ, &Qmgr::execAPI_VERSION_REQ);
  63.   addRecSignal(GSN_DISCONNECT_REP, &Qmgr::execDISCONNECT_REP);
  64.   addRecSignal(GSN_API_FAILCONF, &Qmgr::execAPI_FAILCONF);
  65.   addRecSignal(GSN_READ_NODESREQ, &Qmgr::execREAD_NODESREQ);
  66.   addRecSignal(GSN_SET_VAR_REQ,  &Qmgr::execSET_VAR_REQ);
  67.   addRecSignal(GSN_API_BROADCAST_REP,  &Qmgr::execAPI_BROADCAST_REP);
  68.   
  69.   // Arbitration signals
  70.   addRecSignal(GSN_ARBIT_PREPREQ, &Qmgr::execARBIT_PREPREQ);
  71.   addRecSignal(GSN_ARBIT_PREPCONF, &Qmgr::execARBIT_PREPCONF);
  72.   addRecSignal(GSN_ARBIT_PREPREF, &Qmgr::execARBIT_PREPREF);
  73.   addRecSignal(GSN_ARBIT_STARTCONF, &Qmgr::execARBIT_STARTCONF);
  74.   addRecSignal(GSN_ARBIT_STARTREF, &Qmgr::execARBIT_STARTREF);
  75.   addRecSignal(GSN_ARBIT_CHOOSECONF, &Qmgr::execARBIT_CHOOSECONF);
  76.   addRecSignal(GSN_ARBIT_CHOOSEREF, &Qmgr::execARBIT_CHOOSEREF);
  77.   addRecSignal(GSN_ARBIT_STOPREP, &Qmgr::execARBIT_STOPREP);
  78.   initData();
  79. }//Qmgr::Qmgr()
  80. Qmgr::~Qmgr() 
  81. {
  82.   delete []nodeRec;
  83. }//Qmgr::~Qmgr()
  84. BLOCK_FUNCTIONS(Qmgr)