示例#1
0
        public void Append(BytesBuffer bytesBuffer)
        {
            var newBuffer = new byte[_bytesBuffer.Size + bytesBuffer.Size];

            // переливаем из двух масивов в один
            // todo не уверен, что это самый эфективный способЫ
            for (int i = _bytesBuffer.StartPosition, index = 0; i <= _bytesBuffer.EndPosition; i++, index++)
            {
                newBuffer[index] = _bytesBuffer.InnerBuffer[i];
            }
            for (int i = bytesBuffer.StartPosition, index = 0; i <= bytesBuffer.EndPosition; i++, index++)
            {
                newBuffer[_bytesBuffer.Size + index] = bytesBuffer.InnerBuffer[i];
            }
            // пересоздаем внутрений буфер
            _bytesBuffer = new BytesBuffer(newBuffer, 0, newBuffer.Length - 1);
            // заново ищем заголовки
            _titlesInfo = TitleSearcher.GetTitlesInfo(_bytesBuffer.InnerBuffer);
        }
示例#2
0
 public ArhivePortion(BytesBuffer bytesBuffer)
 {
     _bytesBuffer = bytesBuffer;
     // сразу ищем заголовки
     _titlesInfo = TitleSearcher.GetTitlesInfo(_bytesBuffer.InnerBuffer);
 }