\hypertarget{btl__vader_8h}{\section{ompi/mca/btl/vader/btl\+\_\+vader.h File Reference}
\label{btl__vader_8h}\index{ompi/mca/btl/vader/btl\+\_\+vader.\+h@{ompi/mca/btl/vader/btl\+\_\+vader.\+h}}
}
{\ttfamily \#include \char`\"{}ompi\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include $<$stddef.\+h$>$}\\*
{\ttfamily \#include $<$stdlib.\+h$>$}\\*
{\ttfamily \#include $<$string.\+h$>$}\\*
{\ttfamily \#include $<$xpmem.\+h$>$}\\*
{\ttfamily \#include \char`\"{}opal/include/opal/align.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/class/opal\+\_\+free\+\_\+list.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/sys/atomic.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/btl/btl.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/mpool/mpool.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/mpool/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/mpool/sm/mpool\+\_\+sm.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/common/sm/common\+\_\+sm.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/rcache/rcache.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/rcache/base/base.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structmca__btl__vader__component__t}{mca\+\_\+btl\+\_\+vader\+\_\+component\+\_\+t}
\begin{DoxyCompactList}\small\item\em Shared Memory (V\+A\+D\+E\+R) B\+T\+L module. \end{DoxyCompactList}\item 
struct \hyperlink{structmca__btl__vader__t}{mca\+\_\+btl\+\_\+vader\+\_\+t}
\begin{DoxyCompactList}\small\item\em V\+A\+D\+E\+R B\+T\+L Interface. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\hypertarget{btl__vader_8h_ac6afabdc09a49a433ee19d8a9486056d}{\#define {\bfseries min}(a, b)~((a) $<$ (b) ? (a) \+: (b))}\label{btl__vader_8h_ac6afabdc09a49a433ee19d8a9486056d}

\item 
\hypertarget{btl__vader_8h_a42ef2df5808d00ff9f3e32e649e2bca7}{\#define {\bfseries V\+A\+D\+E\+R\+\_\+\+C\+A\+C\+H\+E\+\_\+\+L\+I\+N\+E\+\_\+\+P\+A\+D}~128}\label{btl__vader_8h_a42ef2df5808d00ff9f3e32e649e2bca7}

\item 
\hypertarget{btl__vader_8h_a3292e63d1d11103a0f98c10904a9e26a}{\#define {\bfseries V\+A\+D\+E\+R\+\_\+\+M\+A\+X\+\_\+\+A\+D\+D\+R\+E\+S\+S}~((uintptr\+\_\+t)0x7ffffffff000)}\label{btl__vader_8h_a3292e63d1d11103a0f98c10904a9e26a}

\item 
\hypertarget{btl__vader_8h_a2eec867f10bcac2ae49b29953fb94e54}{\#define {\bfseries V\+I\+R\+T\+U\+A\+L2\+R\+E\+L\+A\+T\+I\+V\+E}(V\+A\+D\+D\+R)~((intptr\+\_\+t)(V\+A\+D\+D\+R)  -\/ (intptr\+\_\+t)mca\+\_\+btl\+\_\+vader\+\_\+component.\+shm\+\_\+bases\mbox{[}mca\+\_\+btl\+\_\+vader\+\_\+component.\+my\+\_\+smp\+\_\+rank\mbox{]})}\label{btl__vader_8h_a2eec867f10bcac2ae49b29953fb94e54}

\item 
\hypertarget{btl__vader_8h_a2f3119deb810df26ec96a370a3e361ed}{\#define {\bfseries R\+E\+L\+A\+T\+I\+V\+E2\+V\+I\+R\+T\+U\+A\+L}(O\+F\+F\+S\+E\+T)~((intptr\+\_\+t)(O\+F\+F\+S\+E\+T) + (intptr\+\_\+t)mca\+\_\+btl\+\_\+vader\+\_\+component.\+shm\+\_\+bases\mbox{[}mca\+\_\+btl\+\_\+vader\+\_\+component.\+my\+\_\+smp\+\_\+rank\mbox{]})}\label{btl__vader_8h_a2f3119deb810df26ec96a370a3e361ed}

\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{btl__vader_8h_a084130b1fce76437a112ea9021db2943}{typedef struct \\*
\hyperlink{structmca__btl__vader__component__t}{mca\+\_\+btl\+\_\+vader\+\_\+component\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+vader\+\_\+component\+\_\+t}}\label{btl__vader_8h_a084130b1fce76437a112ea9021db2943}

\item 
\hypertarget{btl__vader_8h_ae323034417d75dcc7c906e22d9049e23}{typedef struct \hyperlink{structmca__btl__vader__t}{mca\+\_\+btl\+\_\+vader\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+vader\+\_\+t}}\label{btl__vader_8h_ae323034417d75dcc7c906e22d9049e23}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{btl__vader_8h_a3d02d759bc871ecec76befc011e6ee37}{static \\*
\hyperlink{structmca__mpool__base__registration__t}{mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$ {\bfseries vader\+\_\+get\+\_\+registation} (int peer\+\_\+smp\+\_\+rank, void $\ast$rem\+\_\+ptr, size\+\_\+t size, int flags)}\label{btl__vader_8h_a3d02d759bc871ecec76befc011e6ee37}

\item 
\hypertarget{btl__vader_8h_adde3a28d3d2b31eccf093b4831e2c8df}{static void {\bfseries vader\+\_\+return\+\_\+registration} (\hyperlink{structmca__mpool__base__registration__t}{mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$reg, int peer\+\_\+smp\+\_\+rank)}\label{btl__vader_8h_adde3a28d3d2b31eccf093b4831e2c8df}

\item 
\hypertarget{btl__vader_8h_a4ddf825748de60d8c87798ce1b7c4f4d}{static void $\ast$ {\bfseries vader\+\_\+reg\+\_\+to\+\_\+ptr} (\hyperlink{structmca__mpool__base__registration__t}{mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$reg, void $\ast$rem\+\_\+ptr)}\label{btl__vader_8h_a4ddf825748de60d8c87798ce1b7c4f4d}

\item 
\hypertarget{btl__vader_8h_a496823cd07ad62b82783c7da0558f02c}{static void {\bfseries vader\+\_\+memmove} (void $\ast$dst, void $\ast$src, size\+\_\+t size)}\label{btl__vader_8h_a496823cd07ad62b82783c7da0558f02c}

\item 
int \hyperlink{btl__vader_8h_a7120856ec1e32bc43f2d5394bb9c8fd8}{mca\+\_\+btl\+\_\+vader\+\_\+send} (struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, struct \hyperlink{structmca__btl__base__endpoint__t}{mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$endpoint, struct \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$descriptor, mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t tag)
\begin{DoxyCompactList}\small\item\em Initiate a send to the peer. \end{DoxyCompactList}\item 
int \hyperlink{btl__vader_8h_ae1ce7d453ecf8a22d0fd1ac4abbb9015}{mca\+\_\+btl\+\_\+vader\+\_\+sendi} (struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, struct \hyperlink{structmca__btl__base__endpoint__t}{mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$endpoint, struct \hyperlink{structopal__convertor__t}{opal\+\_\+convertor\+\_\+t} $\ast$convertor, void $\ast$header, size\+\_\+t header\+\_\+size, size\+\_\+t payload\+\_\+size, uint8\+\_\+t order, uint32\+\_\+t flags, mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t tag, \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$$\ast$descriptor)
\begin{DoxyCompactList}\small\item\em Initiate an inline send to the peer. \end{DoxyCompactList}\item 
int \hyperlink{btl__vader_8h_ab185082fc4dfdfaafd2298560344ec8e}{mca\+\_\+btl\+\_\+vader\+\_\+put} (struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, struct \hyperlink{structmca__btl__base__endpoint__t}{mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$endpoint, struct \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$des)
\begin{DoxyCompactList}\small\item\em Initiate an synchronous put. \end{DoxyCompactList}\item 
int \hyperlink{btl__vader_8h_a6079ef0772a545eef18fb36b4e42f7e3}{mca\+\_\+btl\+\_\+vader\+\_\+get} (struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, struct \hyperlink{structmca__btl__base__endpoint__t}{mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$endpoint, struct \hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$des)
\begin{DoxyCompactList}\small\item\em Initiate an synchronous get. \end{DoxyCompactList}\item 
\hyperlink{structmca__btl__base__descriptor__t}{mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$ \hyperlink{btl__vader_8h_afdc3dd18e153767dc0b869933dc614b9}{mca\+\_\+btl\+\_\+vader\+\_\+alloc} (struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl, struct \hyperlink{structmca__btl__base__endpoint__t}{mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$endpoint, uint8\+\_\+t order, size\+\_\+t size, uint32\+\_\+t flags)
\begin{DoxyCompactList}\small\item\em Allocate a segment. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{btl__vader_8h_a1dd8cb14899af485f565914153a1d65c}{int {\bfseries mca\+\_\+btl\+\_\+vader\+\_\+memcpy\+\_\+limit}}\label{btl__vader_8h_a1dd8cb14899af485f565914153a1d65c}

\item 
\hypertarget{btl__vader_8h_ada3da32a929824a18fe217456232c93a}{int {\bfseries mca\+\_\+btl\+\_\+vader\+\_\+log\+\_\+align}}\label{btl__vader_8h_ada3da32a929824a18fe217456232c93a}

\item 
\hypertarget{btl__vader_8h_aa34dff8a8d31f1c9d00a111b9fe7a5ba}{int {\bfseries mca\+\_\+btl\+\_\+vader\+\_\+max\+\_\+inline\+\_\+send}}\label{btl__vader_8h_aa34dff8a8d31f1c9d00a111b9fe7a5ba}

\item 
\hypertarget{btl__vader_8h_a479489e0e8ba149ec9fe687222b8c6e7}{O\+M\+P\+I\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \\*
\hyperlink{structmca__btl__vader__component__t}{mca\+\_\+btl\+\_\+vader\+\_\+component\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+vader\+\_\+component}}\label{btl__vader_8h_a479489e0e8ba149ec9fe687222b8c6e7}

\item 
\hypertarget{btl__vader_8h_a7296f01701c352dc8f6bc2971152f5b3}{O\+M\+P\+I\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \\*
\hyperlink{structmca__btl__vader__t}{mca\+\_\+btl\+\_\+vader\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+vader}}\label{btl__vader_8h_a7296f01701c352dc8f6bc2971152f5b3}

\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{btl__vader_8h_afdc3dd18e153767dc0b869933dc614b9}{\index{btl\+\_\+vader.\+h@{btl\+\_\+vader.\+h}!mca\+\_\+btl\+\_\+vader\+\_\+alloc@{mca\+\_\+btl\+\_\+vader\+\_\+alloc}}
\index{mca\+\_\+btl\+\_\+vader\+\_\+alloc@{mca\+\_\+btl\+\_\+vader\+\_\+alloc}!btl\+\_\+vader.\+h@{btl\+\_\+vader.\+h}}
\subsubsection[{mca\+\_\+btl\+\_\+vader\+\_\+alloc}]{\setlength{\rightskip}{0pt plus 5cm}{\bf mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t}$\ast$ mca\+\_\+btl\+\_\+vader\+\_\+alloc (
\begin{DoxyParamCaption}
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$}]{btl, }
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$}]{endpoint, }
\item[{uint8\+\_\+t}]{order, }
\item[{size\+\_\+t}]{size, }
\item[{uint32\+\_\+t}]{flags}
\end{DoxyParamCaption}
)}}\label{btl__vader_8h_afdc3dd18e153767dc0b869933dc614b9}


Allocate a segment. 


\begin{DoxyParams}{Parameters}
{\em btl} & (I\+N) B\+T\+L module \\
\hline
{\em size} & (I\+N) \hyperlink{classRequest}{Request} segment size. \\
\hline
\end{DoxyParams}


References mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::des\+\_\+dst, mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::des\+\_\+flags, mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::des\+\_\+src, mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::des\+\_\+src\+\_\+cnt, mca\+\_\+btl\+\_\+vader\+\_\+component\+\_\+t\+::eager\+\_\+limit, mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::order, and mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t\+::seg\+\_\+len.



Referenced by mca\+\_\+btl\+\_\+vader\+\_\+sendi().

\hypertarget{btl__vader_8h_a6079ef0772a545eef18fb36b4e42f7e3}{\index{btl\+\_\+vader.\+h@{btl\+\_\+vader.\+h}!mca\+\_\+btl\+\_\+vader\+\_\+get@{mca\+\_\+btl\+\_\+vader\+\_\+get}}
\index{mca\+\_\+btl\+\_\+vader\+\_\+get@{mca\+\_\+btl\+\_\+vader\+\_\+get}!btl\+\_\+vader.\+h@{btl\+\_\+vader.\+h}}
\subsubsection[{mca\+\_\+btl\+\_\+vader\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}int mca\+\_\+btl\+\_\+vader\+\_\+get (
\begin{DoxyParamCaption}
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$}]{btl, }
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$}]{endpoint, }
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$}]{des}
\end{DoxyParamCaption}
)}}\label{btl__vader_8h_a6079ef0772a545eef18fb36b4e42f7e3}


Initiate an synchronous get. 


\begin{DoxyParams}{Parameters}
{\em btl} & (I\+N) B\+T\+L module \\
\hline
{\em endpoint} & (I\+N) B\+T\+L addressing information \\
\hline
{\em descriptor} & (I\+N) Description of the data to be transferred \\
\hline
\end{DoxyParams}


References mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::des\+\_\+dst, mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::des\+\_\+src, mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t\+::peer\+\_\+smp\+\_\+rank, mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t\+::seg\+\_\+key, and mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t\+::seg\+\_\+len.

\hypertarget{btl__vader_8h_ab185082fc4dfdfaafd2298560344ec8e}{\index{btl\+\_\+vader.\+h@{btl\+\_\+vader.\+h}!mca\+\_\+btl\+\_\+vader\+\_\+put@{mca\+\_\+btl\+\_\+vader\+\_\+put}}
\index{mca\+\_\+btl\+\_\+vader\+\_\+put@{mca\+\_\+btl\+\_\+vader\+\_\+put}!btl\+\_\+vader.\+h@{btl\+\_\+vader.\+h}}
\subsubsection[{mca\+\_\+btl\+\_\+vader\+\_\+put}]{\setlength{\rightskip}{0pt plus 5cm}int mca\+\_\+btl\+\_\+vader\+\_\+put (
\begin{DoxyParamCaption}
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$}]{btl, }
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$}]{endpoint, }
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$}]{des}
\end{DoxyParamCaption}
)}}\label{btl__vader_8h_ab185082fc4dfdfaafd2298560344ec8e}


Initiate an synchronous put. 


\begin{DoxyParams}{Parameters}
{\em btl} & (I\+N) B\+T\+L module \\
\hline
{\em endpoint} & (I\+N) B\+T\+L addressing information \\
\hline
{\em descriptor} & (I\+N) Description of the data to be transferred \\
\hline
\end{DoxyParams}


References mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::des\+\_\+dst, mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::des\+\_\+flags, mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::des\+\_\+src, mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t\+::peer\+\_\+smp\+\_\+rank, mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t\+::seg\+\_\+key, and mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t\+::seg\+\_\+len.

\hypertarget{btl__vader_8h_a7120856ec1e32bc43f2d5394bb9c8fd8}{\index{btl\+\_\+vader.\+h@{btl\+\_\+vader.\+h}!mca\+\_\+btl\+\_\+vader\+\_\+send@{mca\+\_\+btl\+\_\+vader\+\_\+send}}
\index{mca\+\_\+btl\+\_\+vader\+\_\+send@{mca\+\_\+btl\+\_\+vader\+\_\+send}!btl\+\_\+vader.\+h@{btl\+\_\+vader.\+h}}
\subsubsection[{mca\+\_\+btl\+\_\+vader\+\_\+send}]{\setlength{\rightskip}{0pt plus 5cm}int mca\+\_\+btl\+\_\+vader\+\_\+send (
\begin{DoxyParamCaption}
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$}]{btl, }
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$}]{endpoint, }
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$}]{descriptor, }
\item[{mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t}]{tag}
\end{DoxyParamCaption}
)}}\label{btl__vader_8h_a7120856ec1e32bc43f2d5394bb9c8fd8}


