MySQL 5.6.14 Source Code Document
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
NodePing.hpp
1
/*
2
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; version 2 of the License.
7
8
This program is distributed in the hope that it will be useful,
9
but WITHOUT ANY WARRANTY; without even the implied warranty of
10
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
GNU General Public License for more details.
12
13
You should have received a copy of the GNU General Public License
14
along with this program; if not, write to the Free Software
15
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16
*/
17
18
#ifndef NODEPING_HPP
19
#define NODEPING_HPP
20
21
#include "SignalData.hpp"
22
23
24
/*
25
* NodePingReq/Conf is sent between QMGR nodes to help determine the
26
* available connectivity in a cluster experiencing heartbeat problems
27
*
28
* When a node detects that it has not received a heartbeat from a
29
* connected node for the heartbeat period, it initiates a global
30
* connectivity check protocol by sending a NODE_PING_REQ signal to all
31
* nodes considered to be running.
32
*
33
* On receiving this signal, a node will respond with NODE_PING_CONF to
34
* the sender, and begin its own connectivity check, if it is not
35
* already involved in one.
36
*
37
* In this way, all nodes reachable within some latency n will begin
38
* a connectivity check. If they do not receive a NODE_PING_CONF from a
39
* peer node within some further latency m, then they consider it to
40
* be suspect, and after a further latency p they consider it failed.
41
*
42
* In environments where latency between nodes fluctuates, but
43
* connectivity is maintained (for example where TCP connections observe
44
* latency due to underlying IP re-routing/failover), the connectivity
45
* check allows nodes to arm themselves in preparation for the potential
46
* race of FAIL_REP signals that can arise in these situations, by marking
47
* connections experiencing latency as SUSPECT. Once a node is marked as
48
* SUSPECT, FAIL_REP signals originating from it may not be trusted or
49
* acted upon.
50
*/
51
52
class
NodePingReq
{
56
friend
class
Qmgr
;
57
public
:
58
STATIC_CONST( SignalLength = 2 );
59
60
Uint32 senderData;
61
Uint32 senderRef;
62
};
63
64
class
NodePingConf
{
68
friend
class
Qmgr
;
69
public
:
70
STATIC_CONST( SignalLength = 2 );
71
72
Uint32 senderData;
73
Uint32 senderRef;
74
};
75
76
#endif
storage
ndb
include
kernel
signaldata
NodePing.hpp
Generated on Sat Nov 9 2013 01:26:56 for MySQL 5.6.14 Source Code Document by
1.8.1.2