BytesRoad.Net.Sockets.Socket_HttpConnect.BeginReceive C# (CSharp) Method

BeginReceive() private method

private BeginReceive ( byte buffer, int offset, int size, AsyncCallback callback, object state ) : IAsyncResult
buffer byte
offset int
size int
callback AsyncCallback
state object
return IAsyncResult
        override internal IAsyncResult BeginReceive(
            byte[] buffer,
            int offset,
            int size,
            AsyncCallback callback,
            object state
            )
        {
            Receive_SO stateObj = null;

            CheckDisposed();
            stateObj = new Receive_SO(callback, state);
            if((stateObj.Read = FetchBufferData(buffer, offset, size)) > 0)
            {
                stateObj.SetCompleted();
            }
            else
            {
                _socket.BeginReceive(
                    buffer, 
                    offset, 
                    size,
                    SocketFlags.None,
                    new AsyncCallback(Receive_End), 
                    stateObj);
            }

            return stateObj;
        }