Пример #1
0
        public static void ResizeRequestQueue(SafeRioRequestQueueHandle queue, uint maxOutstandingReceive, uint maxOutstandingSend)
        {
            Debug.Assert(!queue.IsInvalid);

            if (!s_rioResizeRequestQueue(queue, maxOutstandingReceive, maxOutstandingSend))
            {
                throw new SocketException();
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
 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());
 }
Пример #4
0
 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());
 }