code: protected void engineUpdate(byte b) {
          int pos = (int) (msgLength % BYTE_BLOCK_LENGTH);
          buffer[pos] = b;
          msgLength++;
  
          // If buffer contains enough data then process it.
          if (pos == (BYTE_BLOCK_LENGTH - 1)) {
              process(buffer, 0);
          }
      }
docs: {@inheritDoc}