summaryrefslogtreecommitdiffstats
path: root/src/H5Plapl.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2014-02-13 13:24:08 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2014-02-13 13:24:08 (GMT)
commit42b0ab873a14fdc1e70b792da2860b19c64b36da (patch)
tree1c01362b43dd7b5beaaaca33f12d45f50bed6b16 /src/H5Plapl.c
parentd70c5343bd8dd7a980de5784a1ecfa62501bc9c7 (diff)
downloadhdf5-42b0ab873a14fdc1e70b792da2860b19c64b36da.zip
hdf5-42b0ab873a14fdc1e70b792da2860b19c64b36da.tar.gz
hdf5-42b0ab873a14fdc1e70b792da2860b19c64b36da.tar.bz2
[svn-r24702] Add prefetch/evict routines.
- Mostly placeholders since IOD does not support much of it yet Other fixes.
Diffstat (limited to 'src/H5Plapl.c')
-rw-r--r--src/H5Plapl.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/H5Plapl.c b/src/H5Plapl.c
index aa02546..3173f17 100644
--- a/src/H5Plapl.c
+++ b/src/H5Plapl.c
@@ -38,13 +38,21 @@
#include "H5Lprivate.h" /* Links */
#include "H5MMprivate.h" /* Memory management */
#include "H5Ppkg.h" /* Property lists */
-
+#include "H5VLiod.h" /* IOD plugin */
/****************/
/* Local Macros */
/****************/
/* ======== Link access properties ======== */
+#ifdef H5_HAVE_EFF
+/* replica ID to use when accessing an object at IOD */
+#define H5O_ACS_REPLICA_ID_SIZE sizeof(hrpl_t)
+#define H5O_ACS_REPLICA_ID_DEF 0
+#define H5O_ACS_REPLICA_ID_ENC H5P__encode_uint64_t
+#define H5O_ACS_REPLICA_ID_DEC H5P__decode_uint64_t
+#endif
+
/* Definitions for number of soft links to traverse */
#define H5L_ACS_NLINKS_SIZE sizeof(size_t)
#define H5L_ACS_NLINKS_DEF H5L_NUM_LINKS /*max symlinks to follow per lookup */
@@ -151,7 +159,9 @@ static const char *H5L_def_elink_prefix_g = H5L_ACS_ELINK_PREFIX_DEF; /* Default
static const hid_t H5L_def_fapl_id_g = H5L_ACS_ELINK_FAPL_DEF; /* Default fapl for external link access */
static const unsigned H5L_def_elink_flags_g = H5L_ACS_ELINK_FLAGS_DEF; /* Default file access flags for external link traversal */
static const H5L_elink_cb_t H5L_def_elink_cb_g = H5L_ACS_ELINK_CB_DEF; /* Default external link traversal callback */
-
+#ifdef H5_HAVE_EFF
+static const hrpl_t H5O_replica_id_g = H5O_ACS_REPLICA_ID_DEF; /* Default replica ID */
+#endif
/*-------------------------------------------------------------------------
@@ -177,6 +187,14 @@ H5P_lacc_reg_prop(H5P_genclass_t *pclass)
FUNC_ENTER_NOAPI_NOINIT
+#ifdef H5_HAVE_EFF
+ if(H5P_register_real(pclass, H5O_ACS_REPLICA_ID_NAME, H5O_ACS_REPLICA_ID_SIZE,
+ &H5O_replica_id_g,
+ NULL, NULL, NULL, H5O_ACS_REPLICA_ID_ENC, H5O_ACS_REPLICA_ID_DEC,
+ NULL, NULL, NULL, NULL) < 0)
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class")
+#endif
+
/* Register property for number of links traversed */
if(H5P_register_real(pclass, H5L_ACS_NLINKS_NAME, H5L_ACS_NLINKS_SIZE, &H5L_def_nlinks_g,
NULL, NULL, NULL, H5L_ACS_NLINKS_ENC, H5L_ACS_NLINKS_DEC,