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

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. #include <RefConvert.hpp>
  14. #include <signaldata/LCP.hpp>
  15. #include <DebuggerNames.hpp>
  16. bool
  17. printSTART_LCP_REQ(FILE * output, const Uint32 * theData, 
  18.   Uint32 len, Uint16 receiverBlockNo){
  19.   
  20.   const StartLcpReq * const sig = (StartLcpReq *) theData;
  21.  
  22.   char buf1[8*_NDB_NODE_BITMASK_SIZE+1];
  23.   char buf2[8*_NDB_NODE_BITMASK_SIZE+1];
  24.   fprintf(output, 
  25.   " Sender: %d LcpId: %dn"
  26.   " ParticipatingDIH = %sn"
  27.   " ParticipatingLQH = %sn",
  28.   refToNode(sig->senderRef), sig->lcpId,
  29.   sig->participatingDIH.getText(buf1),
  30.   sig->participatingLQH.getText(buf2));
  31.   
  32.   return true;
  33. }
  34. bool
  35. printSTART_LCP_CONF(FILE * output, const Uint32 * theData, 
  36.   Uint32 len, Uint16 receiverBlockNo){
  37.   
  38.   const StartLcpConf * const sig = (StartLcpConf *) theData;
  39.   
  40.   fprintf(output, " Sender: %d LcpId: %dn",
  41.   refToNode(sig->senderRef), sig->lcpId);
  42.   
  43.   return true;
  44. }
  45. bool
  46. printLCP_FRAG_ORD(FILE * output, const Uint32 * theData, 
  47.   Uint32 len, Uint16 receiverBlockNo){
  48.   
  49.   const LcpFragOrd * const sig = (LcpFragOrd *) theData;
  50.   
  51.   fprintf(output, " LcpId: %d LcpNo: %d Table: %d Fragment: %dn",
  52.   sig->lcpId, sig->lcpNo, sig->tableId, sig->fragmentId);
  53.   
  54.   fprintf(output, " KeepGCI: %d LastFragmentFlag: %dn",
  55.   sig->keepGci, sig->lastFragmentFlag);
  56.   return true;
  57. }
  58. bool
  59. printLCP_FRAG_REP(FILE * output, const Uint32 * theData, 
  60.   Uint32 len, Uint16 receiverBlockNo){
  61.   
  62.   const LcpFragRep * const sig = (LcpFragRep *) theData;
  63.   
  64.   fprintf(output, " LcpId: %d LcpNo: %d NodeId: %d Table: %d Fragment: %dn",
  65.   sig->lcpId, sig->lcpNo, sig->nodeId, sig->tableId, sig->fragId);
  66.   fprintf(output, " Max GCI Started: %d Max GCI Completed: %dn",
  67.   sig->maxGciStarted, sig->maxGciCompleted);
  68.   return true;
  69. }
  70. bool
  71. printLCP_COMPLETE_REP(FILE * output, const Uint32 * theData, 
  72.       Uint32 len, Uint16 receiverBlockNo){
  73.   
  74.   const LcpCompleteRep * const sig = (LcpCompleteRep *) theData;
  75.   
  76.   fprintf(output, " LcpId: %d NodeId: %d Block: %sn",
  77.   sig->lcpId, sig->nodeId, getBlockName(sig->blockNo));
  78.   return true;
  79. }