  .... offset++
  if (offset == size)
  {
    offset = 0;
  }
this becomes
  .... offset++
  offset &= (size - 1)