|
|
@ -1,29 +0,0 @@ |
|
|
|
package p2p |
|
|
|
|
|
|
|
import ( |
|
|
|
"strings" |
|
|
|
) |
|
|
|
|
|
|
|
// TODO Test
|
|
|
|
func AddToIPRangeCounts(counts map[string]int, ip string) map[string]int { |
|
|
|
changes := make(map[string]int) |
|
|
|
ipParts := strings.Split(ip, ":") |
|
|
|
for i := 1; i < len(ipParts); i++ { |
|
|
|
prefix := strings.Join(ipParts[:i], ":") |
|
|
|
counts[prefix] += 1 |
|
|
|
changes[prefix] = counts[prefix] |
|
|
|
} |
|
|
|
return changes |
|
|
|
} |
|
|
|
|
|
|
|
// TODO Test
|
|
|
|
func CheckIPRangeCounts(counts map[string]int, limits []int) bool { |
|
|
|
for prefix, count := range counts { |
|
|
|
ipParts := strings.Split(prefix, ":") |
|
|
|
numParts := len(ipParts) |
|
|
|
if limits[numParts] < count { |
|
|
|
return false |
|
|
|
} |
|
|
|
} |
|
|
|
return true |
|
|
|
} |