OpenMAMA
ft.h
Go to the documentation of this file.
1 /* $Id$
2  *
3  * OpenMAMA: The open middleware agnostic messaging API
4  * Copyright (C) 2011 NYSE Technologies, Inc.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19  * 02110-1301 USA
20  */
21 
22 #ifndef MamaFtH__
23 #define MamaFtH__
24 
25 #include <mama/mama.h>
26 
27 #if defined(__cplusplus)
28 extern "C" {
29 #endif
30 
31 typedef enum mamaFtState_
32 {
36 } mamaFtState;
37 
38 typedef enum mamaFtType_
39 {
43 } mamaFtType;
44 
45 typedef void* mamaFtMember;
46 
47 
51 typedef void (
52 MAMACALLTYPE
53 *mamaFtMemberOnFtStateChangeCb) (mamaFtMember ftMember,
54  const char* groupName,
56  void* closure);
57 
63 MAMAExpDLL
64 extern mama_status
66  mamaFtMember* member);
67 
73 MAMAExpDLL
74 extern mama_status
76  mamaFtMember member,
77  mamaFtType fttype,
78  mamaQueue eventQueue,
79  mamaFtMemberOnFtStateChangeCb callback,
80  mamaTransport transport,
81  const char* groupName,
82  mama_u32_t weight,
83  mama_f64_t heartbeatInterval,
84  mama_f64_t timeoutInterval,
85  void* closure);
86 
90 MAMAExpDLL
91 extern mama_status
93  mamaFtMember member);
94 
98 MAMAExpDLL
99 extern mama_status
101  mamaFtMember member);
102 
106 MAMAExpDLL
107 extern mama_status
109  mamaFtMember member);
110 
116 MAMAExpDLL
117 extern mama_status
119  const mamaFtMember member,
120  int* result);
121 
125 MAMAExpDLL
126 extern mama_status
128  const mamaFtMember member,
129  const char** result);
130 
134 MAMAExpDLL
135 extern mama_status
137  const mamaFtMember member,
138  mama_u32_t* result);
139 
143 MAMAExpDLL
144 extern mama_status
146  const mamaFtMember member,
147  mama_f64_t* result);
148 
152 MAMAExpDLL
153 extern mama_status
155  const mamaFtMember member,
156  mama_f64_t* result);
157 
161 MAMAExpDLL
162 extern mama_status
164  const mamaFtMember member,
165  mama_u32_t* result);
166 
171 MAMAExpDLL
172 extern mama_status
174  const mamaFtMember member,
175  void** result);
176 
182 MAMAExpDLL
183 extern mama_status
185  mamaFtMember member,
186  mama_u32_t value);
187 
200 MAMAExpDLL
201 extern mama_status
203  mamaFtMember member,
204  const char* id);
205 
211 MAMAExpDLL
212 extern const char*
214 
215 
216 #if defined(__cplusplus)
217 }
218 #endif
219 
220 #endif /* MamaFtH __ */
const char * groupName
Definition: ft.h:54
MAMAExpDLL mama_status mamaFtMember_create(mamaFtMember *member)
Allocate a MAMA fault tolerance group member.
void * mamaFtMember
Definition: ft.h:45
mamaFtType_
Definition: ft.h:38
enum mamaFtState_ mamaFtState
MAMAExpDLL mama_status mamaFtMember_setup(mamaFtMember member, mamaFtType fttype, mamaQueue eventQueue, mamaFtMemberOnFtStateChangeCb callback, mamaTransport transport, const char *groupName, mama_u32_t weight, mama_f64_t heartbeatInterval, mama_f64_t timeoutInterval, void *closure)
Set up a MAMA fault tolerance group member.
const char mamaFtState void * closure
Definition: ft.h:54
Definition: ft.h:40
mamaFtState_
Definition: ft.h:31
MAMAExpDLL mama_status mamaFtMember_getHeartbeatInterval(const mamaFtMember member, mama_f64_t *result)
Get the fault tolerance heartbeat interval of the MAMA FT member.
Definition: ft.h:35
const char mamaFtState state
Definition: ft.h:54
MAMAExpDLL mama_status mamaFtMember_getWeight(const mamaFtMember member, mama_u32_t *result)
Get the fault tolerance weight of the MAMA FT member.
MAMAExpDLL mama_status mamaFtMember_isActive(const mamaFtMember member, int *result)
Get whether the MAMA fault tolerance member is actively running (not related to its state)...
MAMAExpDLL mama_status mamaFtMember_getGroupName(const mamaFtMember member, const char **result)
Get the group name to which this MAMA FT member belongs.
Definition: ft.h:33
struct mamaQueueImpl_ * mamaQueue
Definition: types.h:107
Definition: ft.h:41
MAMAExpDLL mama_status mamaFtMember_setInstanceId(mamaFtMember member, const char *id)
Set the instance ID of the MAMA FT member.
mamaSymbolListMember member
Definition: symbollist.h:66
MAMAExpDLL mama_status mamaFtMember_destroy(mamaFtMember member)
Create a MAMA fault tolerance group member.
MAMAExpDLL mama_status mamaFtMember_deactivate(mamaFtMember member)
Deactivate the MAMA fault tolerance group member.
MAMAExpDLL mama_status mamaFtMember_activate(mamaFtMember member)
Activate the MAMA fault tolerance group member.
double mama_f64_t
Definition: types.h:44
MAMAExpDLL mama_status mamaFtMember_getClosure(const mamaFtMember member, void **result)
Get the closure argument (provided in the mamaFtMember_create() function) of the MAMA FT member...
MAMAExpDLL mama_status mamaFtMember_getTimeoutInterval(const mamaFtMember member, mama_f64_t *result)
Get the fault tolerance timeout interval of the MAMA FT member.
Definition: ft.h:34
mama_status
Definition: status.h:37
MAMAExpDLL const char * mamaFtStateToString(mamaFtState state)
Convert a fault tolerant state to a string.
uint32_t mama_u32_t
Definition: types.h:39
MAMAExpDLL mama_status mamaFtMember_setWeight(mamaFtMember member, mama_u32_t value)
Set the fault tolerance weight of the MAMA FT member.
typedef void(MAMACALLTYPE *mamaFtMemberOnFtStateChangeCb)(mamaFtMember ftMember
Callback function type for MAMA fault tolerance events.
MAMAExpDLL mama_status mamaFtMember_getHeartbeatTick(const mamaFtMember member, mama_u32_t *result)
Get the current heartbeat tick of the MAMA FT member.
struct mamaTransportImpl_ * mamaTransport
Definition: types.h:98
Definition: ft.h:42
enum mamaFtType_ mamaFtType


© 2012 Linux Foundation