Yet Another eXchange Tool 0.11.3
Loading...
Searching...
No Matches
xt_request_msgs_ebuf.h File Reference

functions to create collection of request handles augmented with user-defined buffer More...

#include <mpi.h>
#include <xt/xt_request.h>
#include <xt/xt_config.h>
Include dependency graph for xt_request_msgs_ebuf.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef void(* Xt_fill_ebuf_requests) (Xt_request requests_msgs, MPI_Request *requests, void *ebuf, void *data, MPI_Comm comm)
 
typedef void(* Xt_request_msgs_ebuf_finalizer) (Xt_request request_msgs, void *ebuf)
 

Functions

Xt_request xt_request_msgs_ebuf_new (int n_requests, size_t extra_buf_size, Xt_fill_ebuf_requests init, void *data, Xt_request_msgs_ebuf_finalizer finalize, MPI_Comm comm)
 
Xt_request xt_request_msgs_ebuf_custom_new (int n_requests, size_t extra_buf_size, Xt_fill_ebuf_requests init, void *data, Xt_request_msgs_ebuf_finalizer finalize, MPI_Comm comm, Xt_config config)
 

Detailed Description

functions to create collection of request handles augmented with user-defined buffer

Author
Jörg Behrens behre.nosp@m.ns@d.nosp@m.krz.d.nosp@m.e Moritz Hanke hanke.nosp@m.@dkr.nosp@m.z.de Thomas Jahns jahns.nosp@m.@dkr.nosp@m.z.de

Definition in file xt_request_msgs_ebuf.h.

Typedef Documentation

◆ Xt_fill_ebuf_requests

typedef void(* Xt_fill_ebuf_requests) (Xt_request requests_msgs, MPI_Request *requests, void *ebuf, void *data, MPI_Comm comm)

function called after the xt_request_msgs_ebuf object has been created to actually create the requests

Parameters
requests_msgshandle of requests just created
requestspoints to requests array which must be initialized in this function
ebufpoints to memory of extra_buf_size chars, aligned like a data pointer
datapasses on the paramter of the same name to xt_request_msgs_ebuf_new
commMPI communicator to use for error reporting

Definition at line 69 of file xt_request_msgs_ebuf.h.

◆ Xt_request_msgs_ebuf_finalizer

typedef void(* Xt_request_msgs_ebuf_finalizer) (Xt_request request_msgs, void *ebuf)

signature of function to be called after all requests of the xt_request_msgs_ebuf object have finished

Definition at line 79 of file xt_request_msgs_ebuf.h.

Function Documentation

◆ xt_request_msgs_ebuf_custom_new()

Xt_request xt_request_msgs_ebuf_custom_new ( int n_requests,
size_t extra_buf_size,
Xt_fill_ebuf_requests init,
void * data,
Xt_request_msgs_ebuf_finalizer finalize,
MPI_Comm comm,
Xt_config config )

customizable constructor for message request handle

Parameters
[in]n_requestsnumber of entries in requests array
[in]extra_buf_sizeamount of extra bytes to allocate and make available to init
[in]initfunction to call before returning which will then initialize the requests array completely and the extra buffer as needed
[in]datapointer to caller-defined additional information needed by and passed to init
[in]finalizepointer to function to call when deleting the request handle object (because all requests are finished)
[in]commMPI communicator
[in]configconfiguration object handle
Returns
request handle associated with extra buffer

Definition at line 153 of file xt_request_msgs_ebuf.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ xt_request_msgs_ebuf_new()

Xt_request xt_request_msgs_ebuf_new ( int n_requests,
size_t extra_buf_size,
Xt_fill_ebuf_requests init,
void * data,
Xt_request_msgs_ebuf_finalizer finalize,
MPI_Comm comm )

constructor for message request handle associated with extra buffer

Parameters
[in]n_requestsnumber of requests needed
[in]extra_buf_sizeamount of extra bytes to allocate and make available to init
[in]initfunction to call before returning which will then initialize the requests array completely and the extra buffer as needed
[in]datapointer to caller-defined additional information needed by and passed to init
[in]finalizepointer to function to call when deleting the request handle object (because all requests are finished)
[in]commMPI communicator
Returns
request handle associated with extra buffer

Definition at line 142 of file xt_request_msgs_ebuf.c.

Here is the call graph for this function: