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

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 <signaldata/MasterLCP.hpp>
  14. #include <RefConvert.hpp>
  15. static
  16. void
  17. print(char *buf, size_t buf_len, MasterLCPConf::State s){
  18.   switch(s){
  19.   case MasterLCPConf::LCP_STATUS_IDLE:
  20.     BaseString::snprintf(buf, buf_len, "LCP_STATUS_IDLE");
  21.     break;
  22.   case MasterLCPConf::LCP_STATUS_ACTIVE:
  23.     BaseString::snprintf(buf, buf_len, "LCP_STATUS_ACTIVE");
  24.     break;
  25.   case MasterLCPConf::LCP_TAB_COMPLETED:
  26.     BaseString::snprintf(buf, buf_len, "LCP_TAB_COMPLETED");
  27.     break;
  28.   case MasterLCPConf::LCP_TAB_SAVED:
  29.     BaseString::snprintf(buf, buf_len, "LCP_TAB_SAVED");
  30.     break;
  31.   }
  32. }
  33. NdbOut &
  34. operator<<(NdbOut& out, const MasterLCPConf::State& s){
  35.   static char buf[255];
  36.   print(buf, sizeof(buf), s);
  37.   out << buf;
  38.   return out;
  39. }
  40. bool 
  41. printMASTER_LCP_CONF(FILE * output, 
  42.      const Uint32 * theData, 
  43.      Uint32 len, 
  44.      Uint16 recBlockNo){
  45.   
  46.   MasterLCPConf * sig = (MasterLCPConf *)&theData[0];
  47.   
  48.   static char buf[255];
  49.   print(buf, sizeof(buf), (MasterLCPConf::State)sig->lcpState);
  50.   fprintf(output, " senderNode=%d failedNode=%d SenderState=%sn",
  51.   sig->senderNodeId, sig->failedNodeId, buf);
  52.   return true;
  53. }
  54. bool 
  55. printMASTER_LCP_REQ(FILE * output, 
  56.     const Uint32 * theData, 
  57.     Uint32 len, 
  58.     Uint16 recBlockNo){
  59.   
  60.   MasterLCPReq * sig = (MasterLCPReq *)&theData[0];
  61.   
  62.   fprintf(output, " masterRef=(node=%d, block=%d), failedNode=%dn",
  63.   refToNode(sig->masterRef), refToBlock(sig->masterRef),
  64.   sig->failedNodeId);
  65.   return true;
  66. }
  67. bool 
  68. printMASTER_LCP_REF(FILE * output, 
  69.     const Uint32 * theData, 
  70.     Uint32 len, 
  71.     Uint16 recBlockNo){
  72.   
  73.   MasterLCPRef * sig = (MasterLCPRef *)&theData[0];  
  74.   fprintf(output, " senderNode=%d failedNode=%dn",
  75.   sig->senderNodeId, sig->failedNodeId);
  76.   return true;
  77. }