\hypertarget{pml__ob1__recvreq_8h}{\section{ompi/mca/pml/ob1/pml\+\_\+ob1\+\_\+recvreq.h File Reference}
\label{pml__ob1__recvreq_8h}\index{ompi/mca/pml/ob1/pml\+\_\+ob1\+\_\+recvreq.\+h@{ompi/mca/pml/ob1/pml\+\_\+ob1\+\_\+recvreq.\+h}}
}
{\ttfamily \#include \char`\"{}pml\+\_\+ob1.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}pml\+\_\+ob1\+\_\+rdma.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}pml\+\_\+ob1\+\_\+rdmafrag.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/proc/proc.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/pml/ob1/pml\+\_\+ob1\+\_\+comm.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/mpool/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/pml/base/pml\+\_\+base\+\_\+recvreq.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{pml__ob1__recvreq_8h_ae72761f6e07285050d66cd0fc8d00cda}{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+A\+L\+L\+O\+C}(recvreq, rc)
\begin{DoxyCompactList}\small\item\em Allocate a recv request from the modules free list. \end{DoxyCompactList}\item 
\#define \hyperlink{pml__ob1__recvreq_8h_ad3f6f46189453e8a9fba36cf173d1490}{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+I\+N\+I\+T}(\hyperlink{structrequest}{request},addr,count,datatype,src,tag,comm,persistent)
\begin{DoxyCompactList}\small\item\em Initialize a receive request with call parameters. \end{DoxyCompactList}\item 
\#define \hyperlink{pml__ob1__recvreq_8h_a5eed2b8dc1c30c5d1d47f461c54e55d6}{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+M\+P\+I\+\_\+\+C\+O\+M\+P\+L\+E\+T\+E}(recvreq)
\begin{DoxyCompactList}\small\item\em Mark the request as completed at M\+P\+I level for internal purposes. \end{DoxyCompactList}\item 
\#define {\bfseries M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+R\+E\+T\+U\+R\+N}(recvreq)
\item 
\hypertarget{pml__ob1__recvreq_8h_ad5e296552edba2dbab236f67d6626252}{\#define {\bfseries M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+S\+T\+A\+R\+T}(r)~\hyperlink{pml__ob1__recvreq_8h_ae1b01df14755a54a01f5514d51b0f411}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+req\+\_\+start}(r)}\label{pml__ob1__recvreq_8h_ad5e296552edba2dbab236f67d6626252}

\item 
\hypertarget{pml__ob1__recvreq_8h_a72df603365ea003477a64ef475419d26}{\#define {\bfseries M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+M\+A\+T\+C\+H\+E\+D}(\hyperlink{structrequest}{request}, hdr)~recv\+\_\+req\+\_\+matched(\hyperlink{structrequest}{request}, hdr)}\label{pml__ob1__recvreq_8h_a72df603365ea003477a64ef475419d26}

\item 
\hypertarget{pml__ob1__recvreq_8h_aec0fe0635db17d014c167bd4fadaa792}{\#define {\bfseries M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+U\+N\+P\+A\+C\+K}(\hyperlink{structrequest}{request},segments,num\+\_\+segments,seg\+\_\+offset,data\+\_\+offset,bytes\+\_\+received,bytes\+\_\+delivered)}\label{pml__ob1__recvreq_8h_aec0fe0635db17d014c167bd4fadaa792}

\item 
\#define {\bfseries M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+A\+D\+D\+\_\+\+A\+C\+K\+\_\+\+T\+O\+\_\+\+P\+E\+N\+D\+I\+N\+G}(P, S, D, O)
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{pml__ob1__recvreq_8h_a496c55f1e467d1d3f0d7e035234aef8a}{typedef struct \\*
\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t}}\label{pml__ob1__recvreq_8h_a496c55f1e467d1d3f0d7e035234aef8a}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{pml__ob1__recvreq_8h_a886739c619ea182fb9115504ea70f13a}{{\bfseries O\+B\+J\+\_\+\+C\+L\+A\+S\+S\+\_\+\+D\+E\+C\+L\+A\+R\+A\+T\+I\+O\+N} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t})}\label{pml__ob1__recvreq_8h_a886739c619ea182fb9115504ea70f13a}

\item 
\hypertarget{pml__ob1__recvreq_8h_aeecb47278e6a345570243bcbb21f075a}{static bool {\bfseries lock\+\_\+recv\+\_\+request} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$recvreq)}\label{pml__ob1__recvreq_8h_aeecb47278e6a345570243bcbb21f075a}

