23 #ifndef MCA_PML_BASE_RECV_REQUEST_H
24 #define MCA_PML_BASE_RECV_REQUEST_H
26 #include "ompi_config.h"
28 #include "opal/datatype/opal_convertor.h"
29 #include "ompi/peruse/peruse-internal.h"
56 #define MCA_PML_BASE_RECV_REQUEST_INIT( \
68 OBJ_RETAIN(datatype); \
70 OMPI_REQUEST_INIT(&(request)->req_base.req_ompi, persistent); \
71 (request)->req_base.req_ompi.req_mpi_object.comm = comm; \
72 (request)->req_base.req_ompi.req_peer = src; \
73 (request)->req_base.req_ompi.req_tag = tag; \
74 (request)->req_bytes_packed = 0; \
75 (request)->req_base.req_addr = addr; \
76 (request)->req_base.req_count = count; \
77 (request)->req_base.req_peer = src; \
78 (request)->req_base.req_tag = tag; \
79 (request)->req_base.req_comm = comm; \
80 (request)->req_base.req_proc = NULL; \
81 (request)->req_base.req_sequence = 0; \
82 (request)->req_base.req_datatype = datatype; \
84 (request)->req_base.req_pml_complete = OPAL_INT_TO_BOOL(persistent); \
85 (request)->req_base.req_free_called = false; \
91 #define MCA_PML_BASE_RECV_START( request ) \
93 (request)->req_pml_complete = false; \
99 (request)->req_ompi.req_status.MPI_SOURCE = OMPI_ANY_SOURCE; \
100 (request)->req_ompi.req_status.MPI_TAG = OMPI_ANY_TAG; \
101 (request)->req_ompi.req_status.MPI_ERROR = OMPI_SUCCESS; \
102 (request)->req_ompi.req_status._ucount = 0; \
103 (request)->req_ompi.req_status._cancelled = 0; \
104 (request)->req_ompi.req_mpi_object.comm = (request)->req_comm; \
105 (request)->req_ompi.req_peer = (request)->req_peer; \
107 (request)->req_ompi.req_complete = false; \
108 (request)->req_ompi.req_state = OMPI_REQUEST_ACTIVE; \
117 #define MCA_PML_BASE_RECV_REQUEST_FINI( request ) \
119 OMPI_REQUEST_FINI(&(request)->req_base.req_ompi); \
120 OBJ_RELEASE( (request)->req_base.req_comm); \
121 OBJ_RELEASE( (request)->req_base.req_datatype ); \
122 opal_convertor_cleanup( &((request)->req_base.req_convertor) ); \
mca_pml_base_request_t req_base
base request
Definition: pml_base_recvreq.h:37
Base type for receive requests.
Definition: pml_base_recvreq.h:36
Type of request.
Definition: pml_base_request.h:57
size_t req_bytes_packed
size of message being received
Definition: pml_base_recvreq.h:38
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236