hce-node application
1.4.3
HCE Hierarchical Cluster Engine node application
Main Page
Namespaces
Classes
Files
File List
File Members
hce-node application
HCE project node model
Namespaces
Classes
Files
File List
sources
src
utils
algorithms
applicationFramework
asmXMLParser
base64
coreDumpChecker
DRCE
exec
HCECSM
jsonObjExtractor
kvdb
src
citrusleaf
cf_alloc.h
cf_atomic.h
cf_average.h
cf_base_types.h
cf_byte_order.h
cf_clock.h
cf_digest.h
cf_errno.h
cf_hist.h
cf_hooks.h
cf_ll.h
cf_log.h
cf_log_internal.h
cf_packet_compression.h
cf_queue.h
cf_service.h
cf_shash.h
cf_socket.h
cf_vector.h
citrusleaf-internal.h
citrusleaf.h
cl_cluster.h
cl_request.h
cl_shm.h
proto.h
Exceptions
Aerospike.cpp
Aerospike.hpp
BaseDB.hpp
DataBaseDriverConfig.cpp
DataBaseDriverConfig.hpp
Errors.hpp
FakeDB.hpp
HCETimer.hpp
LevelDB.cpp
LevelDB.hpp
ORMFunctionalObject.cpp
ORMFunctionalObject.hpp
Response.hpp
Voldemort.cpp
Voldemort.hpp
tests
messageStream
reduceAdditionCore
reduceCore
reduceDRCE
reduceHandler
reduceSphinx
refine
serializable
sphinx
types
xmlCleaner
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
cf_hooks.h
Go to the documentation of this file.
1
/*
2
* Citrusleaf Foundation
3
* include/cf_hooks.h - hooks for application defined allocation and locking
4
*
5
* Copyright 2012 by Citrusleaf. All rights reserved.
6
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE. THE COPYRIGHT NOTICE
7
* ABOVE DOES NOT EVIDENCE ANY ACTUAL OR INTENDED PUBLICATION.
8
*/
9
10
11
#pragma once
12
13
#ifdef __cplusplus
14
extern
"C"
{
15
#endif
16
17
typedef
struct
cf_mutex_hooks_s
{
18
// Allocate and initialize new lock.
19
void
*(*alloc)(void);
20
// Release all storage held in 'lock'.
21
void (*
free
)(
void
*
lock
);
22
// Acquire an already-allocated lock at 'lock'.
23
int (*
lock
)(
void
*
lock
);
24
// Release a lock at 'lock'.
25
int (*
unlock
)(
void
*
lock
);
26
}
cf_mutex_hooks
;
27
28
extern
cf_mutex_hooks
*
g_mutex_hooks
;
29
30
static
inline
void
31
cf_hook_mutex(
cf_mutex_hooks
*hooks)
32
{
33
g_mutex_hooks = hooks;
34
}
35
36
static
inline
void
*
37
cf_hooked_mutex_alloc()
38
{
39
return
g_mutex_hooks ? g_mutex_hooks->
alloc
() : 0;
40
}
41
42
static
inline
void
43
cf_hooked_mutex_free(
void
*lock)
44
{
45
if
(lock) {
46
g_mutex_hooks->
free
(lock);
47
}
48
}
49
50
static
inline
int
51
cf_hooked_mutex_lock(
void
*lock)
52
{
53
return
lock ? g_mutex_hooks->
lock
(lock) : 0;
54
}
55
56
static
inline
int
57
cf_hooked_mutex_unlock(
void
*lock)
58
{
59
return
lock ? g_mutex_hooks->
unlock
(lock) : 0;
60
}
61
62
#ifdef __cplusplus
63
}
64
#endif
65
sources
utils
kvdb
src
citrusleaf
cf_hooks.h
Generated on Tue Jun 30 2015 19:42:13 for hce-node application by
1.8.1.2