\item 
\hypertarget{pml__ob1__recvreq_8h_a86af9554e34a4071a8b4bf58b78019ae}{static bool {\bfseries unlock\+\_\+recv\+\_\+request} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$recvreq)}\label{pml__ob1__recvreq_8h_a86af9554e34a4071a8b4bf58b78019ae}

\item 
static void \hyperlink{pml__ob1__recvreq_8h_ae817c136894df1f035adb6fe9addbf8b}{recv\+\_\+request\+\_\+pml\+\_\+complete} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$recvreq)
\begin{DoxyCompactList}\small\item\em Complete receive request. \end{DoxyCompactList}\item 
\hypertarget{pml__ob1__recvreq_8h_aa127af163d13fe10b4f7eb9a3e7d27d8}{static bool {\bfseries recv\+\_\+request\+\_\+pml\+\_\+complete\+\_\+check} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$recvreq)}\label{pml__ob1__recvreq_8h_aa127af163d13fe10b4f7eb9a3e7d27d8}

\item 
void \hyperlink{pml__ob1__recvreq_8h_ae1b01df14755a54a01f5514d51b0f411}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+req\+\_\+start} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req)
\item 
\hypertarget{pml__ob1__recvreq_8h_a5124eeaaa1150cb5740c8d189a2750b5}{static void {\bfseries prepare\+\_\+recv\+\_\+req\+\_\+converter} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req)}\label{pml__ob1__recvreq_8h_a5124eeaaa1150cb5740c8d189a2750b5}

\item 
\hypertarget{pml__ob1__recvreq_8h_ac589546accf8888342a10419080c9138}{static void {\bfseries recv\+\_\+req\+\_\+matched} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req, \hyperlink{structmca__pml__ob1__match__hdr__t}{mca\+\_\+pml\+\_\+ob1\+\_\+match\+\_\+hdr\+\_\+t} $\ast$hdr)}\label{pml__ob1__recvreq_8h_ac589546accf8888342a10419080c9138}

\item 
\hypertarget{pml__ob1__recvreq_8h_a0ceff1b6dcf99cc50ede2cdeea87228e}{void {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+match} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req, struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, \hyperlink{structmca__btl__base__segment__t}{mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t} $\ast$segments, size\+\_\+t num\+\_\+segments)}\label{pml__ob1__recvreq_8h_a0ceff1b6dcf99cc50ede2cdeea87228e}

\item 
\hypertarget{pml__ob1__recvreq_8h_ad4541ae948778acccff8f41944237f31}{void {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+frag} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req, struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, \hyperlink{structmca__btl__base__segment__t}{mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t} $\ast$segments, size\+\_\+t num\+\_\+segments)}\label{pml__ob1__recvreq_8h_ad4541ae948778acccff8f41944237f31}

\item 
void \hyperlink{pml__ob1__recvreq_8h_acfaaeebaa3515e72acaa4f27ea285a74}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+rndv} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req, struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, \hyperlink{structmca__btl__base__segment__t}{mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t} $\ast$segments, size\+\_\+t num\+\_\+segments)
\item 
\hypertarget{pml__ob1__recvreq_8h_a21b399f0801281031e46d919ccd58a3d}{void {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+rget} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req, struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, \hyperlink{structmca__btl__base__segment__t}{mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t} $\ast$segments, size\+\_\+t num\+\_\+segments)}\label{pml__ob1__recvreq_8h_a21b399f0801281031e46d919ccd58a3d}

\item 
\hypertarget{pml__ob1__recvreq_8h_a9e422436ad79dcb611aeefcab744cb23}{void \hyperlink{pml__ob1__recvreq_8h_a9e422436ad79dcb611aeefcab744cb23}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+matched\+\_\+probe} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req, struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, \hyperlink{structmca__btl__base__segment__t}{mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t} $\ast$segments, size\+\_\+t num\+\_\+segments)}\label{pml__ob1__recvreq_8h_a9e422436ad79dcb611aeefcab744cb23}