Initiate a send to the peer. 


\begin{DoxyParams}{Parameters}
{\em btl} & (I\+N) B\+T\+L module \\
\hline
{\em peer} & (I\+N) B\+T\+L peer addressing \\
\hline
\end{DoxyParams}


References mca\+\_\+btl\+\_\+vader\+\_\+component\+\_\+t\+::active\+\_\+sends, mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t\+::des\+\_\+flags, opal\+\_\+list\+\_\+append, mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t\+::peer\+\_\+smp\+\_\+rank, mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t\+::seg\+\_\+addr, and mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t\+::seg\+\_\+len.

\hypertarget{btl__vader_8h_ae1ce7d453ecf8a22d0fd1ac4abbb9015}{\index{btl\+\_\+vader.\+h@{btl\+\_\+vader.\+h}!mca\+\_\+btl\+\_\+vader\+\_\+sendi@{mca\+\_\+btl\+\_\+vader\+\_\+sendi}}
\index{mca\+\_\+btl\+\_\+vader\+\_\+sendi@{mca\+\_\+btl\+\_\+vader\+\_\+sendi}!btl\+\_\+vader.\+h@{btl\+\_\+vader.\+h}}
\subsubsection[{mca\+\_\+btl\+\_\+vader\+\_\+sendi}]{\setlength{\rightskip}{0pt plus 5cm}int mca\+\_\+btl\+\_\+vader\+\_\+sendi (
\begin{DoxyParamCaption}
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$}]{btl, }
\item[{struct {\bf mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$}]{endpoint, }
\item[{struct {\bf opal\+\_\+convertor\+\_\+t} $\ast$}]{convertor, }
\item[{void $\ast$}]{header, }
\item[{size\+\_\+t}]{header\+\_\+size, }
\item[{size\+\_\+t}]{payload\+\_\+size, }
\item[{uint8\+\_\+t}]{order, }
\item[{uint32\+\_\+t}]{flags, }
\item[{mca\+\_\+btl\+\_\+base\+\_\+tag\+\_\+t}]{tag, }
\item[{{\bf mca\+\_\+btl\+\_\+base\+\_\+descriptor\+\_\+t} $\ast$$\ast$}]{descriptor}
\end{DoxyParamCaption}
)}}\label{btl__vader_8h_ae1ce7d453ecf8a22d0fd1ac4abbb9015}


Initiate an inline send to the peer. 


\begin{DoxyParams}{Parameters}
{\em btl} & (I\+N) B\+T\+L module \\
\hline
{\em peer} & (I\+N) B\+T\+L peer addressing \\
\hline
\end{DoxyParams}


References mca\+\_\+btl\+\_\+vader\+\_\+component\+\_\+t\+::active\+\_\+sends, mca\+\_\+btl\+\_\+vader\+\_\+component\+\_\+t\+::eager\+\_\+limit, mca\+\_\+btl\+\_\+vader\+\_\+alloc(), opal\+\_\+list\+\_\+append, mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t\+::peer\+\_\+smp\+\_\+rank, and mca\+\_\+btl\+\_\+base\+\_\+segment\+\_\+t\+::seg\+\_\+addr.

