Dec. 24th, 2016
"our code is high quality"
Dec. 24th, 2016 10:06 pm
/** High-quality 64-bit checksum of the content of the object. Similar
* to hashcode(), but a long to reduce the chance of hash clashes. For
* composite objects this should be defined using the subcomponents' checksums
* (or hashcodes if not available). If two Keyed objects have the same
* checksum() there should be a 1 - 1/2^64 chance that they are the same
* object by value.
*/
protected long checksum_impl() { throw H2O.fail("Checksum not implemented by class "+this.getClass()); }
private long _checksum;
// Efficiently fetch the checksum, setting on first access
public final long checksum() {
if( _checksum!=0 ) return _checksum;
long x = checksum_impl();
if( x==0 ) x=1;
return (_checksum=x);
}
(MD5 or anything? never heard)