/* Copyright (c) 2003-2005 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; version 2 of the License. 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #ifndef REP_IMPL_HPP #define REP_IMPL_HPP #include "SignalData.hpp" #include #include #include /** * RecordType * sz = no of elems in enum * @todo support for meta_log must be added */ enum RecordType { DATA_SCAN = 0, DATA_LOG = 1, META_SCAN = 2, // META_LOG = 3, //removed META_LOG. not supported RecordTypeSize = 3 // =4 if meta log is supported }; /** * Wait GCP */ class RepWaitGcpReq { /** * Sender(s)/Reciver(s) */ friend class Rep; friend class GrepParticipant; friend bool printREP_WAITGCP_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); Uint32 senderData; Uint32 subscriptionId; Uint32 subscriptionKey; Uint32 gcp; Uint32 senderNodeId; }; class RepWaitGcpConf { /** * Sender(s)/Reciver(s) */ friend class Rep; friend class GrepParticipant; friend bool printREP_WAITGCP_CONF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); Uint32 senderData; Uint32 senderRef; Uint32 subscriptionId; Uint32 subscriptionKey; Uint32 senderNodeId; }; class RepWaitGcpRef { /** * Sender(s)/Reciver(s) */ friend class Rep; friend class GrepParticipant; friend bool printREP_WAITGCP_REF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 6 ); Uint32 senderData; Uint32 senderRef; Uint32 subscriptionId; Uint32 subscriptionKey; Uint32 senderNodeId; GrepError::GE_Code err; }; class RepGetGciReq { /** * Sender(s)/Reciver(s) */ friend class Rep; friend class Grep; friend bool printREP_GET_GCI_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 3 ); Uint32 senderData; Uint32 senderRef; Uint32 nodeGrp; }; class RepGetGciConf { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_GET_GCI_CONF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 7 ); Uint32 senderData; Uint32 senderRef; Uint32 nodeGrp; Uint32 firstPSGCI; Uint32 lastPSGCI; Uint32 firstSSGCI; Uint32 lastSSGCI; }; class RepGetGciRef { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_GET_GCI_REF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 8); Uint32 senderData; Uint32 senderRef; Uint32 nodeGrp; Uint32 firstPSGCI; Uint32 lastPSGCI; Uint32 firstSSGCI; Uint32 lastSSGCI; GrepError::GE_Code err; }; class RepGetGciBufferReq { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_GET_GCIBUFFER_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); Uint32 senderRef; Uint32 senderData; Uint32 firstGCI; Uint32 lastGCI; Uint32 nodeGrp; }; class RepGetGciBufferConf { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_GET_GCIBUFFER_CONF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 8 ); Uint32 senderData; Uint32 senderRef; Uint32 firstPSGCI; Uint32 lastPSGCI; Uint32 firstSSGCI; Uint32 lastSSGCI; Uint32 currentGCIBuffer; Uint32 nodeGrp; }; class RepGetGciBufferRef { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_GET_GCIBUFFER_REF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 9 ); Uint32 senderData; Uint32 senderRef; Uint32 firstPSGCI; Uint32 lastPSGCI; Uint32 firstSSGCI; Uint32 lastSSGCI; Uint32 currentGCIBuffer; Uint32 nodeGrp; GrepError::GE_Code err; }; class RepInsertGciBufferReq { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_INSERT_GCIBUFFER_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); Uint32 senderData; Uint32 senderRef; Uint32 gci; Uint32 nodeGrp; Uint32 force; }; class RepInsertGciBufferRef { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_INSERT_GCIBUFFER_REF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 7 ); Uint32 senderData; Uint32 senderRef; Uint32 gci; Uint32 nodeGrp; Uint32 tableId; Uint32 force; GrepError::GE_Code err; }; class RepInsertGciBufferConf { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_INSERT_GCIBUFFER_CONF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); Uint32 senderData; Uint32 senderRef; Uint32 gci; Uint32 nodeGrp; Uint32 force; }; class RepClearPSGciBufferReq { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_CLEAR_PS_GCIBUFFER_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); Uint32 senderData; Uint32 senderRef; Uint32 firstGCI; Uint32 lastGCI; Uint32 nodeGrp; }; class RepClearPSGciBufferRef { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_CLEAR_PS_GCIBUFFER_REF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 7 ); Uint32 senderData; Uint32 senderRef; Uint32 firstGCI; Uint32 lastGCI; Uint32 currentGCI; Uint32 nodeGrp; GrepError::GE_Code err; }; class RepClearPSGciBufferConf { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_CLEAR_PS_GCIBUFFER_CONF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); Uint32 senderData; Uint32 senderRef; Uint32 firstGCI; Uint32 lastGCI; Uint32 nodeGrp; }; class RepClearSSGciBufferReq { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_CLEAR_SS_GCIBUFFER_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); Uint32 senderData; Uint32 senderRef; Uint32 firstGCI; Uint32 lastGCI; Uint32 nodeGrp; }; class RepClearSSGciBufferRef { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_CLEAR_SS_GCIBUFFER_REF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 7 ); Uint32 senderData; Uint32 senderRef; Uint32 firstGCI; Uint32 lastGCI; Uint32 currentGCI; Uint32 nodeGrp; GrepError::GE_Code err; }; class RepClearSSGciBufferConf { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_CLEAR_SS_GCIBUFFER_CONF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); Uint32 senderData; Uint32 senderRef; Uint32 firstGCI; Uint32 lastGCI; Uint32 nodeGrp; }; class RepDataPage { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_DATA_PAGE(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 4 ); Uint32 senderData; Uint32 senderRef; Uint32 nodeGrp; Uint32 gci; }; class RepGciBufferAccRep { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_GCIBUFFER_ACC_REP(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 5 ); Uint32 senderData; Uint32 senderRef; Uint32 nodeGrp; Uint32 gci; Uint32 totalSentBytes; }; class RepDropTableReq { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_DROP_TABLE_REQ(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 4 ); Uint32 tableId; // char tableName[MAX_TAB_NAME_SIZE]; }; class RepDropTableRef { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_DROP_TABLE_REF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 4 ); Uint32 tableId; // char tableName[MAX_TAB_NAME_SIZE]; }; class RepDropTableConf { /** * Sender(s)/Reciver(s) */ friend class Rep; friend bool printREP_DROP_TABLE_CONF(FILE *, const Uint32 *, Uint32, Uint16); public: STATIC_CONST( SignalLength = 4 ); Uint32 tableId; //char tableName[MAX_TAB_NAME_SIZE]; }; class RepDisconnectRep { /** * Sender(s)/Reciver(s) */ friend class Rep; friend class Grep; friend bool printREP_DISCONNECT_REP(FILE *, const Uint32 *, Uint32, Uint16); public: enum NodeType { DB = 0, REP = 1 }; STATIC_CONST( SignalLength = 7 ); Uint32 senderData; Uint32 senderRef; Uint32 nodeId; Uint32 nodeType; Uint32 subId; Uint32 subKey; Uint32 err; }; #endif