CrossroadsIO.Interop.SocketProxy.Receive C# (CSharp) Method

Receive() public method

public Receive ( byte buffer, int flags, int &size ) : byte[]
buffer byte
flags int
size int
return byte[]
        public byte[] Receive(byte[] buffer, int flags, out int size)
        {
            size = -1;

            if (LibXs.xs_msg_init(_message) == -1)
            {
                return buffer;
            }

            int bytesReceived = RetryIfInterrupted(() => LibXs.xs_recvmsg(SocketHandle, _message, flags));

            if (bytesReceived >= 0)
            {
                size = bytesReceived;

                if (buffer == null || size > buffer.Length)
                {
                    buffer = new byte[size];
                }

                Marshal.Copy(LibXs.xs_msg_data(_message), buffer, 0, size);
            }

            if (LibXs.xs_msg_close(_message) == -1)
            {
                size = -1;
            }

            return buffer;
        }

Same methods

SocketProxy::Receive ( byte buffer, int flags ) : int