// computeChecksum computes a checksum based on the provided key and // the contents of the value. If the value contains a byte slice, the // checksum includes it directly. func (v *Value) computeChecksum(key []byte) uint32 { c := encoding.NewCRC32Checksum(key) if v.Bytes != nil { c.Write(v.Bytes) } sum := c.Sum32() encoding.ReleaseCRC32Checksum(c) return sum }
// computeChecksum computes a checksum based on the provided key and // the contents of the value. If the value contains a byte slice, the // checksum includes it directly; if the value contains an integer, // the checksum includes the integer as 8 bytes in big-endian order. func (v *Value) computeChecksum(key []byte) uint32 { c := encoding.NewCRC32Checksum(key) if v.Bytes != nil { c.Write(v.Bytes) } else if v.Integer != nil { c.Write(encoding.EncodeUint64(nil, uint64(v.GetInteger()))) } return c.Sum32() }