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); }