EventReport.hpp
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:4k
- /* 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 SD_EVENT_REPORT_H
- #define SD_EVENT_REPORT_H
- #include "SignalData.hpp"
- /**
- * Send by different block to report that a event has taken place
- *
- * SENDER: *Block*
- * RECIVER: SimBlockCMCtrBlck
- */
- class EventReport {
- friend class SimulatedBlock;
- friend class Cmvmi;
- friend class SimblockMissra;
- friend class Dbacc;
- friend class Dblqh;
- friend class Dbtup;
- friend class Dbtc;
- friend class Ndbcntr;
- friend class Qmgr;
- friend class Dbdih;
- friend class Dbdict;
- friend class MgmtSrvr;
- friend class Grep;
- public:
- /*
- EventType defines what event reports to send.
- The ORDER is NOT important anymore. //ejonore 2003-07-24 15:03
-
- HOW TO ADD A NEW EVENT
- --------------------
- 1) Add SentHeartbeat EventType in the category where it belongs.
- ...
- // INFO
- SentHeartbeat,
- InfoEvent
- ...
- 2) remeber to update # of events below. Just to keep count...
- Number of event types = 53
- 3) Add a new SentHeartBeat entry to EventLogger::matrix[].
- ...
- // INFO
- { EventReport::SentHeartbeat, LogLevel::llInfo, 11, INFO },
- { EventReport::InfoEvent, LogLevel::llInfo, 2, INFO }
- ...
- 4) Add SentHeartbeat in EventLogger::getText()
- */
- enum EventType {
- // CONNECTION
- Connected = 0,
- Disconnected = 1,
- CommunicationClosed = 2,
- CommunicationOpened = 3,
- ConnectedApiVersion = 51,
- // CHECKPOINT
- GlobalCheckpointStarted = 4,
- GlobalCheckpointCompleted = 5,
- LocalCheckpointStarted = 6,
- LocalCheckpointCompleted = 7,
- LCPStoppedInCalcKeepGci = 8,
- LCPFragmentCompleted = 9,
- // STARTUP
- NDBStartStarted = 10,
- NDBStartCompleted = 11,
- STTORRYRecieved = 12,
- StartPhaseCompleted = 13,
- CM_REGCONF = 14,
- CM_REGREF = 15,
- FIND_NEIGHBOURS = 16,
- NDBStopStarted = 17,
- NDBStopAborted = 18,
- StartREDOLog = 19,
- StartLog = 20,
- UNDORecordsExecuted = 21,
- // NODERESTART
- NR_CopyDict = 22,
- NR_CopyDistr = 23,
- NR_CopyFragsStarted = 24,
- NR_CopyFragDone = 25,
- NR_CopyFragsCompleted = 26,
-
- // NODEFAIL
- NodeFailCompleted = 27,
- NODE_FAILREP = 28,
- ArbitState = 29,
- ArbitResult = 30,
- GCP_TakeoverStarted = 31,
- GCP_TakeoverCompleted = 32,
- LCP_TakeoverStarted = 33,
- LCP_TakeoverCompleted = 34,
-
- // STATISTIC
- TransReportCounters = 35,
- OperationReportCounters = 36,
- TableCreated = 37,
- UndoLogBlocked = 38,
- JobStatistic = 39,
- SendBytesStatistic = 40,
- ReceiveBytesStatistic = 41,
- MemoryUsage = 50,
- // ERROR
- TransporterError = 42,
- TransporterWarning = 43,
- MissedHeartbeat = 44,
- DeadDueToHeartbeat = 45,
- WarningEvent = 46,
- // INFO
- SentHeartbeat = 47,
- CreateLogBytes = 48,
- InfoEvent = 49,
- // SINGLE USER
- SingleUser = 52,
- /* unused 53 */
- //BACKUP
- BackupStarted = 54,
- BackupFailedToStart = 55,
- BackupCompleted = 56,
- BackupAborted = 57
- };
-
- void setEventType(EventType type);
- EventType getEventType() const;
- UintR eventType; // DATA 0
- };
- inline
- void
- EventReport::setEventType(EventType type){
- eventType = (UintR) type;
- }
- inline
- EventReport::EventType
- EventReport::getEventType() const {
- return (EventType)eventType;
- }
- #endif