BytesRoad.Net.Sockets.ByteVector.CutHead C# (CSharp) 메소드

CutHead() 개인적인 메소드

private CutHead ( int count ) : void
count int
리턴 void
        internal void CutHead(int count)
        {
            if(count < 0)
                throw new ArgumentException("Should be a positive value", "count");

            if(count > _size)
            {
                _size = 0;
            }
            else
            {
                _size -= count;
                Array.Copy(_data, count, _data, 0, _size);
            }
        }

Usage Example

        int FetchBufferData(byte[] buffer, int offset, int size)
        {
            int length = _recvBuffer.Size;

            if (length <= 0)
            {
                return(0);
            }

            if (offset < 0)
            {
                offset = 0;
            }

            if (size < 0)
            {
                size = buffer.Length;
            }

            int num = (length > size)?size:length;

            Array.Copy(_recvBuffer.Data, 0, buffer, offset, num);
            _recvBuffer.CutHead(num);
            return(num);
        }