source: XIOS/dev/branch_openmp/extern/ep_dev/ep_request.hpp @ 1503

Last change on this file since 1503 was 1503, checked in by yushan, 6 years ago

rank_map is passed from vector to map, in order to have more flexibility in comm_split

File size: 815 bytes
Line 
1#ifndef EP_REQUEST_HPP_INCLUDED
2#define EP_REQUEST_HPP_INCLUDED
3
4#include "ep_comm.hpp"
5
6namespace ep_lib
7{
8 
9  class ep_request
10  {
11    public:
12
13      void* mpi_request;
14
15      int type; //! type of the non-blocking communication.
16                // 1: Isend or Issend
17                // 2: Irecv
18                // 3: Imrecv
19               
20      int state; // 0: new
21                 // 1: imrecvd
22                 // 2: tested or waited
23                   
24      void* buf;
25
26      int ep_src;
27      int ep_tag;
28      void* ep_datatype;
29     
30     
31
32      ep_comm *comm;    //! EP communicator related to the communication
33
34      ep_request() {}
35      ep_request(void* request);
36      bool operator == (ep_request right);
37  };
38 
39  typedef ep_request* MPI_Request;
40
41
42}
43
44
45
46#endif // EP_REQUEST_HPP_INCLUDED
47
Note: See TracBrowser for help on using the repository browser.