pmix_get man page

PMIx_Get[_nb] — Retrieve data that was pushed into the PMIx key-value store via calls to PMIx_Put and PMIx_Commit.


#include <pmix.h>

pmix\_status\_t PMIx\_Get(const pmix\_proc\_t *proc, const char key[],
                       const pmix\_info\_t info[], size_t ninfo,
                       pmix\_value\_t **val);

pmix\_status\_t PMIx_Get_nb(const pmix\_proc\_t *proc, const char key[],
                          const pmix\_info\_t info[], size_t ninfo,
                          pmix\_value\_cbfunc_t cbfunc, void *cbdata);


proc : A pointer to a pmix_proc_t structure identifying the namespace and rank of the proc whose data is being requested. Note that a NULL value is permitted if the specified key is unique within the PMIx key-value store. This is provided for use by the backward compatibility APIs and is not recommended for use by native PMIx applications.

key : String key identifying the information. This can be either one of the PMIx defined attributes, or a user-defined value

info : An optional array of pmix_info_t structures

ninfo : The number of pmix_info_t structures in the specified info array.

val : Address where the pointer to a pmix_value_t structure containing the data to be returned can be placed. Note that the caller is responsible for releasing the malloc'd storage. The PMIX_VALUE_FREE macro is provided for this purpose.


Retrieve information for the specified key as published by the process identified in the given pmix_proc_t, returning a pointer to the value in the given address.

The blocking form of this function will block until the specified data has been pushed into the PMIx key-value store via a call to PMIx_Commit by the specified process. The caller is responsible for freeing all memory associated with the returned value when no longer required.

The non-blocking form will execute the callback function once the specified data becomes available and has been retrieved by the local server. Note that failure of the specified process to put and commit the requested data can result in the callback function never being executed.

The info array is used to pass user requests regarding the get operation. This can include:

PMIX_TIMEOUT - maximum time for the get to execute before declaring an error. The timeout parameter can help avoid "hangs" due to programming errors that prevent the target proc from ever exposing its data.

Return Value

Returns PMIX_SUCCESS on success. On error, a negative value corresponding to a PMIx errno is returned.


PMIx errno values are defined in pmix_common.h.


See '_pmix_common.h' for definition of the pmix_value_t structure.

See Also

PMIx_Put(3), PMIx_Commit(3), PMIx_Constants(7), PMIx_Structures(7)