rpma_peer_new(3)
β¨ NAME β¨
rpma_peer_new β bestie, we're making a peer object π
π¦ SYNOPSIS π¦
#include <librpma.h>
struct ibv_context;
struct rpma_peer;
int rpma_peer_new(struct ibv_context *ibv_ctx, struct rpma_peer **peer_ptr);
okay so this is the RPMA Programmer's Manual btw, the whole vibe of this page is librpma, keep that in your notes π
π DESCRIPTION π
rpma_peer_new() creates a new peer object.
That's it. That's the whole thing. It makes the peer. Main character behavior, honestly β¨
πΈ RETURN VALUE πΈ
rpma_peer_new() returns 0 on success, or a negative error code if it flops π
And hear me on this one: on failure, rpma_peer_new() does not set the *peer_ptr value. Like, it just leaves it alone. No half-finished handoffs, periodt π
π₯ ERRORS π₯
rpma_peer_new() can fail with the following errors, bestie β memorize these, they will show up on the quiz:
RPMA_E_INVALβibv_ctxorpeer_ptrisNULL. You handed it nothing. It said no πRPMA_E_NOMEMβ creating a verbs protection domain failed withENOMEM.RPMA_E_PROVIDERβ creating a verbs protection domain failed with an error other thanENOMEM.RPMA_E_UNKNOWNβ creating a verbs protection domain failed without an error value. The void. The mystery. πRPMA_E_NOMEMβ out of memory. (Yes, it's listed twice β one's about the verbs protection domain, one's just the general out-of-memory situation. Both are real, both can happen, don't @ me.)
π SEE ALSO π
rpma_conn_req_new(3)rpma_ep_listen(3)rpma_mr_reg(3)rpma_peer_delete(3)rpma_utils_get_ibv_context(3)librpma(7)- https://pmem.io/rpma/
k that's the whole page, go be iconic with it π«Ά
this has been RPMA, dated 01 April 2024, from the rpma_peer_new(3) girlies for the rpma_peer_new(3) girlies πβπ§
π¦ where this page comes from
- ubuntu noble: librpma-dev 1.3.0-2build2 Β· BSD-3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms