in csharp/Adapter/Microsoft.Spark.CSharp/Network/RioNative.cs [278:350]
internal static extern IntPtr CreateRIORequestQueue(
[In] IntPtr socket,
[In] uint maxOutstandingReceive,
[In] uint maxOutstandingSend,
[In] long socketCorrelation);
[DllImport(RioSockDll, CharSet = CharSet.Unicode, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern unsafe bool PostRIOReceive(
[In] IntPtr socketQueue,
[In] RioBuf* pData,
[In] uint dataBufferCount,
[In] uint flags,
[In] long requestCorrelation);
[DllImport(RioSockDll, CharSet = CharSet.Unicode, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern unsafe bool PostRIOSend(
[In] IntPtr socketQueue,
[In] RioBuf* pData,
[In] uint dataBufferCount,
[In] uint flags,
[In] long requestCorrelation);
[DllImport(RioSockDll, CharSet = CharSet.Unicode, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern bool AllocateRIOCompletion([In] uint numCompletions);
[DllImport(RioSockDll, CharSet = CharSet.Unicode, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern bool ReleaseRIOCompletion([In] uint numCompletion);
[DllImport(RioSockDll, CharSet = CharSet.Unicode, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern bool ResizeRIORequestQueue(
[In] IntPtr rq,
[In] uint maxOutstandingReceive,
[In] uint maxOutstandingSend);
[DllImport(RioSockDll, CharSet = CharSet.Unicode, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern IntPtr RegisterRIOBuffer([In] IntPtr dataBuffer, [In] uint dataLength);
[DllImport(RioSockDll, CharSet = CharSet.Unicode, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern void DeregisterRIOBuffer([In] IntPtr bufferId);
[DllImport(Ws2Dll, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern IntPtr accept([In] IntPtr s, [In, Out] IntPtr addr, [In, Out] ref int addrlen);
[DllImport(Ws2Dll, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern int connect([In] IntPtr s, [In] byte[] addr, [In] int addrlen);
[DllImport(Ws2Dll, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern int closesocket([In] IntPtr s);
[DllImport(Ws2Dll, SetLastError = true)]
[SuppressUnmanagedCodeSecurity]
internal static extern int listen([In] IntPtr s, [In] int backlog);
#endregion
}
/// <summary>
/// The RioResult structure contains data used to indicate request completion results used with RIO socket
/// </summary>
[StructLayout(LayoutKind.Sequential)]
internal struct RioResult
{