\begin{DoxyCompactList}\small\item\em Handle completion of a probe request. \end{DoxyCompactList}\item 
\hypertarget{pml__ob1__recvreq_8h_a3cc3cb7f4ed60ae67f1bc99484f06989}{int {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+schedule\+\_\+once} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req, \hyperlink{structmca__bml__base__btl__t}{mca\+\_\+bml\+\_\+base\+\_\+btl\+\_\+t} $\ast$start\+\_\+bml\+\_\+btl)}\label{pml__ob1__recvreq_8h_a3cc3cb7f4ed60ae67f1bc99484f06989}

\item 
\hypertarget{pml__ob1__recvreq_8h_a5df285b5b5e89aaa9df50caf227849f3}{static int {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+schedule\+\_\+exclusive} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req, \hyperlink{structmca__bml__base__btl__t}{mca\+\_\+bml\+\_\+base\+\_\+btl\+\_\+t} $\ast$start\+\_\+bml\+\_\+btl)}\label{pml__ob1__recvreq_8h_a5df285b5b5e89aaa9df50caf227849f3}

\item 
\hypertarget{pml__ob1__recvreq_8h_a38f12f173f9a226814828054143cbf03}{static void {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+schedule} (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$req, \hyperlink{structmca__bml__base__btl__t}{mca\+\_\+bml\+\_\+base\+\_\+btl\+\_\+t} $\ast$start\+\_\+bml\+\_\+btl)}\label{pml__ob1__recvreq_8h_a38f12f173f9a226814828054143cbf03}

\item 
\hypertarget{pml__ob1__recvreq_8h_aa475e1eac17b2b89f22b577382b4d103}{int {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+ack\+\_\+send\+\_\+btl} (\hyperlink{structompi__proc__t}{ompi\+\_\+proc\+\_\+t} $\ast$proc, \hyperlink{structmca__bml__base__btl__t}{mca\+\_\+bml\+\_\+base\+\_\+btl\+\_\+t} $\ast$bml\+\_\+btl, uint64\+\_\+t hdr\+\_\+src\+\_\+req, void $\ast$hdr\+\_\+dst\+\_\+req, uint64\+\_\+t hdr\+\_\+rdma\+\_\+offset, bool nordma)}\label{pml__ob1__recvreq_8h_aa475e1eac17b2b89f22b577382b4d103}

\item 
\hypertarget{pml__ob1__recvreq_8h_ac430b570e8eb2c53a3e0c784d4cfb4c8}{static int {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+ack\+\_\+send} (\hyperlink{structompi__proc__t}{ompi\+\_\+proc\+\_\+t} $\ast$proc, uint64\+\_\+t hdr\+\_\+src\+\_\+req, void $\ast$hdr\+\_\+dst\+\_\+req, uint64\+\_\+t hdr\+\_\+send\+\_\+offset, bool nordma)}\label{pml__ob1__recvreq_8h_ac430b570e8eb2c53a3e0c784d4cfb4c8}

\item 
\hypertarget{pml__ob1__recvreq_8h_a933c35941ec3cc517e061a32886ae87e}{int {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+get\+\_\+frag} (\hyperlink{structmca__pml__ob1__rdma__frag__t}{mca\+\_\+pml\+\_\+ob1\+\_\+rdma\+\_\+frag\+\_\+t} $\ast$frag)}\label{pml__ob1__recvreq_8h_a933c35941ec3cc517e061a32886ae87e}

\item 
\hypertarget{pml__ob1__recvreq_8h_a8601ef72294dab0bfac44c2867362ee2}{void {\bfseries mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+process\+\_\+pending} (void)}\label{pml__ob1__recvreq_8h_a8601ef72294dab0bfac44c2867362ee2}

