FastBinaryEncoding
FastBinaryEncoding copied to clipboard
The throw occurs
The throw occurs too frequently in the following code.
void FBEBuffer::remove(size_t offset, size_t size) { assert(((offset + size) <= _size) && "Invalid offset & size!!"); if ((offset + size) > _size) throw std::invalid_argument("Invalid offset & size!!");
std::memcpy(_data + offset, _data + offset + size, _size - size - offset);
_size -= size;
if (_offset >= (offset + size))
_offset -= size;
else if (_offset >= offset)
{
_offset -= _offset - offset;
if (_offset > _size)
_offset = _size;
}
}
After that, the transmission doesn't proceed. What is the solution?