Derecho  0.9
Distributed systems toolkit for RDMA
Public Member Functions | List of all members
sst::resources Class Reference

A public-facing version of the internal _resources class that extends it with more convenient functions. More...

#include <lf.hpp>

Inheritance diagram for sst::resources:
Inheritance graph
[legend]
Collaboration diagram for sst::resources:
Collaboration graph
[legend]

Public Member Functions

 resources (int r_id, char *write_addr, char *read_addr, int size_w, int size_r, int is_lf_server)
 Constructor: simply forwards to _resources::_resources. More...
 
void post_remote_read (const long long int size)
 Post an RDMA read at the beginning address of remote memory. More...
 
void post_remote_read (const long long int offset, const long long int size)
 Post an RDMA read at an offset into remote memory. More...
 
void post_remote_write (const long long int size)
 Post an RDMA write at the beginning address of remote memory. More...
 
void post_remote_write (const long long int offset, long long int size)
 Post an RDMA write at an offset into remote memory. More...
 
void post_remote_write_with_completion (struct lf_sender_ctxt *ctxt, const long long int size)
 
void post_remote_write_with_completion (struct lf_sender_ctxt *ctxt, const long long int offset, const long long int size)
 Post an RDMA write at an offset into remote memory. More...
 
 resources (int r_index, char *write_addr, char *read_addr, int size_w, int size_r)
 
void post_remote_read (const uint32_t id, const long long int size)
 Post an RDMA read at the beginning address of remote memory. More...
 
void post_remote_read (const uint32_t id, const long long int offset, const long long int size)
 Post an RDMA read at an offset into remote memory. More...
 
void post_remote_write (const uint32_t id, const long long int size)
 Post an RDMA write at the beginning address of remote memory. More...
 
void post_remote_write (const uint32_t id, const long long int offset, long long int size)
 Post an RDMA write at an offset into remote memory. More...
 
void post_remote_write_with_completion (const uint32_t id, const long long int size)
 
void post_remote_write_with_completion (const uint32_t id, const long long int offset, const long long int size)
 Post an RDMA write at an offset into remote memory. More...
 
- Public Member Functions inherited from sst::_resources
 _resources (int r_id, char *write_addr, char *read_addr, int size_w, int size_r, int is_lf_server)
 Constructor Initializes the resources. More...
 
virtual ~_resources ()
 Destroys the resources. More...
 
 _resources (int r_index, char *write_addr, char *read_addr, int size_w, int size_r)
 Constructor; initializes Queue Pair, Memory Regions, and remote_props. More...
 
virtual ~_resources ()
 Destroys the resources. More...
 

Additional Inherited Members

- Public Attributes inherited from sst::_resources
int remote_id
 ID of the remote node. More...
 
struct fid_ep * ep
 tx/rx completion queue More...
 
struct fid_mr * write_mr
 memory region for remote writer More...
 
struct fid_mr * read_mr
 memory region for remote writer More...
 
char * write_buf
 Pointer to the memory buffer used for local writes. More...
 
char * read_buf
 Pointer to the memory buffer used for the results of RDMA remote reads. More...
 
uint64_t mr_lrkey
 key for local read buffer More...
 
uint64_t mr_lwkey
 key for local write buffer More...
 
uint64_t mr_rwkey
 key for remote write buffer More...
 
fi_addr_t remote_fi_addr
 remote write memory address More...
 
struct fid_eq * eq
 the event queue More...
 
int remote_index
 Index of the remote node. More...
 
struct ibv_qp * qp
 Handle for the IB Verbs Queue Pair object. More...
 
struct ibv_mr * write_mr
 Memory Region handle for the write buffer. More...
 
struct ibv_mr * read_mr
 Memory Region handle for the read buffer. More...
 
struct cm_con_data_t remote_props
 Connection data values needed to connect to remote side. More...
 
- Protected Member Functions inherited from sst::_resources
int post_remote_send (struct lf_sender_ctxt *ctxt, const long long int offset, const long long int size, const int op, const bool completion)
 post read/write request More...
 
