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

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

\item 
\hypertarget{pml__csum__recvfrag_8h_a2b53ee09b6e84f11dc603d1c88a552a8}{typedef struct \\*
\hyperlink{structmca__pml__csum__recv__frag__t}{mca\+\_\+pml\+\_\+csum\+\_\+recv\+\_\+frag\+\_\+t} {\bfseries mca\+\_\+pml\+\_\+csum\+\_\+recv\+\_\+frag\+\_\+t}}\label{pml__csum__recvfrag_8h_a2b53ee09b6e84f11dc603d1c88a552a8}

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

\item 
\hypertarget{pml__csum__recvfrag_8h_a149784c877ff666d534581a5ff9bc377}{void \hyperlink{pml__csum__recvfrag_8h_a149784c877ff666d534581a5ff9bc377}{mca\+\_\+pml\+\_\+csum\+\_\+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__csum__recvfrag_8h_a149784c877ff666d534581a5ff9bc377}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (match). \end{DoxyCompactList}\item 
\hypertarget{pml__csum__recvfrag_8h_a5ba96e61b8f681812ad38207c10de47a}{void \hyperlink{pml__csum__recvfrag_8h_a5ba96e61b8f681812ad38207c10de47a}{mca\+\_\+pml\+\_\+csum\+\_\+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__csum__recvfrag_8h_a5ba96e61b8f681812ad38207c10de47a}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (rndv). \end{DoxyCompactList}\item 
\hypertarget{pml__csum__recvfrag_8h_ada973dedf2224540eca1a4d7f6cd367c}{void \hyperlink{pml__csum__recvfrag_8h_ada973dedf2224540eca1a4d7f6cd367c}{mca\+\_\+pml\+\_\+csum\+\_\+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__csum__recvfrag_8h_ada973dedf2224540eca1a4d7f6cd367c}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (rget). \end{DoxyCompactList}\item 
\hypertarget{pml__csum__recvfrag_8h_a8cba4482266d0b94b384218a9123aee6}{void \hyperlink{pml__csum__recvfrag_8h_a8cba4482266d0b94b384218a9123aee6}{mca\+\_\+pml\+\_\+csum\+\_\+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__csum__recvfrag_8h_a8cba4482266d0b94b384218a9123aee6}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (ack). \end{DoxyCompactList}\item 
\hypertarget{pml__csum__recvfrag_8h_a072d996c16a4ac4b4b7cc0878777dde9}{void \hyperlink{pml__csum__recvfrag_8h_a072d996c16a4ac4b4b7cc0878777dde9}{mca\+\_\+pml\+\_\+csum\+\_\+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__csum__recvfrag_8h_a072d996c16a4ac4b4b7cc0878777dde9}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (frag). \end{DoxyCompactList}\item 
\hypertarget{pml__csum__recvfrag_8h_a332831928dc5bdb21a2e4a28e6d35463}{void \hyperlink{pml__csum__recvfrag_8h_a332831928dc5bdb21a2e4a28e6d35463}{mca\+\_\+pml\+\_\+csum\+\_\+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__csum__recvfrag_8h_a332831928dc5bdb21a2e4a28e6d35463}

\begin{DoxyCompactList}\small\item\em Callback from B\+T\+L on receipt of a recv\+\_\+frag (put). \end{DoxyCompactList}\item 
\hypertarget{pml__csum__recvfrag_8h_ad6c6aa0e3a2e528e816f69f8f4dc94dd}{void \hyperlink{pml__csum__recvfrag_8h_ad6c6aa0e3a2e528e816f69f8f4dc94dd}{mca\+\_\+pml\+\_\+csum\+\_\+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__csum__recvfrag_8h_ad6c6aa0e3a2e528e816f69f8f4dc94dd}

\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__csum__recvfrag_8h_a69a491048cbe66ace6e912febed5787f}{\index{pml\+\_\+csum\+\_\+recvfrag.\+h@{pml\+\_\+csum\+\_\+recvfrag.\+h}!M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+C\+S\+U\+M\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+C\+S\+U\+M\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C}}
\index{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+C\+S\+U\+M\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+C\+S\+U\+M\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C}!pml\+\_\+csum\+\_\+recvfrag.\+h@{pml\+\_\+csum\+\_\+recvfrag.\+h}}
\subsubsection[{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+C\+S\+U\+M\+\_\+\+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\+\_\+\+C\+S\+U\+M\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+A\+L\+L\+O\+C(
\begin{DoxyParamCaption}
\item[{}]{frag, }
\item[{}]{rc}
\end{DoxyParamCaption}
)}}\label{pml__csum__recvfrag_8h_a69a491048cbe66ace6e912febed5787f}
{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keywordflow}{do} \{                                                            \(\backslash\)
    ompi\_free\_list\_item\_t* item;                                \(\backslash\)
    OMPI\_FREE\_LIST\_WAIT(&mca\_pml\_csum.recv\_frags, item, rc);     \(\backslash\)
    frag = (\hyperlink{structmca__pml__csum__recv__frag__t}{mca\_pml\_csum\_recv\_frag\_t}*)item;                      \(\backslash\)
\} \textcolor{keywordflow}{while}(0)
\end{DoxyCode}
\hypertarget{pml__csum__recvfrag_8h_ad2263481485a71d6eba78d61d9b69941}{\index{pml\+\_\+csum\+\_\+recvfrag.\+h@{pml\+\_\+csum\+\_\+recvfrag.\+h}!M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+C\+S\+U\+M\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+C\+S\+U\+M\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N}}
\index{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+C\+S\+U\+M\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N@{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+C\+S\+U\+M\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N}!pml\+\_\+csum\+\_\+recvfrag.\+h@{pml\+\_\+csum\+\_\+recvfrag.\+h}}
\subsubsection[{M\+C\+A\+\_\+\+P\+M\+L\+\_\+\+C\+S\+U\+M\+\_\+\+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\+\_\+\+C\+S\+U\+M\+\_\+\+R\+E\+C\+V\+\_\+\+F\+R\+A\+G\+\_\+\+R\+E\+T\+U\+R\+N(
\begin{DoxyParamCaption}
\item[{}]{frag}
\end{DoxyParamCaption}
)}}\label{pml__csum__recvfrag_8h_ad2263481485a71d6eba78d61d9b69941}
{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keywordflow}{do} \{                                                                    \(\backslash\)
    if( frag->segments[0].seg\_len > mca\_pml\_csum.unexpected\_limit ) \{    \(\backslash\)
        \textcolor{comment}{/* return buffers */}                                            \(\backslash\)
        mca\_pml\_csum.allocator->alc\_free( mca\_pml\_csum.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\_csum.recv\_frags,                      \(\backslash\)
                          (\hyperlink{structompi__free__list__item__t}{ompi\_free\_list\_item\_t}*)frag);                \(\backslash\)
 \} \textcolor{keywordflow}{while}(0)
\end{DoxyCode}
