hpx/parcelport_libfabric/rma_memory_region.hpp

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace parcelset
struct rma_memory_base

Public Functions

rma_memory_base()
template<typename RegionProvider>
struct rma_memory_region

Public Types

enum [anonymous]

Values:

BLOCK_USER = 1
BLOCK_TEMP = 2
BLOCK_PARTIAL = 4
typedef RegionProvider::provider_domain provider_domain
typedef RegionProvider::provider_region provider_region

Public Functions

rma_memory_region()
rma_memory_region(provider_region *region, char *address, char *base_address, uint64_t size, uint32_t flags)
rma_memory_region(provider_domain *pd, const void *buffer, const uint64_t length)
int allocate(provider_domain *pd, uint64_t length)
~rma_memory_region()
int release(void)
char *get_address(void) const
char *get_base_address(void) const
uint64_t get_size(void) const
void *get_desc(void) const
uint64_t get_remote_key(void) const
void set_message_length(uint32_t length)
uint32_t get_message_length(void) const
struct fid_mr *get_region()
void set_user_region()
bool get_user_region() const
void set_temp_region()
bool get_temp_region() const
void set_partial_region()
bool get_partial_region() const

Private Members

provider_region *region_
char *address_
char *base_addr_
uint64_t size_
uint64_t used_space_
uint32_t flags_

Friends

std::ostream &operator<<(std::ostream &os, rma_memory_region const &region)