summaryrefslogtreecommitdiffstats
path: root/src/H5FPprivate.h
diff options
context:
space:
mode:
authorBill Wendling <wendling@ncsa.uiuc.edu>2003-02-03 20:41:53 (GMT)
committerBill Wendling <wendling@ncsa.uiuc.edu>2003-02-03 20:41:53 (GMT)
commit9b9c71ffb6dc4e4b789cabf75a8be096f6ea53b3 (patch)
treef29cd90a8a8da471da04f44491459f9f115fc503 /src/H5FPprivate.h
parente91291e4588711a1f9c90137c85b77e5cb34dd04 (diff)
downloadhdf5-9b9c71ffb6dc4e4b789cabf75a8be096f6ea53b3.zip
hdf5-9b9c71ffb6dc4e4b789cabf75a8be096f6ea53b3.tar.gz
hdf5-9b9c71ffb6dc4e4b789cabf75a8be096f6ea53b3.tar.bz2
[svn-r6371] Purpose:
Update Description: Changes: - Added support for the server dumping metadata writes to a client. - Some of the code wasn't handling allocated buffers correctly (freeing twice). - Modified server so that it handles metadata only. Platforms tested: Linux
Diffstat (limited to 'src/H5FPprivate.h')
-rw-r--r--src/H5FPprivate.h33
1 files changed, 21 insertions, 12 deletions
diff --git a/src/H5FPprivate.h b/src/H5FPprivate.h
index 1e5c3aa..dcd79c2 100644
--- a/src/H5FPprivate.h
+++ b/src/H5FPprivate.h
@@ -136,6 +136,11 @@ typedef enum sap_status {
/* For read requests */
H5FP_STATUS_MDATA_NOT_CACHED,
+ /* For dumping data to client */
+ H5FP_STATUS_DUMPING,
+ H5FP_STATUS_DUMPING_FINISHED,
+ H5FP_STATUS_DUMPING_FAILED,
+
/* Out of memory error */
H5FP_STATUS_OOM,
@@ -156,8 +161,9 @@ typedef struct {
unsigned file_id; /* SAP's file ID for the specific file */
H5FP_obj_t obj_type; /* Type of the object */
H5FP_lock_t rw_lock; /* Indicates read or write lock */
+ H5FD_mem_t mem_type; /* Type of memory updated, if req'd */
H5AC_subid_t type_id; /* Type of metadata */
- int md_size; /* Size of the metadata sent in next msg */
+ unsigned md_size; /* Size of the metadata sent in next msg */
haddr_t addr; /* Address of the metadata */
unsigned char oid[H5R_OBJ_REF_BUF_SIZE]; /* Buffer to store OID of object */
} H5FP_request;
@@ -185,9 +191,8 @@ typedef struct {
H5FP_status_t status; /* Status of the request */
H5FD_mem_t mem_type; /* Type of memory updated, if req'd */
H5AC_subid_t type_id; /* Type of metadata */
- int md_size; /* Size of the metadata sent in next msg */
+ unsigned md_size; /* Size of the metadata sent in next msg */
haddr_t addr; /* Address of the metadata */
- hsize_t size; /* Size of memory updated, if req'd */
} H5FP_read;
extern MPI_Datatype H5FP_read_t; /* MPI datatype for the H5FP_read obj */
@@ -209,7 +214,8 @@ extern "C" {
#endif /* __cplusplus */
/* NOTE: Don't use this function explicitly!! */
-extern herr_t H5FP_send_metadata(const char *mdata, int len, int rank);
+extern herr_t H5FP_send_metadata(const char *mdata, int len, int to);
+extern herr_t H5FP_read_metadata(char **mdata, int len, int from);
/* Start the SAP */
extern herr_t H5FP_sap_receive_loop(void);
@@ -223,15 +229,18 @@ extern herr_t H5FP_request_lock(unsigned sap_file_id, unsigned char *mdata,
extern herr_t H5FP_request_release_lock(unsigned sap_file_id, unsigned char *mdata,
int last, unsigned *req_id,
H5FP_status_t *status);
-extern herr_t H5FP_request_write_metadata(unsigned sap_file_id, unsigned char *obj_oid,
- H5FP_obj_t obj_type, H5AC_subid_t type_id,
- haddr_t addr, int mdata_len, const char *mdata,
- unsigned *req_id, H5FP_status_t *status);
-extern herr_t H5FP_request_read_metadata(unsigned sap_file_id, H5FP_obj_t obj_type,
- H5AC_subid_t type_id, haddr_t addr,
- size_t size, uint8_t **buf, unsigned *req_id,
+extern herr_t H5FP_request_read_metadata(H5F_t *file, unsigned sap_file_id,
+ H5FP_obj_t obj_type, H5AC_subid_t type_id,
+ haddr_t addr, size_t size,
+ uint8_t **buf, unsigned *req_id,
H5FP_status_t *status);
-extern herr_t H5FP_request_close(unsigned sap_file_id, unsigned *req_id);
+extern herr_t H5FP_request_write_metadata(H5F_t *file, unsigned sap_file_id,
+ unsigned char *obj_oid, H5FP_obj_t obj_type,
+ H5AC_subid_t type_id, haddr_t addr,
+ int mdata_len, const char *mdata,
+ unsigned *req_id, H5FP_status_t *status);
+extern herr_t H5FP_request_close(H5F_t *file, unsigned sap_file_id, unsigned *req_id,
+ H5FP_status_t *status);
#ifdef __cplusplus
}