photon  1.1
photon_rdma_EAGER_buf.h
Go to the documentation of this file.
1 // =============================================================================
2 // Photon RDMA Library (libphoton)
3 //
4 // Copyright (c) 2016, 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_RDMA_EAGER_BUF_H
15 #define PHOTON_RDMA_EAGER_BUF_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include <stdint.h>
22 #include "photon.h"
23 #include "photon_buffer_internal.h"
24 
25 typedef struct photon_rdma_eager_buf_entry_t {
26  uint8_t *data;
28 
29 typedef struct photon_rdma_eager_buf_t {
30  uint64_t prog;
31  uint64_t curr;
32  uint64_t tail;
33  uint32_t size;
34  uint8_t *data;
35  struct photon_buffer_t remote;
36  struct photon_acct_t acct;
38 
39 typedef struct photon_rdma_eager_buf_entry_t * photonEagerBufEntry;
40 typedef struct photon_rdma_eager_buf_t * photonEagerBuf;
41 
42 PHOTON_INTERNAL photonEagerBuf photon_rdma_eager_buf_create_reuse(uint8_t *eager_buffer, int size, int prefix);
43 PHOTON_INTERNAL void photon_rdma_eager_buf_free(photonEagerBuf buf);
44 PHOTON_INTERNAL int photon_rdma_eager_buf_get_offset(int proc, photonEagerBuf buf, int size, int lim);
45 
46 #ifdef __cplusplus
47 }
48 #endif
49 
50 #endif
Convenience pointer type for the buffer structure.
Definition: photon.h:105
PHOTON_INTERNAL void photon_rdma_eager_buf_free(photonEagerBuf buf)
struct photon_rdma_eager_buf_entry_t * photonEagerBufEntry
PHOTON_INTERNAL int photon_rdma_eager_buf_get_offset(int proc, photonEagerBuf buf, int size, int lim)
uint8_t * data
#define PHOTON_INTERNAL
PHOTON_INTERNAL photonEagerBuf photon_rdma_eager_buf_create_reuse(uint8_t *eager_buffer, int size, int prefix)
Constants and macros for interacting with the library. Only this header is needed to use the Photon A...
struct photon_rdma_eager_buf_t * photonEagerBuf