rpma_conn_req_recv(3)

πŸ“¦
version 1.3.0 Β· 3 versions
, in ubuntu noble

rpma_conn_req_recv πŸ’–

okay bestie, welcome to the RPMA Programmer's Manual ✨ this one's called rpma_conn_req_recv, and it's about kicking off the receive operation. she's the pre-connection glow-up version of rpma_recv, iykyk. let's get into it 🫢


✨ NAME ✨

rpma_conn_req_recv β€” initiate the receive operation πŸ“₯


🌸 SYNOPSIS 🌸

#include <librpma.h>

struct rpma_conn_req;
struct rpma_mr_local;
int rpma_conn_req_recv(struct rpma_conn_req *req, struct rpma_mr_local *dst, size_t offset,
                size_t len, const void *op_context);

πŸ’… DESCRIPTION πŸ’…

so rpma_conn_req_recv() initiates the receive operation. what it does is prep a buffer for a message that's getting sent from the other side of the connection β€” go peek at rpma_send(3) if you wanna see the sendy side of this situationship πŸ¦‹

now here's the tea: this is a variant of rpma_recv(3), and the whole point of her main character energy is that she may be used before the connection is established. iconic behaviour, honestly πŸ‘‘

and op_context? it comes back to you in the wr_id field of the completion (that's the struct ibv_wc), so you'll know which op just wrapped up. no cap 🌈


⭐ RETURN VALUE ⭐

rpma_conn_req_recv() returns 0 on success, or a negative error code on failure. simple as that πŸ’€


πŸŽ€ ERRORS πŸŽ€

she can fail with these, bestie, so keep an eye out:

  • RPMA_E_INVAL β€” req or src or op_context is NULL
  • RPMA_E_PROVIDER β€” ibv_post_recv(3) failed
fr fr, if you're passing NULLs around you're gonna have a bad time πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹


and that's the whole page, bestie, you ate it πŸ’…βœ¨ this was brought to you by RPMA, dated 01 April 2024, filed under rpma_conn_req_recv(3) β€” mwah, go forth and receive πŸ«ΆπŸ’–πŸŒΈ

πŸ“¦ where this page comes from