NdbcntrInit.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 NDBCNTR_C
  14. #include "Ndbcntr.hpp"
  15. #include <ndb_limits.h>
  16. #define DEBUG(x) { ndbout << "Ndbcntr::" << x << endl; }
  17. void Ndbcntr::initData() 
  18. {
  19.   // Records with constant sizes
  20.   ndbBlocksRec = new NdbBlocksRec[ZSIZE_NDB_BLOCKS_REC];
  21. }//Ndbcntr::initData()
  22. void Ndbcntr::initRecords() 
  23. {
  24.   // Records with dynamic sizes
  25. }//Ndbcntr::initRecords()
  26. Ndbcntr::Ndbcntr(const class Configuration & conf):
  27.   SimulatedBlock(NDBCNTR, conf),
  28.   cnoWaitrep6(0),
  29.   cnoWaitrep7(0),
  30.   c_stopRec(* this),
  31.   c_missra(* this)
  32. {
  33.   BLOCK_CONSTRUCTOR(Ndbcntr);
  34.   // Transit signals
  35.   addRecSignal(GSN_CONTINUEB, &Ndbcntr::execCONTINUEB);
  36.   addRecSignal(GSN_READ_NODESCONF, &Ndbcntr::execREAD_NODESCONF);
  37.   addRecSignal(GSN_READ_NODESREF, &Ndbcntr::execREAD_NODESREF);
  38.   addRecSignal(GSN_CM_ADD_REP, &Ndbcntr::execCM_ADD_REP);
  39.   addRecSignal(GSN_CNTR_START_REQ, &Ndbcntr::execCNTR_START_REQ);
  40.   addRecSignal(GSN_CNTR_START_REF, &Ndbcntr::execCNTR_START_REF);
  41.   addRecSignal(GSN_CNTR_START_CONF, &Ndbcntr::execCNTR_START_CONF);
  42.   addRecSignal(GSN_CNTR_WAITREP, &Ndbcntr::execCNTR_WAITREP);
  43.   addRecSignal(GSN_CNTR_START_REP, &Ndbcntr::execCNTR_START_REP);
  44.   addRecSignal(GSN_NODE_FAILREP, &Ndbcntr::execNODE_FAILREP);
  45.   addRecSignal(GSN_SYSTEM_ERROR , &Ndbcntr::execSYSTEM_ERROR);
  46.   
  47.   // Received signals
  48.   addRecSignal(GSN_DUMP_STATE_ORD, &Ndbcntr::execDUMP_STATE_ORD);
  49.   addRecSignal(GSN_STTOR, &Ndbcntr::execSTTOR);
  50.   addRecSignal(GSN_TCSEIZECONF, &Ndbcntr::execTCSEIZECONF);
  51.   addRecSignal(GSN_TCSEIZEREF, &Ndbcntr::execTCSEIZEREF);
  52.   addRecSignal(GSN_TCRELEASECONF, &Ndbcntr::execTCRELEASECONF);
  53.   addRecSignal(GSN_TCRELEASEREF, &Ndbcntr::execTCRELEASEREF);
  54.   addRecSignal(GSN_TCKEYCONF, &Ndbcntr::execTCKEYCONF);
  55.   addRecSignal(GSN_TCKEYREF, &Ndbcntr::execTCKEYREF);
  56.   addRecSignal(GSN_TCROLLBACKREP, &Ndbcntr::execTCROLLBACKREP);
  57.   addRecSignal(GSN_GETGCICONF, &Ndbcntr::execGETGCICONF);
  58.   addRecSignal(GSN_DIH_RESTARTCONF, &Ndbcntr::execDIH_RESTARTCONF);
  59.   addRecSignal(GSN_DIH_RESTARTREF, &Ndbcntr::execDIH_RESTARTREF);
  60.   addRecSignal(GSN_CREATE_TABLE_REF, &Ndbcntr::execCREATE_TABLE_REF);
  61.   addRecSignal(GSN_CREATE_TABLE_CONF, &Ndbcntr::execCREATE_TABLE_CONF);
  62.   addRecSignal(GSN_NDB_STTORRY, &Ndbcntr::execNDB_STTORRY);
  63.   addRecSignal(GSN_NDB_STARTCONF, &Ndbcntr::execNDB_STARTCONF);
  64.   addRecSignal(GSN_READ_NODESREQ, &Ndbcntr::execREAD_NODESREQ);
  65.   addRecSignal(GSN_NDB_STARTREF, &Ndbcntr::execNDB_STARTREF);
  66.   addRecSignal(GSN_SET_VAR_REQ, &Ndbcntr::execSET_VAR_REQ);
  67.   addRecSignal(GSN_STOP_PERM_REF, &Ndbcntr::execSTOP_PERM_REF);
  68.   addRecSignal(GSN_STOP_PERM_CONF, &Ndbcntr::execSTOP_PERM_CONF);
  69.   addRecSignal(GSN_STOP_ME_REF, &Ndbcntr::execSTOP_ME_REF);
  70.   addRecSignal(GSN_STOP_ME_CONF, &Ndbcntr::execSTOP_ME_CONF);
  71.   addRecSignal(GSN_STOP_REQ, &Ndbcntr::execSTOP_REQ);
  72.   addRecSignal(GSN_RESUME_REQ, &Ndbcntr::execRESUME_REQ);
  73.   addRecSignal(GSN_WAIT_GCP_REF, &Ndbcntr::execWAIT_GCP_REF);
  74.   addRecSignal(GSN_WAIT_GCP_CONF, &Ndbcntr::execWAIT_GCP_CONF);
  75.   addRecSignal(GSN_CHANGE_NODE_STATE_CONF, 
  76.        &Ndbcntr::execCHANGE_NODE_STATE_CONF);
  77.   addRecSignal(GSN_ABORT_ALL_REF, &Ndbcntr::execABORT_ALL_REF);
  78.   addRecSignal(GSN_ABORT_ALL_CONF, &Ndbcntr::execABORT_ALL_CONF);
  79.   addRecSignal(GSN_START_ORD, &Ndbcntr::execSTART_ORD);
  80.   addRecSignal(GSN_STTORRY, &Ndbcntr::execSTTORRY);
  81.   addRecSignal(GSN_READ_CONFIG_CONF, &Ndbcntr::execREAD_CONFIG_CONF);
  82.   addRecSignal(GSN_FSREMOVECONF, &Ndbcntr::execFSREMOVECONF);
  83.   
  84.   initData();
  85.   ctypeOfStart = NodeState::ST_ILLEGAL_TYPE;
  86.   c_start.m_startTime = NdbTick_CurrentMillisecond();
  87. }//Ndbcntr::Ndbcntr()
  88. Ndbcntr::~Ndbcntr() 
  89. {
  90.   delete []ndbBlocksRec;
  91. }//Ndbcntr::~Ndbcntr()
  92. BLOCK_FUNCTIONS(Ndbcntr)