public static void ResizeRequestQueue(SafeRioRequestQueueHandle queue, uint maxOutstandingReceive, uint maxOutstandingSend) { Debug.Assert(!queue.IsInvalid); if (!s_rioResizeRequestQueue(queue, maxOutstandingReceive, maxOutstandingSend)) { throw new SocketException(); } }
public static SafeRioRequestQueueHandle CreateRequestQueue(SafeSocketHandle socket, SafeRioCompletionQueueHandle completionQueue, IntPtr context, uint maxOutstandingReceive, uint maxOutstandingSend) { Debug.Assert(!socket.IsInvalid); Debug.Assert(!completionQueue.IsInvalid); SafeRioRequestQueueHandle queue = s_rioCreateRequestQueue(socket, maxOutstandingReceive, MaxReceiveDataBuffers: 1, maxOutstandingSend, MaxSendDataBuffers: 1, completionQueue, completionQueue, context); if (queue.IsInvalid) { throw new SocketException(); } queue.SetDependencies(socket, completionQueue); return(queue); }
public static SocketError ReceiveFrom(SafeRioRequestQueueHandle queue, IntPtr buffers, IntPtr remoteAddress, IntPtr controlContext, IntPtr flagsOut, uint flags, IntPtr requestContext) { Debug.Assert(!queue.IsInvalid); return(s_rioReceiveEx(queue, buffers, DataBufferCount: 1, IntPtr.Zero, remoteAddress, controlContext, flagsOut, flags, requestContext) ? SocketError.Success : (SocketError)Marshal.GetLastWin32Error()); }
public static SocketError Receive(SafeRioRequestQueueHandle queue, IntPtr buffers, uint flags, IntPtr requestContext) { Debug.Assert(!queue.IsInvalid); return(s_rioReceive(queue, buffers, DataBufferCount: 1, flags, requestContext) ? SocketError.Success : (SocketError)Marshal.GetLastWin32Error()); }