\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\hypertarget{pml__ob1__recvreq_8h_ad1492509f0ab0b3378b25fe9d6dd6636}{\index{pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}!M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+A\+D\+D\+\_\+\+A\+C\+K\+\_\+\+T\+O\+\_\+\+P\+E\+N\+D\+I\+N\+G@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+A\+D\+D\+\_\+\+A\+C\+K\+\_\+\+T\+O\+\_\+\+P\+E\+N\+D\+I\+N\+G}}
\index{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+A\+D\+D\+\_\+\+A\+C\+K\+\_\+\+T\+O\+\_\+\+P\+E\+N\+D\+I\+N\+G@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+A\+D\+D\+\_\+\+A\+C\+K\+\_\+\+T\+O\+\_\+\+P\+E\+N\+D\+I\+N\+G}!pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}}
\subsubsection[{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+A\+D\+D\+\_\+\+A\+C\+K\+\_\+\+T\+O\+\_\+\+P\+E\+N\+D\+I\+N\+G}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+A\+D\+D\+\_\+\+A\+C\+K\+\_\+\+T\+O\+\_\+\+P\+E\+N\+D\+I\+N\+G(
\begin{DoxyParamCaption}
\item[{}]{P, }
\item[{}]{S, }
\item[{}]{D, }
\item[{}]{O}
\end{DoxyParamCaption}
)}}\label{pml__ob1__recvreq_8h_ad1492509f0ab0b3378b25fe9d6dd6636}
{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keywordflow}{do} \{                                                                \(\backslash\)
        mca\_pml\_ob1\_pckt\_pending\_t *\_pckt;                              \(\backslash\)
        int \_rc;                                                        \(\backslash\)
                                                                        \(\backslash\)
        MCA\_PML\_OB1\_PCKT\_PENDING\_ALLOC(\_pckt,\_rc);                      \(\backslash\)
        \_pckt->hdr.hdr\_common.hdr\_type = MCA\_PML\_OB1\_HDR\_TYPE\_ACK;      \(\backslash\)
        \_pckt->hdr.hdr\_ack.hdr\_src\_req.lval = (S);                      \(\backslash\)
        \_pckt->hdr.hdr\_ack.hdr\_dst\_req.pval = (D);                      \(\backslash\)
        \_pckt->hdr.hdr\_ack.hdr\_send\_offset = (O);                       \(\backslash\)
        \_pckt->proc = (P);                                              \(\backslash\)
        \_pckt->bml\_btl = NULL;                                          \hyperlink{opal_2threads_2mutex_8h_a77efbafa6bfd030f2fca7658458a1f6d}{\(\backslash\)}
\hyperlink{opal_2threads_2mutex_8h_a77efbafa6bfd030f2fca7658458a1f6d}{        OPAL\_THREAD\_LOCK}(&mca\_pml\_ob1.lock);                            
      \hyperlink{opal__list_8h_acf822c5c351cd03b2c86e48cf9aaa158}{\(\backslash\)}
\hyperlink{opal__list_8h_acf822c5c351cd03b2c86e48cf9aaa158}{        opal\_list\_append}(&mca\_pml\_ob1.pckt\_pending,                     \(\backslash\)
                         (\hyperlink{structopal__list__item__t}{opal\_list\_item\_t}*)\_pckt);                     
      \hyperlink{opal_2threads_2mutex_8h_a26cea76373139434c7f03b24a58b6c04}{\(\backslash\)}
\hyperlink{opal_2threads_2mutex_8h_a26cea76373139434c7f03b24a58b6c04}{        OPAL\_THREAD\_UNLOCK}(&mca\_pml\_ob1.lock);                          \(\backslash\)
        (void)\_rc;                                                      \(\backslash\)
    \} \textcolor{keywordflow}{while}(0)
\end{DoxyCode}
\hypertarget{pml__ob1__recvreq_8h_ae72761f6e07285050d66cd0fc8d00cda}{\index{pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}!M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+A\+L\+L\+O\+C@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+A\+L\+L\+O\+C}}
\index{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+A\+L\+L\+O\+C@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+A\+L\+L\+O\+C}!pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}}
\subsubsection[{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+A\+L\+L\+O\+C}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+A\+L\+L\+O\+C(
\begin{DoxyParamCaption}
\item[{}]{recvreq, }
\item[{}]{rc}
\end{DoxyParamCaption}
)}}\label{pml__ob1__recvreq_8h_ae72761f6e07285050d66cd0fc8d00cda}
{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keywordflow}{do} \{                                                               \(\backslash\)
   ompi\_free\_list\_item\_t* item;                                    \(\backslash\)
   rc = OMPI\_SUCCESS;                                              \(\backslash\)
   OMPI\_FREE\_LIST\_GET(&mca\_pml\_base\_recv\_requests, item, rc);      \(\backslash\)
   recvreq = (\hyperlink{structmca__pml__ob1__recv__request__t}{mca\_pml\_ob1\_recv\_request\_t}*)item;                    \(\backslash\)
\} \textcolor{keywordflow}{while}(0)
\end{DoxyCode}


