code: func (c *cluster) partition(index string, shard uint64) int {
  	var buf [8]byte
  	binary.BigEndian.PutUint64(buf[:], shard)
  
  	// Hash the bytes and mod by partition count.
  	h := fnv.New64a()
  	_, _ = h.Write([]byte(index))
  	_, _ = h.Write(buf[:])
  	return int(h.Sum64() % uint64(c.partitionN))
  }
docs: // partition returns the partition that a shard belongs to.