int post_remote_send (const uint32_t id, const long long int offset, const long long int size, const int op, const bool completion)
 Post a remote RDMA operation. More...
 

Detailed Description

A public-facing version of the internal _resources class that extends it with more convenient functions.

Definition at line 115 of file lf.hpp.

Constructor & Destructor Documentation

◆ resources() [1/2]

sst::resources::resources ( int  r_id,
char *  write_addr,
char *  read_addr,
int  size_w,
int  size_r,
int  is_lf_server 
)
inline

Constructor: simply forwards to _resources::_resources.

Definition at line 118 of file lf.hpp.

◆ resources() [2/2]

sst::resources::resources ( int  r_index,
char *  write_addr,
char *  read_addr,
int  size_w,
int  size_r 
)

Definition at line 356 of file verbs.cpp.

Member Function Documentation

◆ post_remote_read() [1/4]

void sst::resources::post_remote_read ( const uint32_t  id,
const long long int  size 
)

Post an RDMA read at the beginning address of remote memory.

Parameters
sizeThe number of bytes to read from remote memory.

Definition at line 363 of file verbs.cpp.

◆ post_remote_read() [2/4]

void sst::resources::post_remote_read ( const uint32_t  id,
const long long int  offset,
const long long int  size 
)

Post an RDMA read at an offset into remote memory.

Parameters
offsetThe offset, in bytes, of the remote memory buffer at which to start reading.
sizeThe number of bytes to read from remote memory.

Definition at line 374 of file verbs.cpp.

◆ post_remote_read() [3/4]

void sst::resources::post_remote_read ( const long long int  size)

Post an RDMA read at the beginning address of remote memory.

Definition at line 461 of file lf.cpp.

◆ post_remote_read() [4/4]

void sst::resources::post_remote_read ( const long long int  offset,
const long long int  size 
)

Post an RDMA read at an offset into remote memory.

Definition at line 465 of file lf.cpp.

◆ post_remote_write() [1/4]

void sst::resources::post_remote_write ( const uint32_t  id,
const long long int  size 
)

Post an RDMA write at the beginning address of remote memory.

Parameters
sizeThe number of bytes to write from the local buffer to remote memory.

Definition at line 384 of file verbs.cpp.

◆ post_remote_write() [2/4]

void sst::resources::post_remote_write ( const uint32_t  id,
const long long int  offset,
long long int  size 
)

Post an RDMA write at an offset into remote memory.

Parameters
offsetThe offset, in bytes, of the remote memory buffer at which to start writing.
sizeThe number of bytes to write from the local buffer into remote memory.

Definition at line 397 of file verbs.cpp.

◆ post_remote_write() [3/4]

void sst::resources::post_remote_write ( const long long int  size)

Post an RDMA write at the beginning address of remote memory.

Definition at line 469 of file lf.cpp.

◆ post_remote_write() [4/4]

void sst::resources::post_remote_write ( const long long int  offset,
long long int  size 
)

Post an RDMA write at an offset into remote memory.

Definition at line 473 of file lf.cpp.

◆ post_remote_write_with_completion() [1/4]

void sst::resources::post_remote_write_with_completion ( const uint32_t  id,
const long long int  size 
)

Definition at line 404 of file verbs.cpp.

◆ post_remote_write_with_completion() [2/4]

void sst::resources::post_remote_write_with_completion ( const uint32_t  id,
const long long int  offset,
const long long int  size 
)

Post an RDMA write at an offset into remote memory.

Definition at line 411 of file verbs.cpp.

◆ post_remote_write_with_completion() [3/4]

void sst::resources::post_remote_write_with_completion ( struct lf_sender_ctxt ctxt,
const long long int  size 
)

Definition at line 477 of file lf.cpp.

◆ post_remote_write_with_completion() [4/4]

void sst::resources::post_remote_write_with_completion ( struct lf_sender_ctxt ctxt,
const long long int  offset,
const long long int  size 
)

Post an RDMA write at an offset into remote memory.

Definition at line 481 of file lf.cpp.


The documentation for this class was generated from the following files: