System.Net.Sockets.SocketPal.TryCompleteReceiveFrom C# (CSharp) Method

TryCompleteReceiveFrom() public static method

public static TryCompleteReceiveFrom ( SafeCloseSocket socket, byte buffer, IList buffers, int offset, int count, SocketFlags flags, byte socketAddress, int &socketAddressLen, int &bytesReceived, SocketFlags &receivedFlags, SocketError &errorCode ) : bool
socket SafeCloseSocket
buffer byte
buffers IList
offset int
count int
flags SocketFlags
socketAddress byte
socketAddressLen int
bytesReceived int
receivedFlags SocketFlags
errorCode SocketError
return bool
        public static unsafe bool TryCompleteReceiveFrom(SafeCloseSocket socket, byte[] buffer, IList<ArraySegment<byte>> buffers, int offset, int count, SocketFlags flags, byte[] socketAddress, ref int socketAddressLen, out int bytesReceived, out SocketFlags receivedFlags, out SocketError errorCode)
        {
            try
            {
                Interop.Error errno;
                int received;
                if (buffers != null)
                {
                    Debug.Assert(buffer == null);
                    received = Receive(socket, flags, buffers, socketAddress, ref socketAddressLen, out receivedFlags, out errno);
                }
                else
                {
                    received = Receive(socket, flags, buffer, offset, count, socketAddress, ref socketAddressLen, out receivedFlags, out errno);
                }

                if (received != -1)
                {
                    bytesReceived = received;
                    errorCode = SocketError.Success;
                    return true;
                }

                bytesReceived = 0;

                if (errno != Interop.Error.EAGAIN && errno != Interop.Error.EWOULDBLOCK)
                {
                    errorCode = GetSocketErrorForErrorCode(errno);
                    return true;
                }

                errorCode = SocketError.Success;
                return false;
            }
            catch (ObjectDisposedException)
            {
                // The socket was closed, or is closing.
                bytesReceived = 0;
                receivedFlags = 0;
                errorCode = SocketError.OperationAborted;
                return true;
            }
        }

Same methods

SocketPal::TryCompleteReceiveFrom ( SafeCloseSocket socket, IList buffers, SocketFlags flags, byte socketAddress, int &socketAddressLen, int &bytesReceived, SocketFlags &receivedFlags, SocketError &errorCode ) : bool
SocketPal::TryCompleteReceiveFrom ( SafeCloseSocket socket, byte buffer, int offset, int count, SocketFlags flags, byte socketAddress, int &socketAddressLen, int &bytesReceived, SocketFlags &receivedFlags, SocketError &errorCode ) : bool