Allocate a recv request from the modules free list. 


\begin{DoxyParams}{Parameters}
{\em rc} & (O\+U\+T) O\+M\+P\+I\+\_\+\+S\+U\+C\+C\+E\+S\+S or error status on failure. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Receive request. 
\end{DoxyReturn}
\hypertarget{pml__ob1__recvreq_8h_ad3f6f46189453e8a9fba36cf173d1490}{\index{pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}!M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+I\+N\+I\+T@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+I\+N\+I\+T}}
\index{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+I\+N\+I\+T@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+I\+N\+I\+T}!pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}}
\subsubsection[{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+I\+N\+I\+T}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+I\+N\+I\+T(
\begin{DoxyParamCaption}
\item[{}]{{\bf request}, }
\item[{}]{addr, }
\item[{}]{count, }
\item[{}]{datatype, }
\item[{}]{src, }
\item[{}]{tag, }
\item[{}]{comm, }
\item[{}]{persistent}
\end{DoxyParamCaption}
)}}\label{pml__ob1__recvreq_8h_ad3f6f46189453e8a9fba36cf173d1490}
{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keywordflow}{do} \{                                                                \hyperlink{pml__base__recvreq_8h_a1b06fc879d79899969d2ddebbe603cc4}{\(\backslash\)}
\hyperlink{pml__base__recvreq_8h_a1b06fc879d79899969d2ddebbe603cc4}{    MCA\_PML\_BASE\_RECV\_REQUEST\_INIT}( &(\hyperlink{structrequest}{request})->req\_recv,         
        \(\backslash\)
                                    addr,                           \(\backslash\)
                                    count,                          \(\backslash\)
                                    datatype,                       \(\backslash\)
                                    src,                            \(\backslash\)
                                    tag,                            \(\backslash\)
                                    comm,                           \(\backslash\)
                                    persistent);                    \(\backslash\)
\} \textcolor{keywordflow}{while}(0)
\end{DoxyCode}


Initialize a receive request with call parameters. 


\begin{DoxyParams}{Parameters}
{\em request} & (I\+N) Receive request. \\
\hline
{\em addr} & (I\+N) User buffer. \\
\hline
{\em count} & (I\+N) Number of elements of indicated datatype. \\
\hline
{\em datatype} & (I\+N) User defined datatype. \\
\hline
{\em src} & (I\+N) Source rank w/in the communicator. \\
\hline
{\em tag} & (I\+N) User defined tag. \\
\hline
{\em comm} & (I\+N) Communicator. \\
\hline
{\em persistent} & (I\+N) Is this a ersistent request. \\
\hline
\end{DoxyParams}
\hypertarget{pml__ob1__recvreq_8h_a5eed2b8dc1c30c5d1d47f461c54e55d6}{\index{pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}!M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+M\+P\+I\+\_\+\+C\+O\+M\+P\+L\+E\+T\+E@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+M\+P\+I\+\_\+\+C\+O\+M\+P\+L\+E\+T\+E}}
\index{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+M\+P\+I\+\_\+\+C\+O\+M\+P\+L\+E\+T\+E@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+M\+P\+I\+\_\+\+C\+O\+M\+P\+L\+E\+T\+E}!pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}}
\subsubsection[{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+M\+P\+I\+\_\+\+C\+O\+M\+P\+L\+E\+T\+E}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+M\+P\+I\+\_\+\+C\+O\+M\+P\+L\+E\+T\+E(
\begin{DoxyParamCaption}
\item[{}]{recvreq}
\end{DoxyParamCaption}
)}}\label{pml__ob1__recvreq_8h_a5eed2b8dc1c30c5d1d47f461c54e55d6}
{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keywordflow}{do} \{                                                                              \(\backslash\)
       PERUSE\_TRACE\_COMM\_EVENT( PERUSE\_COMM\_REQ\_COMPLETE,                             \(\backslash\)
                                &(recvreq->req\_recv.req\_base), PERUSE\_RECV );         
      \hyperlink{request_2request_8h_a2eea431fcb33ca89927aaf4d6155b267}{\(\backslash\)}
\hyperlink{request_2request_8h_a2eea431fcb33ca89927aaf4d6155b267}{        ompi\_request\_complete}( &(recvreq->req\_recv.req\_base.req\_ompi), \textcolor{keyword}{true} );
              \(\backslash\)
    \} \textcolor{keywordflow}{while} (0)
