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

📄 globaldata.hpp

📁 mysql-5.0.22.tar.gz源码包
💻 HPP
字号:
/* 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 */#ifndef GLOBAL_DATA_H#define GLOBAL_DATA_H#include <ndb_global.h>#include <kernel_types.h>#include "Prio.hpp"#include "VMSignal.hpp"#include <BlockNumbers.h>#include <NodeState.hpp>#include <NodeInfo.hpp>class SimulatedBlock;enum  restartStates {initial_state,                      perform_start,                      system_started,                      perform_stop};struct GlobalData {  NodeInfo   m_nodeInfo[MAX_NODES];  Signal     VMSignals[1];             // Owned by FastScheduler::    Uint64     internalMillisecCounter; // Owned by ThreadConfig::  Uint32     highestAvailablePrio;    // Owned by FastScheduler::  Uint32     JobCounter;              // Owned by FastScheduler  Uint64     JobLap;                  // Owned by FastScheduler  Uint32     loopMax;                 // Owned by FastScheduler    Uint32     theNextTimerJob;         // Owned by TimeQueue::  Uint32     theCurrentTimer;         // Owned by TimeQueue::  Uint32     theShortTQIndex;         // Owned by TimeQueue::    Uint32     theLongTQIndex;          // Owned by TimeQueue::  Uint32     theCountTimer;           // Owned by TimeQueue::  Uint32     theFirstFreeTQIndex;     // Owned by TimeQueue::  Uint32     testOn;                  // Owned by the Signal Loggers    NodeId     ownId;                   // Own processor id    Uint32     theStartLevel;  restartStates theRestartFlag;  Uint32     theSignalId;    Uint32     sendPackedActivated;  Uint32     activateSendPacked;    GlobalData(){     theSignalId = 0;     theStartLevel = NodeState::SL_NOTHING;    theRestartFlag = perform_start;  }  ~GlobalData(){}    void             setBlock(BlockNumber blockNo, SimulatedBlock * block);  SimulatedBlock * getBlock(BlockNumber blockNo);    void           incrementWatchDogCounter(Uint32 place);  const Uint32 * getWatchDogPtr();  private:  Uint32     watchDog;  SimulatedBlock* blockTable[NO_OF_BLOCKS]; // Owned by Dispatcher::};extern GlobalData globalData;#define GLOBAL_TEST_ON (localTestOn)#define GET_GLOBAL_TEST_FLAG bool localTestOn = globalData.testOn#define SET_GLOBAL_TEST_ON (globalData.testOn = true)#define SET_GLOBAL_TEST_OFF (globalData.testOn = false)#define TOGGLE_GLOBAL_TEST_FLAG (globalData.testOn = (globalData.testOn == true ? false : true))inlinevoidGlobalData::setBlock(BlockNumber blockNo, SimulatedBlock * block){  blockNo -= MIN_BLOCK_NO;  assert((blockTable[blockNo] == 0) || (blockTable[blockNo] == block));  blockTable[blockNo] = block;}inlineSimulatedBlock *GlobalData::getBlock(BlockNumber blockNo){  blockNo -= MIN_BLOCK_NO;  return blockTable[blockNo];}inlinevoidGlobalData::incrementWatchDogCounter(Uint32 place){  watchDog = place;}inlineconst Uint32 *GlobalData::getWatchDogPtr(){  return &watchDog;}#endif

⌨️ 快捷键说明

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