From a1720940d28b29eb33551c80ef417b9c327358c2 Mon Sep 17 00:00:00 2001 From: David Solt Date: Thu, 11 May 2023 10:03:00 -0500 Subject: [PATCH] How to implement pmix_server_dmodex_req_fn_t when PMIX_REQUIRED_KEY set subsquent -> subsequent Make information on how to implement PMIX_REQUIRED_KEY an advice to rm implementers Signed-off-by: David Solt Co-authored-by: Aurelien Bouteiller --- Chap_API_Server.tex | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Chap_API_Server.tex b/Chap_API_Server.tex index 9ddc991d..91f0fba8 100644 --- a/Chap_API_Server.tex +++ b/Chap_API_Server.tex @@ -2411,20 +2411,24 @@ \subsection{\code{pmix_server_dmodex_req_fn_t}} %%%% \descr -Used by the \ac{PMIx} server to request its local host contact the \ac{PMIx} server on the remote node that hosts the specified proc to obtain and return any information that process posted via calls to \refapi{PMIx_Put} and \refapi{PMIx_Commit}. +Used by the \ac{PMIx} server to request its local host contact the \ac{PMIx} server on the remote node that hosts the specified proc to obtain (using \refapi{PMIx_server_dmodex_request}) and return any information that the process, \refarg{proc}, posted via calls to \refapi{PMIx_Put} and \refapi{PMIx_Commit}. The array of \refarg{info} structs is used to pass user-requested options to the server. This can include a timeout to preclude an indefinite wait for data that may never become available. The directives are optional unless the \emph{mandatory} flag has been set - in such cases, the host \ac{RM} is required to return an error if the directive cannot be met. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsubsection{Dmodex attributes} % \declareAttribute{PMIX_REQUIRED_KEY}{"pmix.req.key"}{char*}{ -Identifies a key that must be included in the requested information. If the specified key is not already available, then the \ac{PMIx} servers are required to delay response to the dmodex request until either the key becomes available or the request times out. -} +Identifies a key that must be included in the requested information. If the specified key is not already available, then the \ac{PMIx} servers are required to delay response to the dmodex request until either the key becomes available or the request times out.} +\vspace{\baselineskip} +\advicermstart +The server can test the availability of a required key by calling \refapi{PMIx_Get} on the key. Since there is no mechanism to retract a key-value that has been made available by a client through PMIx_Put, a successful \refapi{PMIx_Get} call on the key by the server is sufficient to ensure that a subsequent \refapi{PMIx_server_dmodex_request} call targeting the process will include the key. +\advicermend %%%%%%%%%%% \subsection{\code{pmix_server_publish_fn_t}}