From 41044806c7f90351b0ba323319cf7797fa657848 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Wed, 6 Jan 2021 07:18:57 -0800 Subject: [PATCH 01/16] Remove stale language The event handler registration ordering is based on event handler names, not event handler reference IDs Signed-off-by: Ralph Castain (cherry picked from commit ce9461c040beb7e0a770d924f98c24ba107f4c75) --- Chap_API_Event.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Chap_API_Event.tex b/Chap_API_Event.tex index 209ac8b6..a574c7a3 100644 --- a/Chap_API_Event.tex +++ b/Chap_API_Event.tex @@ -43,7 +43,7 @@ \section{Notification and Management} % \end{itemize} -Users can specify the callback order of a handler within its category at the time of registration. Ordering can be specified either by providing the relevant returned event handler registration ID or using event handler names, if the user specified an event handler name when registering the corresponding event. Thus, users can specify that a given handler be executed before or after another handler should both handlers appear in an event chain (the ordering is ignored if the other handler isn't included). Note that ordering does not imply immediate relationships. For example, multiple handlers registered to be serviced after event handler \textit{A} will all be executed after \textit{A}, but are not guaranteed to be executed in any particular order amongst themselves. +Users can specify the callback order of a handler within its category at the time of registration. Ordering can be specified by providing the relevant event handler names, if the user specified an event handler name when registering the corresponding event. Thus, users can specify that a given handler be executed before or after another handler should both handlers appear in an event chain (the ordering is ignored if the other handler isn't included). Note that ordering does not imply immediate relationships. For example, multiple handlers registered to be serviced after event handler \textit{A} will all be executed after \textit{A}, but are not guaranteed to be executed in any particular order amongst themselves. In addition, one event handler can be declared as the \textit{first} handler to be executed in the chain. This handler will \textit{always} be called prior to any other handler, regardless of category, provided the incoming event matches both the specified range and event code. Only one handler can be so designated --- attempts to designate additional handlers as \textit{first} will return an error. Deregistration of the declared \textit{first} handler will re-open the position for subsequent assignment. From 774b01ed0f8204a1357597f302726cda61dc877a Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Sat, 30 Jan 2021 11:07:01 -0800 Subject: [PATCH 02/16] Add two missing data management functions While we provided macros for these purposes, it turns out that the logic in implementing those macros is somewhat more complex that originally realized and better suited to an actual function call. This RFC adds to functions to the Data Management chapter: - PMIx_Data_load transfers a data "blob" from a pmix_byte_object_t structure to a pmix_data_buffer_t - PMIx_Data_unload transfers the payload in a pmix_data_buffer_t to a pmix_byte_object_t structure Signed-off-by: Ralph Castain (cherry picked from commit f5324ca6b11404a30f90e869310af839d4cc9459) --- Chap_API_Data_Mgmt.tex | 102 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/Chap_API_Data_Mgmt.tex b/Chap_API_Data_Mgmt.tex index afa9f1dc..2145b0ec 100644 --- a/Chap_API_Data_Mgmt.tex +++ b/Chap_API_Data_Mgmt.tex @@ -384,4 +384,106 @@ \subsection{\code{PMIx_Data_copy_payload}} This function will append a copy of the payload in one buffer into another buffer. Note that this is \textit{not} a destructive procedure --- the source buffer's payload will remain intact, as will any pre-existing payload in the destination's buffer. Only the unpacked portion of the source payload will be copied. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{\code{PMIx_Data_load}} +\declareapi{PMIx_Data_load} + +%%%% +\summary + +Load a buffer with the provided payload + +%%%% +\format + +\versionMarker{4.1} +\cspecificstart +\begin{codepar} +pmix_status_t +PMIx_Data_load(pmix_data_buffer_t *dest, + pmix_byte_object_t *src); +\end{codepar} +\cspecificend + +\begin{arglist} +\argin{dest}{Pointer to the destination \refstruct{pmix_data_buffer_t} (handle)} +\argin{src}{Pointer to the source \refstruct{pmix_byte_object_t} (handle)} +\end{arglist} + +Returns one of the following: +\begin{constantdesc} +\item \refconst{PMIX_SUCCESS} The data has been loaded as requested +\item \refconst{PMIX_ERR_BAD_PARAM} The \refarg{dest} structure pointer is \code{NULL} +\item \refconst{PMIX_ERR_NOT_SUPPORTED} The \ac{PMIx} implementation does not support this function. +\end{constantdesc} + +%%%% +\descr + +The load function allows the caller to transfer the contents of the \refarg{src} +\refstruct{pmix_byte_object_t} to the \refarg{dest} target buffer. If a payload +already exists in the buffer, the function will "free" the existing data to +release it, and then replace the data payload with the one provided +by the caller. + +\adviceuserstart +The buffer must be allocated or constructed in advance - failing to do so +will cause the load function to return an error code or fail. + +The caller is responsible for pre-packing the provided +payload - the load function cannot convert to network byte order +any data contained in the provided payload. +\adviceuserend + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\subsection{\code{PMIx_Data_unload}} +\declareapi{PMIx_Data_unload} + +%%%% +\summary + +Unload a buffer into a byte object + +%%%% +\format + +\versionMarker{4.1} +\cspecificstart +\begin{codepar} +pmix_status_t +PMIx_Data_unload(pmix_data_buffer_t *src, + pmix_byte_object_t *dest); +\end{codepar} +\cspecificend + +\begin{arglist} +\argin{src}{Pointer to the source \refstruct{pmix_data_buffer_t} (handle)} +\argin{dest}{Pointer to the destination \refstruct{pmix_byte_object_t} (handle)} +\end{arglist} + +Returns one of the following: +\begin{constantdesc} +\item \refconst{PMIX_SUCCESS} The data has been copied as requested +\item \refconst{PMIX_ERR_BAD_PARAM} The destination and/or source pointer is \code{NULL} +\item \refconst{PMIX_ERR_NOT_SUPPORTED} The \ac{PMIx} implementation does not support this function. +\end{constantdesc} + +%%%% +\descr + +The unload function provides the caller with a pointer to the +portion of the data payload within the buffer that has not yet been +unpacked, along with the size of that region. Any portion of +the payload that was previously unpacked using the \refapi{PMIx_Data_unpack} +routine will be ignored. This allows the user to directly access the payload. + +\adviceuserstart +This is a destructive operation. While the payload returned in the +destination \refstruct{pmix_byte_object_t} is +undisturbed, the function will clear the \refarg{src}'s pointers to the +payload. Thus, the \refarg{src} and the payload are completely separated, +leaving the caller able to free or destruct the \refarg{src}. +\adviceuserend + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% From 8a975d875d37a636b6d83c21795ca02bcc1b955f Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Tue, 16 Feb 2021 07:25:53 -0800 Subject: [PATCH 03/16] Update Chap_API_Data_Mgmt.tex Signed-off-by: Ralph Castain Co-authored-by: Josh Hursey <4259120+jjhursey@users.noreply.github.com> (cherry picked from commit 82536301c89eb6f3f1e15be667cc9e36a2c3eb69) --- Chap_API_Data_Mgmt.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Chap_API_Data_Mgmt.tex b/Chap_API_Data_Mgmt.tex index 2145b0ec..ff328ac1 100644 --- a/Chap_API_Data_Mgmt.tex +++ b/Chap_API_Data_Mgmt.tex @@ -431,7 +431,7 @@ \subsection{\code{PMIx_Data_load}} will cause the load function to return an error code or fail. The caller is responsible for pre-packing the provided -payload - the load function cannot convert to network byte order +payload. For example, the load function cannot convert to network byte order any data contained in the provided payload. \adviceuserend From 82c45f021568247f62f447b112fe191958f12dc2 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Tue, 16 Feb 2021 07:26:12 -0800 Subject: [PATCH 04/16] Update Chap_API_Data_Mgmt.tex Signed-off-by: Ralph Castain Co-authored-by: Josh Hursey <4259120+jjhursey@users.noreply.github.com> (cherry picked from commit 545d6a3b55bb92a7a8b43a6bab2ea3bd41ee3a3c) --- Chap_API_Data_Mgmt.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Chap_API_Data_Mgmt.tex b/Chap_API_Data_Mgmt.tex index ff328ac1..629b2aa2 100644 --- a/Chap_API_Data_Mgmt.tex +++ b/Chap_API_Data_Mgmt.tex @@ -428,7 +428,7 @@ \subsection{\code{PMIx_Data_load}} \adviceuserstart The buffer must be allocated or constructed in advance - failing to do so -will cause the load function to return an error code or fail. +will cause the load function to return an error code. The caller is responsible for pre-packing the provided payload. For example, the load function cannot convert to network byte order From b22242f1d51d4e3939f264b8da888eba0b6d84a3 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Tue, 16 Feb 2021 07:55:44 -0800 Subject: [PATCH 05/16] Add two more Data management APIs for compressing/decompressing data Signed-off-by: Ralph Castain (cherry picked from commit 241ae71a891023bc11d8828136e847ff50668de8) --- Chap_API_Data_Mgmt.tex | 95 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/Chap_API_Data_Mgmt.tex b/Chap_API_Data_Mgmt.tex index 629b2aa2..aa6331b6 100644 --- a/Chap_API_Data_Mgmt.tex +++ b/Chap_API_Data_Mgmt.tex @@ -486,4 +486,99 @@ \subsection{\code{PMIx_Data_unload}} \adviceuserend +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\subsection{\code{PMIx_Data_compress}} +\declareapi{PMIx_Data_compress} + +%%%% +\summary + +Perform a lossless compression on the provided data + +%%%% +\format + +\versionMarker{4.1} +\cspecificstart +\begin{codepar} +bool +PMIx_Data_compress(uint8_t *inbytes, size_t size, + uint8_t **outbytes, size_t *nbytes); +\end{codepar} +\cspecificend + +\begin{arglist} +\argin{inbytes}{Pointer to the source data (handle)} +\argin{size}{Number of bytes in the source data region (\code{size_t})} +\argout{outbytes}{Address where the pointer to the compressed data region is to be returned (handle)} +\argout{nbytes}{Address where the number of bytes in the compressed data region is to be returned (handle)} +\end{arglist} + +Returns one of the following: +\begin{itemize} +\item \code{True} The data has been compressed as requested +\item \code{False} The data has not been compressed +\end{itemize} + +%%%% +\descr + +Compress the provided data block. Destination memory +will be allocated if operation is successfully concluded. Caller +is responsible for release of the allocated region. The input +data block will remain unaltered. + +Note: the compress function will return \code{False} if the operation +would not result in a smaller data block. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\subsection{\code{PMIx_Data_decompress}} +\declareapi{PMIx_Data_decompress} + +%%%% +\summary + +Decompress the provided data + +%%%% +\format + +\versionMarker{4.1} +\cspecificstart +\begin{codepar} +bool +PMIx_Data_decompress(uint8_t **outbytes, size_t *nbytes, + uint8_t *inbytes, size_t size); +\end{codepar} +\cspecificend + +\begin{arglist} +\argout{outbytes}{Address where the pointer to the decompressed data region is to be returned (handle)} +\argout{nbytes}{Address where the number of bytes in the decompressed data region is to be returned (handle)} +\argin{inbytes}{Pointer to the source data (handle)} +\argin{size}{Number of bytes in the source data region (\code{size_t})} +\end{arglist} + +Returns one of the following: +\begin{itemize} +\item \code{True} The data has been decompressed as requested +\item \code{False} The data has not been decompressed +\end{itemize} + +%%%% +\descr + +Decompress the provided data block. Destination memory +will be allocated if operation is successfully concluded. Caller +is responsible for release of the allocated region. The input +data block will remain unaltered. + +Only data compressed by the \refapi{PMIx_Data_compress} \ac{API} +can be decompressed by this function. Passing data that has not +been compressed by \refapi{PMIx_Data_compress} will lead to +unexpected and potentially catastrophic results. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% From c07174fe4180833f0d8f25816a23f38a62172c81 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Wed, 19 May 2021 13:43:57 -0700 Subject: [PATCH 06/16] Update Chap_API_Data_Mgmt.tex Signed-off-by: Ralph Castain Co-authored-by: Ken Raffenetti (cherry picked from commit 97d453bd7b15b6e59468da9feeec4d2b96f5f28d) --- Chap_API_Data_Mgmt.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Chap_API_Data_Mgmt.tex b/Chap_API_Data_Mgmt.tex index aa6331b6..5752f33c 100644 --- a/Chap_API_Data_Mgmt.tex +++ b/Chap_API_Data_Mgmt.tex @@ -503,7 +503,7 @@ \subsection{\code{PMIx_Data_compress}} \cspecificstart \begin{codepar} bool -PMIx_Data_compress(uint8_t *inbytes, size_t size, +PMIx_Data_compress(const uint8_t *inbytes, size_t size, uint8_t **outbytes, size_t *nbytes); \end{codepar} \cspecificend From d05c944387668160a9a1526bb8039633a647f801 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Wed, 19 May 2021 13:44:23 -0700 Subject: [PATCH 07/16] Update Chap_API_Data_Mgmt.tex Signed-off-by: Ralph Castain Co-authored-by: Ken Raffenetti (cherry picked from commit 2d99f0557a6645e67db3be2ac4ddb6cebb02550f) --- Chap_API_Data_Mgmt.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Chap_API_Data_Mgmt.tex b/Chap_API_Data_Mgmt.tex index 5752f33c..45aaff0e 100644 --- a/Chap_API_Data_Mgmt.tex +++ b/Chap_API_Data_Mgmt.tex @@ -550,8 +550,8 @@ \subsection{\code{PMIx_Data_decompress}} \cspecificstart \begin{codepar} bool -PMIx_Data_decompress(uint8_t **outbytes, size_t *nbytes, - uint8_t *inbytes, size_t size); +PMIx_Data_decompress(const uint8_t *inbytes, size_t size, + uint8_t **outbytes, size_t *nbytes,); \end{codepar} \cspecificend From d08992ad18af23e858e3cdda3047923c44f49d16 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Sat, 30 Jan 2021 10:26:20 -0800 Subject: [PATCH 08/16] Add a few simple, but helpful macros PMIX_RANK_IS_VALID - test if a rank has a valid value (i.e., less thatn PMIX_RANK_VALID) PMIX_NSPACE_INVALID - test if a pmix_nspace_t contains a valid value (i.e., string of length greater than zero) PMIX_PROCID_INVALID - check for invalid namespace or rank PMIX_XFER_PROCID - copy a process ID between pmix_proc_t structures Signed-off-by: Ralph Castain (cherry picked from commit 4fea9cd19c192fdceb86f9b920374721f35587b9) --- Chap_API_Struct.tex | 70 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/Chap_API_Struct.tex b/Chap_API_Struct.tex index bebaa65e..e48deb26 100644 --- a/Chap_API_Struct.tex +++ b/Chap_API_Struct.tex @@ -353,6 +353,24 @@ \subsubsection{Namespace support macros} Returns \code{true} if the namespace matches the given value +\littleheader{Check invalid namespace macro} +\declaremacro{PMIX_NSPACE_INVALID} + +Check the string in a \refstruct{pmix_nspace_t} + +\versionMarker{4.1} +\cspecificstart +\begin{codepar} +PMIX_NSPACE_INVALID(a) +\end{codepar} +\cspecificend + +\begin{arglist} +\argin{a}{Pointer to the structure whose value is to be checked (pointer to \refstruct{pmix_nspace_t})} +\end{arglist} + +Returns \code{true} if the namespace is invalid (i.e., starts with a \code{NULL} resulting in a zero-length string value) + \littleheader{Load namespace macro} \declaremacro{PMIX_LOAD_NSPACE} @@ -431,6 +449,24 @@ \subsubsection{Rank support macros} Returns \code{true} if the ranks are equal, or at least one of the ranks is \refconst{PMIX_RANK_WILDCARD} +\littleheader{Check rank is valid macro} +\declaremacro{PMIX_RANK_IS_VALID} + +Check is the given rank is a valid value + +\versionMarker{4.1} +\cspecificstart +\begin{codepar} +PMIX_RANK_IS_VALID(a) +\end{codepar} +\cspecificend + +\begin{arglist} +\argin{a}{Rank to be checked (\refstruct{pmix_rank_t})} +\end{arglist} + +Returns \code{true} if the given rank is valid (i.e., less than \refconst{PMIX_RANK_VALID}) + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \subsection{Process Structure} \declarestruct{pmix_proc_t} @@ -559,6 +595,23 @@ \subsubsection{Process structure support macros} \item one of the ranks is \refconst{PMIX_RANK_WILDCARD} \end{itemize} +\littleheader{Check if a process identifier is valid} +\declaremacro{PMIX_PROCID_INVALID} + +Check for invalid namespace or rank value + +\versionMarker{4.1} +\cspecificstart +\begin{codepar} +PMIX_PROCID_INVALID(a) +\end{codepar} +\cspecificend + +\begin{arglist} +\argin{a}{Pointer to a structure whose ID is to be checked (pointer to \refstruct{pmix_proc_t})} +\end{arglist} + +Returns \code{true} if the process identifier contains either an empty (i.e., invalid) \refarg{nspace} field or a \refarg{rank} field of \refconst{PMIX_RANK_INVALID} \littleheader{Load a procID structure} \declaremacro{PMIX_LOAD_PROCID} @@ -575,6 +628,23 @@ \subsubsection{Process structure support macros} \argin{r}{Rank to be assigned (\refstruct{pmix_rank_t})} \end{arglist} +\littleheader{Transfer a procID structure} +\declaremacro{PMIX_XFER_PROCID} + +Transfer contents of one \refstruct{pmix_proc_t} value to another \refstruct{pmix_proc_t}. + +\versionMarker{4.1} +\cspecificstart +\begin{codepar} +PMIX_XFER_PROCID(m, n) +\end{codepar} +\cspecificend + +\begin{arglist} +\argin{m}{Pointer to the target structure (pointer to \refstruct{pmix_proc_t})} +\argin{n}{Pointer to the source structure (pointer to \refstruct{pmix_proc_t})} +\end{arglist} + \littleheader{Construct a multi-cluster namespace} \declaremacro{PMIX_MULTICLUSTER_NSPACE_CONSTRUCT} From ee6ce9727b3350669a0c4ad299766f72bc83cbdf Mon Sep 17 00:00:00 2001 From: Brian Barrett Date: Tue, 11 May 2021 09:51:30 -0700 Subject: [PATCH 09/16] Update Chap_API_Struct.tex Co-authored-by: Josh Hursey <4259120+jjhursey@users.noreply.github.com> Signed-off-by: Joshua Hursey (cherry picked from commit 562233db3297dc6a450d487d2f5bedef822c2d4f) --- Chap_API_Struct.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Chap_API_Struct.tex b/Chap_API_Struct.tex index e48deb26..6b8a213b 100644 --- a/Chap_API_Struct.tex +++ b/Chap_API_Struct.tex @@ -356,7 +356,7 @@ \subsubsection{Namespace support macros} \littleheader{Check invalid namespace macro} \declaremacro{PMIX_NSPACE_INVALID} -Check the string in a \refstruct{pmix_nspace_t} +Check if the provided \refstruct{pmix_nspace_t} is invalid. \versionMarker{4.1} \cspecificstart From 2f0a9fadf7d946481eeff2748d6f48f152a87a69 Mon Sep 17 00:00:00 2001 From: Brian Barrett Date: Tue, 11 May 2021 09:51:40 -0700 Subject: [PATCH 10/16] Update Chap_API_Struct.tex Co-authored-by: Josh Hursey <4259120+jjhursey@users.noreply.github.com> Signed-off-by: Joshua Hursey (cherry picked from commit 9c79502bd325a8c6b434b61b6b7fcfc3744b178e) --- Chap_API_Struct.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Chap_API_Struct.tex b/Chap_API_Struct.tex index 6b8a213b..c5a6b1b4 100644 --- a/Chap_API_Struct.tex +++ b/Chap_API_Struct.tex @@ -452,7 +452,7 @@ \subsubsection{Rank support macros} \littleheader{Check rank is valid macro} \declaremacro{PMIX_RANK_IS_VALID} -Check is the given rank is a valid value +Check if the given rank is a valid value \versionMarker{4.1} \cspecificstart From 20854d118ecfc94fa364d5bcbd6b45aaca5b0493 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Wed, 19 May 2021 14:01:49 -0700 Subject: [PATCH 11/16] Update Chap_API_Struct.tex Signed-off-by: Ralph Castain Co-authored-by: Aurelien Bouteiller (cherry picked from commit 79a0b8efa7b93cadbe0410a51b35c778b48d480b) --- Chap_API_Struct.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Chap_API_Struct.tex b/Chap_API_Struct.tex index c5a6b1b4..33620717 100644 --- a/Chap_API_Struct.tex +++ b/Chap_API_Struct.tex @@ -629,7 +629,7 @@ \subsubsection{Process structure support macros} \end{arglist} \littleheader{Transfer a procID structure} -\declaremacro{PMIX_XFER_PROCID} +\declaremacro{PMIX_PROCID_XFER} Transfer contents of one \refstruct{pmix_proc_t} value to another \refstruct{pmix_proc_t}. From b905d62aeef9d0448b43fbfb2ca6b70e8e98978b Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Wed, 19 May 2021 14:02:15 -0700 Subject: [PATCH 12/16] Update Chap_API_Struct.tex Signed-off-by: Ralph Castain Co-authored-by: Aurelien Bouteiller (cherry picked from commit 85125bc4a62bcea496712967f04520f76b118c51) --- Chap_API_Struct.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Chap_API_Struct.tex b/Chap_API_Struct.tex index 33620717..d196c93b 100644 --- a/Chap_API_Struct.tex +++ b/Chap_API_Struct.tex @@ -636,7 +636,7 @@ \subsubsection{Process structure support macros} \versionMarker{4.1} \cspecificstart \begin{codepar} -PMIX_XFER_PROCID(m, n) +PMIX_PROCID_XFER(d, s) \end{codepar} \cspecificend From d5abc3fb6b8d3b2800b8a8fc8196dbc8555eebdd Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Wed, 19 May 2021 14:02:41 -0700 Subject: [PATCH 13/16] Update Chap_API_Struct.tex Signed-off-by: Ralph Castain Co-authored-by: Aurelien Bouteiller (cherry picked from commit 672703d7905a8f7d5eb1019b3d32b291a0a2ab43) --- Chap_API_Struct.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Chap_API_Struct.tex b/Chap_API_Struct.tex index d196c93b..6e6d15e9 100644 --- a/Chap_API_Struct.tex +++ b/Chap_API_Struct.tex @@ -641,7 +641,7 @@ \subsubsection{Process structure support macros} \cspecificend \begin{arglist} -\argin{m}{Pointer to the target structure (pointer to \refstruct{pmix_proc_t})} +\argin{d}{Pointer to the target structure (pointer to \refstruct{pmix_proc_t})} \argin{n}{Pointer to the source structure (pointer to \refstruct{pmix_proc_t})} \end{arglist} From 7a11572c1fc52a35b49e28a8f0abff9a4ea4892f Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Wed, 19 May 2021 14:03:02 -0700 Subject: [PATCH 14/16] Update Chap_API_Struct.tex Signed-off-by: Ralph Castain Co-authored-by: Aurelien Bouteiller (cherry picked from commit 215da9b920ab1bb6466ec6bbf175473b5c633828) --- Chap_API_Struct.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Chap_API_Struct.tex b/Chap_API_Struct.tex index 6e6d15e9..75032741 100644 --- a/Chap_API_Struct.tex +++ b/Chap_API_Struct.tex @@ -642,7 +642,7 @@ \subsubsection{Process structure support macros} \begin{arglist} \argin{d}{Pointer to the target structure (pointer to \refstruct{pmix_proc_t})} -\argin{n}{Pointer to the source structure (pointer to \refstruct{pmix_proc_t})} +\argin{s}{Pointer to the source structure (pointer to \refstruct{pmix_proc_t})} \end{arglist} \littleheader{Construct a multi-cluster namespace} From 96b9b6b25bd80719f130792709f885727ed632f1 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Sun, 31 Jan 2021 12:01:40 -0800 Subject: [PATCH 15/16] Add a data type constant for pmix_nspace_t Define a data type solely for process namespace as we did for process rank. Signed-off-by: Ralph Castain (cherry picked from commit d7b9e7dca2d4ccd766b17beb9e1e7abc16f1b558) --- Chap_API_Struct.tex | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Chap_API_Struct.tex b/Chap_API_Struct.tex index 75032741..2e7fbf04 100644 --- a/Chap_API_Struct.tex +++ b/Chap_API_Struct.tex @@ -2146,6 +2146,9 @@ \section{Generalized Data Types Used for Packing/Unpacking} \declareconstitem{PMIX_PROC_RANK} Process rank (\refstruct{pmix_rank_t}). % +\declareconstitemNEW{PMIX_PROC_NSPACE} +Process namespace (\refstruct{pmix_nspace_t}). +\% \declareconstitem{PMIX_QUERY} Query structure (\refstruct{pmix_query_t}). % From a12e640da88f48f1708ef84d74a711b513349cb5 Mon Sep 17 00:00:00 2001 From: Joshua Hursey Date: Thu, 20 May 2021 10:57:08 -0500 Subject: [PATCH 16/16] Add provisional markers * Add `\versionMarkerProvisional` that marks the version level and adds the provisoinal designation. Signed-off-by: Joshua Hursey --- Chap_API_Data_Mgmt.tex | 8 ++++---- Chap_API_Struct.tex | 10 +++++----- pmix.sty | 3 +++ 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Chap_API_Data_Mgmt.tex b/Chap_API_Data_Mgmt.tex index 45aaff0e..eb2dda17 100644 --- a/Chap_API_Data_Mgmt.tex +++ b/Chap_API_Data_Mgmt.tex @@ -396,7 +396,7 @@ \subsection{\code{PMIx_Data_load}} %%%% \format -\versionMarker{4.1} +\versionMarkerProvisional{4.1} \cspecificstart \begin{codepar} pmix_status_t @@ -447,7 +447,7 @@ \subsection{\code{PMIx_Data_unload}} %%%% \format -\versionMarker{4.1} +\versionMarkerProvisional{4.1} \cspecificstart \begin{codepar} pmix_status_t @@ -499,7 +499,7 @@ \subsection{\code{PMIx_Data_compress}} %%%% \format -\versionMarker{4.1} +\versionMarkerProvisional{4.1} \cspecificstart \begin{codepar} bool @@ -546,7 +546,7 @@ \subsection{\code{PMIx_Data_decompress}} %%%% \format -\versionMarker{4.1} +\versionMarkerProvisional{4.1} \cspecificstart \begin{codepar} bool diff --git a/Chap_API_Struct.tex b/Chap_API_Struct.tex index 2e7fbf04..b95ce2f5 100644 --- a/Chap_API_Struct.tex +++ b/Chap_API_Struct.tex @@ -358,7 +358,7 @@ \subsubsection{Namespace support macros} Check if the provided \refstruct{pmix_nspace_t} is invalid. -\versionMarker{4.1} +\versionMarkerProvisional{4.1} \cspecificstart \begin{codepar} PMIX_NSPACE_INVALID(a) @@ -454,7 +454,7 @@ \subsubsection{Rank support macros} Check if the given rank is a valid value -\versionMarker{4.1} +\versionMarkerProvisional{4.1} \cspecificstart \begin{codepar} PMIX_RANK_IS_VALID(a) @@ -600,7 +600,7 @@ \subsubsection{Process structure support macros} Check for invalid namespace or rank value -\versionMarker{4.1} +\versionMarkerProvisional{4.1} \cspecificstart \begin{codepar} PMIX_PROCID_INVALID(a) @@ -633,7 +633,7 @@ \subsubsection{Process structure support macros} Transfer contents of one \refstruct{pmix_proc_t} value to another \refstruct{pmix_proc_t}. -\versionMarker{4.1} +\versionMarkerProvisional{4.1} \cspecificstart \begin{codepar} PMIX_PROCID_XFER(d, s) @@ -2155,7 +2155,7 @@ \section{Generalized Data Types Used for Packing/Unpacking} \declareconstitem{PMIX_COMPRESSED_STRING} String compressed with zlib (\code{char*}). % -\declareconstitemNEW{PMIX_COMPRESSED_BYTE_OBJECT} +\declareconstitemProvisional{PMIX_COMPRESSED_BYTE_OBJECT} Byte object whose bytes have been compressed with zlib (\code{pmix_byte_object_t}). % \declareconstitem{PMIX_ALLOC_DIRECTIVE} diff --git a/pmix.sty b/pmix.sty index 4dfc30ef..eb011327 100644 --- a/pmix.sty +++ b/pmix.sty @@ -236,6 +236,9 @@ \newcommand{\versionMarker}[1]{% \textInMargin{\textit{PMIx v#1}}% } +\newcommand{\versionMarkerProvisional}[1]{% + \textInMargin{\small{\hl{\textit{Provisional v#1}}}}% +} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PMIx Standard Process markers