generateTokensLinear returns tokens with a linear distribution.
(instanceID, numInstances, numTokens int)
| 2883 | |
| 2884 | // generateTokensLinear returns tokens with a linear distribution. |
| 2885 | func generateTokensLinear(instanceID, numInstances, numTokens int) []uint32 { |
| 2886 | tokens := make([]uint32, 0, numTokens) |
| 2887 | step := math.MaxUint32 / numTokens |
| 2888 | offset := (step / numInstances) * instanceID |
| 2889 | |
| 2890 | for t := offset; t <= math.MaxUint32; t += step { |
| 2891 | tokens = append(tokens, uint32(t)) |
| 2892 | } |
| 2893 | |
| 2894 | return tokens |
| 2895 | } |
| 2896 | |
| 2897 | func generateRingInstances(numInstances, numZones, numTokens int) map[string]InstanceDesc { |
| 2898 | instances := make(map[string]InstanceDesc, numInstances) |
no outgoing calls
no test coverage detected