Griffin.Net.Protocols.MicroMsg.MicroMessageDecoder.CopyBytes C# (CSharp) Method

CopyBytes() private method

private CopyBytes ( ISocketBuffer e ) : bool
e ISocketBuffer
return bool
        private bool CopyBytes(ISocketBuffer e)
        {
            if (_bytesLeftInSocketBuffer == 0)
                return false;

            if (_bytesLeftForCurrentState > 0)
            {
                var toCopy = Math.Min(_bytesLeftForCurrentState, _bytesLeftInSocketBuffer);
                Buffer.BlockCopy(e.Buffer, _socketBufferOffset, _header, _headerOffset, toCopy);
                _headerOffset += toCopy;
                _bytesLeftForCurrentState -= toCopy;
                _bytesLeftInSocketBuffer -= toCopy;
                _socketBufferOffset += toCopy;
            }

            return _bytesLeftForCurrentState == 0;
        }