\end{DoxyCode}


Mark the request as completed at M\+P\+I level for internal purposes. 


\begin{DoxyParams}{Parameters}
{\em recvreq} & (I\+N) Receive request. \\
\hline
\end{DoxyParams}


Referenced by recv\+\_\+request\+\_\+pml\+\_\+complete().

\hypertarget{pml__ob1__recvreq_8h_a1f44efced12839f28b76610a892bcd10}{\index{pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}!M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+R\+E\+T\+U\+R\+N@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+R\+E\+T\+U\+R\+N}}
\index{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+R\+E\+T\+U\+R\+N@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+R\+E\+T\+U\+R\+N}!pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}}
\subsubsection[{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+R\+E\+T\+U\+R\+N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+R\+E\+T\+U\+R\+N(
\begin{DoxyParamCaption}
\item[{}]{recvreq}
\end{DoxyParamCaption}
)}}\label{pml__ob1__recvreq_8h_a1f44efced12839f28b76610a892bcd10}
{\bfseries Value\+:}
\begin{DoxyCode}
\{                                                                   \hyperlink{pml__base__recvreq_8h_a915806aede2d23cecafa3a9e6049964a}{\(\backslash\)}
\hyperlink{pml__base__recvreq_8h_a915806aede2d23cecafa3a9e6049964a}{        MCA\_PML\_BASE\_RECV\_REQUEST\_FINI}(&(recvreq)->req\_recv);        
         \(\backslash\)
        OMPI\_FREE\_LIST\_RETURN( &mca\_pml\_base\_recv\_requests,             \(\backslash\)
                               (\hyperlink{structompi__free__list__item__t}{ompi\_free\_list\_item\_t}*)(recvreq));      \(\backslash\)
    \}
\end{DoxyCode}


\subsection{Function Documentation}
\hypertarget{pml__ob1__recvreq_8h_ae1b01df14755a54a01f5514d51b0f411}{\index{pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}!mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+req\+\_\+start@{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+req\+\_\+start}}
\index{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+req\+\_\+start@{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+req\+\_\+start}!pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}}
\subsubsection[{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+req\+\_\+start}]{\setlength{\rightskip}{0pt plus 5cm}void mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+req\+\_\+start (
\begin{DoxyParamCaption}
\item[{{\bf mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$}]{req}
\end{DoxyParamCaption}
)}}\label{pml__ob1__recvreq_8h_ae1b01df14755a54a01f5514d51b0f411}
The laps of time between the A\+C\+T\+I\+V\+A\+T\+E event and the S\+E\+A\+R\+C\+H\+\_\+\+U\+N\+E\+X one include the cost of the request lock.

References mca\+\_\+pml\+\_\+ob1\+\_\+match\+\_\+hdr\+\_\+t\+::hdr\+\_\+src, mca\+\_\+pml\+\_\+ob1\+\_\+match\+\_\+hdr\+\_\+t\+::hdr\+\_\+tag, mca\+\_\+pml\+\_\+ob1\+\_\+common\+\_\+hdr\+\_\+t\+::hdr\+\_\+type, mca\+\_\+pml\+\_\+comm\+\_\+t\+::matching\+\_\+lock, mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+matched\+\_\+probe(), mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+rndv(), ompi\+\_\+proc\+\_\+local\+\_\+proc, opal\+\_\+list\+\_\+remove\+\_\+item(), O\+P\+A\+L\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+L\+O\+C\+K, O\+P\+A\+L\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+U\+N\+L\+O\+C\+K, mca\+\_\+pml\+\_\+comm\+\_\+t\+::recv\+\_\+sequence, mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+ack\+\_\+sent, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+addr, mca\+\_\+pml\+\_\+base\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+base, mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+bytes\+\_\+expected, mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+bytes\+\_\+received, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+comm, mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+match\+\_\+received, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+peer, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+proc, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+sequence, mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t\+::seg\+\_\+addr, mca\+\_\+pml\+\_\+ob1\+\_\+comm\+\_\+proc\+\_\+t\+::specific\+\_\+receives, mca\+\_\+pml\+\_\+ob1\+\_\+comm\+\_\+proc\+\_\+t\+::unexpected\+\_\+frags, and mca\+\_\+pml\+\_\+comm\+\_\+t\+::wild\+\_\+receives.

