photon  1.1
photon_rndv.h
Go to the documentation of this file.
1 // =============================================================================
2 // Photon RDMA Library (libphoton)
3 //
4 // Copyright (c) 2017, Trustees of Indiana University,
5 // All rights reserved.
6 //
7 // This software may be modified and distributed under the terms of the BSD
8 // license. See the COPYING file for details.
9 //
10 // This software was created at the Indiana University Center for Research in
11 // Extreme Scale Technologies (CREST).
12 // =============================================================================
13 
14 #ifndef PHOTON_RNDV_H
15 #define PHOTON_RNDV_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
47 
49 
61 int photon_post_recv_buffer_rdma(int proc, void *ptr, uint64_t size, int tag, photon_rid *request);
62 
74 int photon_post_send_buffer_rdma(int proc, void *ptr, uint64_t size, int tag, photon_rid *request);
75 
87 int photon_post_send_request_rdma(int proc, uint64_t size, int tag, photon_rid *request);
88 
98 int photon_wait_recv_buffer_rdma(int proc, uint64_t size, int tag, photon_rid *request);
99 
109 int photon_wait_send_buffer_rdma(int proc, uint64_t size, int tag, photon_rid *request);
110 
117 int photon_wait_send_request_rdma(int tag);
118 
132 int photon_post_os_put(photon_rid request, int proc, void *ptr, uint64_t size, int tag, uint64_t r_offset);
133 
147 int photon_post_os_get(photon_rid request, int proc, void *ptr, uint64_t size, int tag, uint64_t r_offset);
148 
162 int photon_send_FIN(photon_rid request, int proc, int flags);
163 
178 int photon_post_os_put_direct(int proc, void *ptr, uint64_t size, photonBuffer rbuf, int flags, photon_rid *request);
179 
194 int photon_post_os_get_direct(int proc, void *ptr, uint64_t size, photonBuffer rbuf, int flags, photon_rid *request);
195 
203 //
219 int photon_test(photon_rid request, int *flag, int *type, photonStatus status);
220 
234 int photon_probe_ledger(int proc, int *flag, int type, photonStatus status);
235 
240 int photon_wait(photon_rid request);
241 
250 int photon_wait_any(int *ret_proc, photon_rid *ret_req);
251 
260 int photon_wait_any_ledger(int *ret_proc, photon_rid *ret_req);
261 
262 // Vectored one-sided put/get (TBD)
263 //int photon_post_os_putv_direct(int proc, void *ptr[], uint64_t size[], photonBuffer rbuf[], int nbuf,
264 // int flags, photon_rid *request);
265 //int photon_post_os_getv_direct(int proc, void *ptr[], uint64_t size[], photonBuffer rbuf[], int nbuf,
266 // int flags, photon_rid *request);
267 
268 #ifdef __cplusplus
269 }
270 #endif
271 
272 #endif
int photon_post_os_put(photon_rid request, int proc, void *ptr, uint64_t size, int tag, uint64_t r_offset)
Definition: libphoton.c:447
int photon_probe_ledger(int proc, int *flag, int type, photonStatus status)
Definition: libphoton.c:496
int photon_wait_send_request_rdma(int tag)
Definition: libphoton.c:438
uint64_t photon_rid
The Photon request ID.
Definition: photon.h:75
int photon_post_os_get_direct(int proc, void *ptr, uint64_t size, photonBuffer rbuf, int flags, photon_rid *request)
Definition: libphoton.c:466
int photon_post_recv_buffer_rdma(int proc, void *ptr, uint64_t size, int tag, photon_rid *request)
Definition: libphoton.c:409
int photon_post_send_request_rdma(int proc, uint64_t size, int tag, photon_rid *request)
Definition: libphoton.c:419
int photon_test(photon_rid request, int *flag, int *type, photonStatus status)
Definition: libphoton.c:399
int photon_send_FIN(photon_rid request, int proc, int flags)
Definition: libphoton.c:471
int photon_wait_send_buffer_rdma(int proc, uint64_t size, int tag, photon_rid *request)
Definition: libphoton.c:429
int photon_wait(photon_rid request)
Definition: libphoton.c:404
int photon_post_send_buffer_rdma(int proc, void *ptr, uint64_t size, int tag, photon_rid *request)
Definition: libphoton.c:414
int photon_wait_recv_buffer_rdma(int proc, uint64_t size, int tag, photon_rid *request)
Definition: libphoton.c:424
int photon_post_os_get(photon_rid request, int proc, void *ptr, uint64_t size, int tag, uint64_t r_offset)
Definition: libphoton.c:456
int photon_wait_any(int *ret_proc, photon_rid *ret_req)
Definition: libphoton.c:476
int photon_wait_any_ledger(int *ret_proc, photon_rid *ret_req)
Definition: libphoton.c:487
int photon_post_os_put_direct(int proc, void *ptr, uint64_t size, photonBuffer rbuf, int flags, photon_rid *request)
Definition: libphoton.c:461