chore: use cmp in go 1.21

Co-authored-by: H1JK <hell0jack@protonmail.com>
This commit is contained in:
Larvan2 2023-09-15 23:15:05 +08:00 committed by Larvan2
parent c3d72f6883
commit fa49fd7ba2
5 changed files with 34 additions and 20 deletions

View file

@ -1,5 +1,4 @@
//go:build linux || windows //go:build linux || windows || darwin
// +build linux windows
package pmtud_fix package pmtud_fix

View file

@ -1,5 +1,4 @@
//go:build !linux && !windows //go:build !linux && !windows && !darwin
// +build !linux,!windows
package pmtud_fix package pmtud_fix

View file

@ -3,27 +3,11 @@ package congestion
import ( import (
"math" "math"
"time" "time"
"golang.org/x/exp/constraints"
) )
// InfDuration is a duration of infinite length // InfDuration is a duration of infinite length
const InfDuration = time.Duration(math.MaxInt64) const InfDuration = time.Duration(math.MaxInt64)
func Max[T constraints.Ordered](a, b T) T {
if a < b {
return b
}
return a
}
func Min[T constraints.Ordered](a, b T) T {
if a < b {
return a
}
return b
}
// MinNonZeroDuration return the minimum duration that's not zero. // MinNonZeroDuration return the minimum duration that's not zero.
func MinNonZeroDuration(a, b time.Duration) time.Duration { func MinNonZeroDuration(a, b time.Duration) time.Duration {
if a == 0 { if a == 0 {

View file

@ -0,0 +1,19 @@
//go:build !go1.21
package congestion
import "golang.org/x/exp/constraints"
func Max[T constraints.Ordered](a, b T) T {
if a < b {
return b
}
return a
}
func Min[T constraints.Ordered](a, b T) T {
if a < b {
return a
}
return b
}

View file

@ -0,0 +1,13 @@
//go:build go1.21
package congestion
import "cmp"
func Max[T cmp.Ordered](a, b T) T {
return max(a, b)
}
func Min[T cmp.Ordered](a, b T) T {
return min(a, b)
}