21.2.129. PMIx_Info_relayed

PMIx_Info_relayed — Mark a pmix_info_t(5) as an identity being relayed for the process that made a request.

21.2.129.1. SYNOPSIS

#include <pmix.h>

void PMIx_Info_relayed(pmix_info_t *p);

21.2.129.1.1. Python Syntax

No Python equivalent

21.2.129.2. INPUT PARAMETERS

21.2.129.3. DESCRIPTION

The PMIx_Info_relayed function sets the PMIX_INFO_RELAYED directive bit in the info structure’s flags field.

It is meant for a PMIX_USERID or PMIX_GRPID that a PMIx server is passing on for someone else. When a server’s host relays a request - forwarding what one of its own clients or tools asked for to another server - the PMIX_USERID and PMIX_GRPID it was handed are those of the process that made the request. The server where that request entered set them from what it authenticated. The host marks them as relayed when it passes them on. The receiving server keeps them, still marked, rather than replacing them with the relaying process’s own identity - so the operation is attributed to the process that asked for it.

The mark is honored only when a PMIx server library sends it: any other process’s library clears it, so a process that is not a server speaks only for itself. It has no meaning on any other attribute.

Whether an info is marked as relayed can be tested with PMIx_Info_is_relayed(3).

21.2.129.4. RETURN VALUE

PMIx_Info_relayed returns no value (void).

21.2.129.5. NOTES

A server that does not know the mark - one from an older release - replaces the values as usual, so the relayed request is attributed to the relaying process. The PMIX_CAP_INFO_RELAYED capability flag says the library supports it.