\hypertarget{pml__ob1__recvreq_8h_acfaaeebaa3515e72acaa4f27ea285a74}{\index{pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}!mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+rndv@{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+rndv}}
\index{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+rndv@{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+rndv}!pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}}
\subsubsection[{mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+rndv}]{\setlength{\rightskip}{0pt plus 5cm}void mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+progress\+\_\+rndv (
\begin{DoxyParamCaption}
\item[{{\bf mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$}]{req, }
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$}]{btl, }
\item[{{\bf mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t} $\ast$}]{segments, }
\item[{size\+\_\+t}]{num\+\_\+segments}
\end{DoxyParamCaption}
)}}\label{pml__ob1__recvreq_8h_acfaaeebaa3515e72acaa4f27ea285a74}
The P\+U\+T protocol do not attach any data to the original request. Therefore, we might want to avoid unpacking if there is nothing to unpack.

References mca\+\_\+pml\+\_\+ob1\+\_\+rendezvous\+\_\+hdr\+\_\+t\+::hdr\+\_\+msg\+\_\+length, mca\+\_\+pml\+\_\+ob1\+\_\+rendezvous\+\_\+hdr\+\_\+t\+::hdr\+\_\+src\+\_\+req, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+addr, mca\+\_\+pml\+\_\+base\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+base, mca\+\_\+pml\+\_\+base\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+bytes\+\_\+packed, mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+bytes\+\_\+received, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+count, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+datatype, and mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t\+::seg\+\_\+addr.



Referenced by mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+frag\+\_\+match(), and mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+req\+\_\+start().

\hypertarget{pml__ob1__recvreq_8h_ae817c136894df1f035adb6fe9addbf8b}{\index{pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}!recv\+\_\+request\+\_\+pml\+\_\+complete@{recv\+\_\+request\+\_\+pml\+\_\+complete}}
\index{recv\+\_\+request\+\_\+pml\+\_\+complete@{recv\+\_\+request\+\_\+pml\+\_\+complete}!pml\+\_\+ob1\+\_\+recvreq.\+h@{pml\+\_\+ob1\+\_\+recvreq.\+h}}
\subsubsection[{recv\+\_\+request\+\_\+pml\+\_\+complete}]{\setlength{\rightskip}{0pt plus 5cm}static void recv\+\_\+request\+\_\+pml\+\_\+complete (
\begin{DoxyParamCaption}
\item[{{\bf mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t} $\ast$}]{recvreq}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{pml__ob1__recvreq_8h_ae817c136894df1f035adb6fe9addbf8b}


Complete receive request. 

\hyperlink{classRequest}{Request} structure cannot be accessed after calling this function any more.


\begin{DoxyParams}{Parameters}
{\em recvreq} & (I\+N) Receive request. \\
\hline
\end{DoxyParams}


References M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+O\+B1\+\_\+\+R\+E\+C\+V\+\_\+\+R\+E\+Q\+U\+E\+S\+T\+\_\+\+M\+P\+I\+\_\+\+C\+O\+M\+P\+L\+E\+T\+E, mca\+\_\+mpool\+\_\+base\+\_\+module\+\_\+t\+::mpool\+\_\+deregister, O\+P\+A\+L\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+L\+O\+C\+K, O\+P\+A\+L\+\_\+\+T\+H\+R\+E\+A\+D\+\_\+\+U\+N\+L\+O\+C\+K, mca\+\_\+pml\+\_\+base\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+base, mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+bytes\+\_\+expected, mca\+\_\+pml\+\_\+base\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+bytes\+\_\+packed, mca\+\_\+pml\+\_\+ob1\+\_\+recv\+\_\+request\+\_\+t\+::req\+\_\+bytes\+\_\+received, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+free\+\_\+called, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+ompi, mca\+\_\+pml\+\_\+base\+\_\+request\+\_\+t\+::req\+\_\+pml\+\_\+complete, and ompi\+\_\+request\+\_\+t\+::req\+\_\+status.

