OpenMPI  0.1.1
pml_base_sendreq.h File Reference
#include "ompi_config.h"
#include "ompi/mca/pml/pml.h"
#include "ompi/mca/pml/base/pml_base_request.h"
#include "opal/datatype/opal_convertor.h"
#include "ompi/peruse/peruse-internal.h"

Go to the source code of this file.

Data Structures

struct  mca_pml_base_send_request_t
 Base type for send requests. More...
 

Macros

#define MCA_PML_BASE_SEND_REQUEST_INIT(request,addr,count,datatype,peer,tag,comm,mode,persistent,convertor_flags)
 Initialize a send request with call parameters. More...
 
#define MCA_PML_BASE_SEND_START(request)
 Mark the request as started from the PML base point of view. More...
 
#define MCA_PML_BASE_SEND_REQUEST_FINI(request)
 Release the ref counts on the communicator and datatype. More...
 

Typedefs

typedef struct
mca_pml_base_send_request_t 
mca_pml_base_send_request_t
 

Functions

OMPI_DECLSPEC OBJ_CLASS_DECLARATION (mca_pml_base_send_request_t)
 

Macro Definition Documentation

#define MCA_PML_BASE_SEND_REQUEST_FINI (   request)
Value:
do { \
OMPI_REQUEST_FINI(&(request)->req_base.req_ompi); \
OBJ_RELEASE((request)->req_base.req_comm); \
if( 0 != (request)->req_base.req_count ) \
OBJ_RELEASE((request)->req_base.req_datatype); \
opal_convertor_cleanup( &((request)->req_base.req_convertor) ); \
} while (0)
#define OBJ_RELEASE(object)
Release an object (by decrementing its reference count).
Definition: opal_object.h:324
#define OMPI_REQUEST_FINI(request)
Finalize a request.
Definition: request.h:169
Definition: evdns.c:158

Release the ref counts on the communicator and datatype.

Parameters
request(IN) The send request.
#define MCA_PML_BASE_SEND_REQUEST_INIT (   request,
  addr,
  count,
  datatype,
  peer,
  tag,
  comm,
  mode,
  persistent,
  convertor_flags 
)

Initialize a send request with call parameters.

Parameters
request(IN) Send request
addr(IN) User buffer
count(IN) Number of elements of indicated datatype.
datatype(IN) User defined datatype
peer(IN) Destination rank
tag(IN) User defined tag
comm(IN) Communicator
mode(IN) Send mode (STANDARD,BUFFERED,SYNCHRONOUS,READY)
persistent(IN) Is request persistent.
convertor_flags(IN) Flags to pass to convertor

Perform a any one-time initialization. Note that per-use initialization is done in the send request start routine.

#define MCA_PML_BASE_SEND_START (   request)
Value:
do { \
(request)->req_pml_complete = false; \
(request)->req_ompi.req_complete = false; \
(request)->req_ompi.req_state = OMPI_REQUEST_ACTIVE; \
(request)->req_ompi.req_status._cancelled = 0; \
(request)->req_ompi.req_status.MPI_ERROR = OMPI_SUCCESS; \
(request)->req_ompi.req_mpi_object.comm = (request)->req_comm; \
(request)->req_ompi.req_peer = (request)->req_peer; \
} while (0)
Definition: evdns.c:158

Mark the request as started from the PML base point of view.

Parameters
request(IN) The send request.

Referenced by mca_pml_bfo_send_request_restart().