MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ReadNodesConf.hpp
1 /*
2  Copyright (C) 2003-2006, 2008 MySQL AB, 2008 Sun Microsystems, Inc.
3  All rights reserved. Use is subject to license terms.
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; version 2 of the License.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18 
19 #ifndef READ_NODESCONF_HPP
20 #define READ_NODESCONF_HPP
21 
22 #include <NodeBitmask.hpp>
23 
34  friend class Qmgr;
35 
39  friend class Ndbcntr;
40 
44  friend class Dbdih;
45  friend class Dbdict;
46  friend class Dblqh;
47  friend class Dbtc;
48  friend class Trix;
49  friend class Backup;
50  friend class Suma;
51  friend class LocalProxy;
52  friend class Dbinfo;
53  friend class Dbspj;
54 
55  friend bool printREAD_NODES_CONF(FILE*, const Uint32 *, Uint32, Uint16);
56 public:
57  STATIC_CONST( SignalLength = 3 + 5*NdbNodeBitmask::Size );
58 private:
59 
60  Uint32 noOfNodes;
61  Uint32 ndynamicId;
62 
67  Uint32 masterNodeId;
68 
72  union {
73  Uint32 allNodes[NdbNodeBitmask::Size];
74  Uint32 definedNodes[NdbNodeBitmask::Size];
75  };
76 
82  Uint32 inactiveNodes[NdbNodeBitmask::Size];
83 
84  Uint32 clusterNodes[NdbNodeBitmask::Size]; // From Qmgr
85  Uint32 startingNodes[NdbNodeBitmask::Size]; // From Cntr
86  Uint32 startedNodes[NdbNodeBitmask::Size]; // From Cntr
87 };
88 
89 #endif