mhe.Protocol.Receive C# (CSharp) Method

Receive() private method

private Receive ( System.Result &result, byte &data ) : bool
result System.Result
data byte
return bool
        private bool Receive(ref Result result, out byte[] data)
        {
            byte[] lenBuffer = new byte[4];
            byte[] cmdBuffer = new byte[1];
            data = null;
            try
            {
                var stream = client.GetStream();
                int read = stream.Read(lenBuffer, 0, 4);
                if (read < 4) return false;
                int len = ConvertToInt(lenBuffer);
                if (len < 1) return false;
                read = stream.Read(cmdBuffer, 0, 1);
                if (read < 1) return false;
                result = (Result)cmdBuffer[0];
                --len;
                int current = 0;
                data = new byte[len];
                while (current < len)
                {
                    read = stream.Read(data, 0, data.Length);
                    if (read <= 0) return false;
                    current += read;
                }
            }
            catch (Exception e)
            {
                Log.Write("Cought an exception during the Receive() method:" + e.ToString());
                return false;
            }

            return true;
        }