2
0
mirror of synced 2025-02-23 22:28:11 +00:00

Move clamp and max, and add min to misc.go

This commit is contained in:
Matt Joiner 2018-02-16 12:14:15 +11:00
parent dbb2936cdf
commit 646622b8f1
2 changed files with 33 additions and 23 deletions

View File

@ -314,29 +314,6 @@ func (cn *connection) requestedMetadataPiece(index int) bool {
return index < len(cn.metadataRequests) && cn.metadataRequests[index] return index < len(cn.metadataRequests) && cn.metadataRequests[index]
} }
func clamp(min, value, max int64) int64 {
if min > max {
panic("harumph")
}
if value < min {
value = min
}
if value > max {
value = max
}
return value
}
func max(as ...int64) int64 {
ret := as[0]
for _, a := range as[1:] {
if a > ret {
ret = a
}
}
return ret
}
// The actual value to use as the maximum outbound requests. // The actual value to use as the maximum outbound requests.
func (cn *connection) nominalMaxRequests() (ret int) { func (cn *connection) nominalMaxRequests() (ret int) {
return int(clamp(1, int64(cn.PeerMaxRequests), max(64, cn.stats.ChunksReadUseful-(cn.stats.ChunksRead-cn.stats.ChunksReadUseful)))) return int(clamp(1, int64(cn.PeerMaxRequests), max(64, cn.stats.ChunksReadUseful-(cn.stats.ChunksRead-cn.stats.ChunksReadUseful))))

33
misc.go
View File

@ -130,3 +130,36 @@ func connIsIpv6(nc net.Conn) bool {
rip := missinggo.AddrIP(ra) rip := missinggo.AddrIP(ra)
return rip.To4() == nil && rip.To16() != nil return rip.To4() == nil && rip.To16() != nil
} }
func clamp(min, value, max int64) int64 {
if min > max {
panic("harumph")
}
if value < min {
value = min
}
if value > max {
value = max
}
return value
}
func max(as ...int64) int64 {
ret := as[0]
for _, a := range as[1:] {
if a > ret {
ret = a
}
}
return ret
}
func min(as ...int64) int64 {
ret := as[0]
for _, a := range as[1:] {
if a < ret {
ret = a
}
}
return ret
}