\hypertarget{pml__bfo__recvfrag_8h}{\section{ompi/mca/pml/bfo/pml\+\_\+bfo\+\_\+recvfrag.h File Reference}
\label{pml__bfo__recvfrag_8h}\index{ompi/mca/pml/bfo/pml\+\_\+bfo\+\_\+recvfrag.\+h@{ompi/mca/pml/bfo/pml\+\_\+bfo\+\_\+recvfrag.\+h}}
}
{\ttfamily \#include \char`\"{}ompi/mca/btl/btl.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}pml\+\_\+bfo\+\_\+hdr.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structmca__pml__bfo__buffer__t}{mca\+\_\+pml\+\_\+bfo\+\_\+buffer\+\_\+t}
\item 
struct \hyperlink{structmca__pml__bfo__recv__frag__t}{mca\+\_\+pml\+\_\+bfo\+\_\+recv\+\_\+frag\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define {\bfseries M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C}(frag, rc)
\item 
\hypertarget{pml__bfo__recvfrag_8h_a41b463ff7cb9ee802ec8e14c567e0e54}{\#define {\bfseries M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+I\+N\+I\+T}(frag, hdr, segs, cnt, btl)}\label{pml__bfo__recvfrag_8h_a41b463ff7cb9ee802ec8e14c567e0e54}

\item 
\#define {\bfseries M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N}(frag)
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{pml__bfo__recvfrag_8h_aa870f103be1b951ff8e08815bc8c377f}{typedef struct \hyperlink{structmca__pml__bfo__buffer__t}{mca\+\_\+pml\+\_\+bfo\+\_\+buffer\+\_\+t} {\bfseries mca\+\_\+pml\+\_\+bfo\+\_\+buffer\+\_\+t}}\label{pml__bfo__recvfrag_8h_aa870f103be1b951ff8e08815bc8c377f}

\item 
\hypertarget{pml__bfo__recvfrag_8h_ab4319413b5aa0a41e34414197903516b}{typedef struct \\*
\hyperlink{structmca__pml__bfo__recv__frag__t}{mca\+\_\+pml\+\_\+bfo\+\_\+recv\+\_\+frag\+\_\+t} {\bfseries mca\+\_\+pml\+\_\+bfo\+\_\+recv\+\_\+frag\+\_\+t}}\label{pml__bfo__recvfrag_8h_ab4319413b5aa0a41e34414197903516b}

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

\item 
\hypertarget{pml__bfo__recvfrag_8h_a02591c2274ec9a3517d9d1b50fd9c2fa}{void \hyperlink{pml__bfo__recvfrag_8h_a02591c2274ec9a3517d9d1b50fd9c2fa}{mca\+\_\+pml\+\_\+bfo\+\_\+recv\+\_\+frag\+\_\+callback\+\_\+match} (\hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t tag, \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$descriptor, void $\ast$cbdata)}\label{pml__bfo__recvfrag_8h_a02591c2274ec9a3517d9d1b50fd9c2fa}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (match). \end{DoxyCompactList}\item 
\hypertarget{pml__bfo__recvfrag_8h_a39cefc90d241d75e8529e3d0d6a74adf}{void \hyperlink{pml__bfo__recvfrag_8h_a39cefc90d241d75e8529e3d0d6a74adf}{mca\+\_\+pml\+\_\+bfo\+\_\+recv\+\_\+frag\+\_\+callback\+\_\+rndv} (\hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t tag, \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$descriptor, void $\ast$cbdata)}\label{pml__bfo__recvfrag_8h_a39cefc90d241d75e8529e3d0d6a74adf}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (rndv). \end{DoxyCompactList}\item 
\hypertarget{pml__bfo__recvfrag_8h_a763895a72c1fedd695719e333fcfb9cd}{void \hyperlink{pml__bfo__recvfrag_8h_a763895a72c1fedd695719e333fcfb9cd}{mca\+\_\+pml\+\_\+bfo\+\_\+recv\+\_\+frag\+\_\+callback\+\_\+rget} (\hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t tag, \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$descriptor, void $\ast$cbdata)}\label{pml__bfo__recvfrag_8h_a763895a72c1fedd695719e333fcfb9cd}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (rget). \end{DoxyCompactList}\item 
\hypertarget{pml__bfo__recvfrag_8h_a381ae5024950553e632c9851df47ad55}{void \hyperlink{pml__bfo__recvfrag_8h_a381ae5024950553e632c9851df47ad55}{mca\+\_\+pml\+\_\+bfo\+\_\+recv\+\_\+frag\+\_\+callback\+\_\+ack} (\hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t tag, \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$descriptor, void $\ast$cbdata)}\label{pml__bfo__recvfrag_8h_a381ae5024950553e632c9851df47ad55}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (ack). \end{DoxyCompactList}\item 
\hypertarget{pml__bfo__recvfrag_8h_a5223e96dfe103a0d34a5b261916618a8}{void \hyperlink{pml__bfo__recvfrag_8h_a5223e96dfe103a0d34a5b261916618a8}{mca\+\_\+pml\+\_\+bfo\+\_\+recv\+\_\+frag\+\_\+callback\+\_\+frag} (\hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t tag, \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$descriptor, void $\ast$cbdata)}\label{pml__bfo__recvfrag_8h_a5223e96dfe103a0d34a5b261916618a8}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (frag). \end{DoxyCompactList}\item 
\hypertarget{pml__bfo__recvfrag_8h_a5882bf36276940e472d2fa102ff06300}{void \hyperlink{pml__bfo__recvfrag_8h_a5882bf36276940e472d2fa102ff06300}{mca\+\_\+pml\+\_\+bfo\+\_\+recv\+\_\+frag\+\_\+callback\+\_\+put} (\hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t tag, \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$descriptor, void $\ast$cbdata)}\label{pml__bfo__recvfrag_8h_a5882bf36276940e472d2fa102ff06300}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (put). \end{DoxyCompactList}\item 
\hypertarget{pml__bfo__recvfrag_8h_afb8c7f76836044bc4b8a3aa9718a7df2}{void \hyperlink{pml__bfo__recvfrag_8h_afb8c7f76836044bc4b8a3aa9718a7df2}{mca\+\_\+pml\+\_\+bfo\+\_\+recv\+\_\+frag\+\_\+callback\+\_\+fin} (\hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t tag, \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$descriptor, void $\ast$cbdata)}\label{pml__bfo__recvfrag_8h_afb8c7f76836044bc4b8a3aa9718a7df2}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (fin). \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Macro Definition Documentation}
\hypertarget{pml__bfo__recvfrag_8h_aba2a6983bef55b9e9676e915771602d6}{\index{pml\+\_\+bfo\+\_\+recvfrag.\+h@{pml\+\_\+bfo\+\_\+recvfrag.\+h}!M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C}}
\index{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C}!pml\+\_\+bfo\+\_\+recvfrag.\+h@{pml\+\_\+bfo\+\_\+recvfrag.\+h}}
\subsubsection[{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C(
\begin{DoxyParamCaption}
\item[{}]{frag, }
\item[{}]{rc}
\end{DoxyParamCaption}
)}}\label{pml__bfo__recvfrag_8h_aba2a6983bef55b9e9676e915771602d6}
{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keywordflow}{do} \{                                                            \(\backslash\)
    ompi\_free\_list\_item\_t* item;                                \(\backslash\)
    OMPI\_FREE\_LIST\_WAIT(&mca\_pml\_bfo.recv\_frags, item, rc);     \(\backslash\)
    frag = (\hyperlink{structmca__pml__bfo__recv__frag__t}{mca\_pml\_bfo\_recv\_frag\_t}*)item;                      \(\backslash\)
\} \textcolor{keywordflow}{while}(0)
\end{DoxyCode}
\hypertarget{pml__bfo__recvfrag_8h_af830cbcbd687eccc4c84ed597c1f975c}{\index{pml\+\_\+bfo\+\_\+recvfrag.\+h@{pml\+\_\+bfo\+\_\+recvfrag.\+h}!M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N}}
\index{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N}!pml\+\_\+bfo\+\_\+recvfrag.\+h@{pml\+\_\+bfo\+\_\+recvfrag.\+h}}
\subsubsection[{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N}]{\setlength{\rightskip}{0pt plus 5cm}\#define M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+B\+F\+O\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N(
\begin{DoxyParamCaption}
\item[{}]{frag}
\end{DoxyParamCaption}
)}}\label{pml__bfo__recvfrag_8h_af830cbcbd687eccc4c84ed597c1f975c}
{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keywordflow}{do} \{                                                                    \(\backslash\)
    if( frag->segments[0].seg\_len > mca\_pml\_bfo.unexpected\_limit ) \{    \(\backslash\)
        \textcolor{comment}{/* return buffers */}                                            \(\backslash\)
        mca\_pml\_bfo.allocator->alc\_free( mca\_pml\_bfo.allocator,         \(\backslash\)
                                         frag->buffers[0].addr );       \(\backslash\)
    \}                                                                   \(\backslash\)
    frag->num\_segments = 0;                                             \(\backslash\)
                                                                        \(\backslash\)
    \textcolor{comment}{/* return recv\_frag */}                                              \(\backslash\)
    OMPI\_FREE\_LIST\_RETURN(&mca\_pml\_bfo.recv\_frags,                      \(\backslash\)
                          (\hyperlink{structompi__free__list__item__t}{ompi\_free\_list\_item\_t}*)frag);                \(\backslash\)
 \} \textcolor{keywordflow}{while}(0)
\end{DoxyCode}
