CopyGCI.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/CopyGCIReq.hpp>
  14. static
  15. void
  16. print(char * buf, size_t buf_len, CopyGCIReq::CopyReason r){
  17.   switch(r){
  18.   case CopyGCIReq::IDLE:
  19.     BaseString::snprintf(buf, buf_len, "IDLE");
  20.     break;
  21.   case CopyGCIReq::LOCAL_CHECKPOINT:
  22.     BaseString::snprintf(buf, buf_len, "LOCAL_CHECKPOINT");
  23.     break;
  24.   case CopyGCIReq::RESTART:
  25.     BaseString::snprintf(buf, buf_len, "RESTART");
  26.     break;
  27.   case CopyGCIReq::GLOBAL_CHECKPOINT:
  28.     BaseString::snprintf(buf, buf_len, "GLOBAL_CHECKPOINT");
  29.     break;
  30.   case CopyGCIReq::INITIAL_START_COMPLETED:
  31.     BaseString::snprintf(buf, buf_len, "INITIAL_START_COMPLETED");
  32.     break;
  33.   default:
  34.     BaseString::snprintf(buf, buf_len, "<Unknown>");
  35.   }
  36. }
  37. bool
  38. printCOPY_GCI_REQ(FILE * output, 
  39.   const Uint32 * theData, 
  40.   Uint32 len, 
  41.   Uint16 recBlockNo){
  42.   CopyGCIReq * sig = (CopyGCIReq*)theData;
  43.   static char buf[255];
  44.   print(buf, sizeof(buf), (CopyGCIReq::CopyReason)sig->copyReason);
  45.   fprintf(output, " SenderData: %d CopyReason: %s StartWord: %dn",
  46.   sig->anyData,
  47.   buf,
  48.   sig->startWord);
  49.   return false;
  50. }