public void computeDigest(final Object snapshot,final MessageDigest digest){
  final ByteBuffer bb=ByteBuffer.allocate(m_size);
  final byte[] ba=m_index == 0 && s_islogDebug ? bb.array() : null;
  for (  AllocBlock b : m_allocBlocks) {
    final int bits=b.m_commit.length * 32;
    final long startAddr=RWStore.convertAddr(b.m_addr);
    for (int i=0; i < bits; i++) {
      if (RWStore.tstBit(b.m_commit,i)) {
        final long paddr=startAddr + (m_size * i);
        bb.position(0);
        m_store.readRaw(paddr,bb);
        digest.update(bb);
        if (ba != null) {
          log.debug(BytesUtil.toHexString(ba));
        }
      }
    }
  }
{
    final byte[] data=digest.digest();
    final StringBuffer sb=new StringBuffer();
    for (    byte b : data) {
      if (sb.length() > 0)       sb.append(",");
      sb.append(b);
    }
    log.warn("ALLOCATOR[" + m_index + ":"+ m_size+ "] freeBits: "+ freebits()+ ", DIGEST:"+ sb.toString());
  }
}

public void computeDigest ( final Object snapshot , final MessageDigest digest ) { final ByteBuffer bb = ByteBuffer . allocate ( m_size ) ; final byte [ ] ba = m_index == 0 && s_islogDebug ? bb . array ( ) : null ; for ( AllocBlock b : m_allocBlocks ) { final int bits = b . m_commit . length * 32 ; final long startAddr = RWStore . convertAddr ( b . m_addr ) ; for ( int i = 0 ; i < bits ; i ++ ) { if ( RWStore . tstBit ( b . m_commit , i ) ) { final long paddr = startAddr + ( m_size * i ) ; bb . position ( 0 ) ; m_store . readRaw ( paddr , bb ) ; digest . update ( bb ) ; if ( ba != null ) { log . debug ( BytesUtil . toHexString ( ba ) ) ; } } } } { final byte [ ] data = digest . digest ( ) ; final StringBuffer sb = new StringBuffer ( ) ; for ( byte b : data ) { if ( sb . length ( ) > 0 ) sb . append ( "," ) ; sb . append ( b ) ; } log . warn ( "ALLOCATOR[" + m_index + ":" + m_size + "] freeBits: " + freebits ( ) + ", DIGEST:" + sb . toString ( ) ) ; } }
add the committed allocated slot contents to the digest fixme : first version is correct rather than optimal , need to consider if there is any benefit to
