This source file includes following definitions.
- mca_btl_ofi_endpoint_construct
- mca_btl_ofi_endpoint_destruct
- mca_btl_ofi_endpoint_create
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include "btl_ofi.h"
15 #include "btl_ofi_endpoint.h"
16 #include "opal/util/proc.h"
17
18 static void mca_btl_ofi_endpoint_construct (mca_btl_ofi_endpoint_t *endpoint)
19 {
20 endpoint->peer_addr = 0;
21 OBJ_CONSTRUCT(&endpoint->ep_lock, opal_mutex_t);
22 }
23
24 static void mca_btl_ofi_endpoint_destruct (mca_btl_ofi_endpoint_t *endpoint)
25 {
26 endpoint->peer_addr = 0;
27
28
29 endpoint->ofi_endpoint = NULL;
30
31 OBJ_DESTRUCT(&endpoint->ep_lock);
32 }
33
34 OBJ_CLASS_INSTANCE(mca_btl_ofi_endpoint_t, opal_list_item_t,
35 mca_btl_ofi_endpoint_construct,
36 mca_btl_ofi_endpoint_destruct);
37
38 mca_btl_base_endpoint_t *mca_btl_ofi_endpoint_create (opal_proc_t *proc, struct fid_ep *ep)
39 {
40 mca_btl_ofi_endpoint_t *endpoint = OBJ_NEW(mca_btl_ofi_endpoint_t);
41
42 if (OPAL_UNLIKELY(NULL == endpoint)) {
43 return NULL;
44 }
45
46 endpoint->ep_proc = proc;
47 endpoint->ofi_endpoint = ep;
48
49 return (mca_btl_base_endpoint_t *) endpoint;
50 }