diff --git a/go.mod b/go.mod index 7012e901..266d1532 100644 --- a/go.mod +++ b/go.mod @@ -19,38 +19,38 @@ require ( golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/grpc v1.38.0 - k8s.io/api v0.22.0-rc.0 - k8s.io/apimachinery v0.22.0-rc.0 - k8s.io/client-go v0.22.0-rc.0 - k8s.io/component-base v0.22.0-rc.0 + k8s.io/api v0.22.0 + k8s.io/apimachinery v0.22.0 + k8s.io/client-go v0.22.0 + k8s.io/component-base v0.22.0 k8s.io/klog/v2 v2.9.0 k8s.io/kubernetes v1.21.0 ) replace ( github.com/kubernetes-csi/external-snapshotter/client/v4 => ./client - k8s.io/api => k8s.io/api v0.22.0-rc.0 - k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.22.0-rc.0 - k8s.io/apimachinery => k8s.io/apimachinery v0.22.0-rc.0 - k8s.io/apiserver => k8s.io/apiserver v0.22.0-rc.0 - k8s.io/cli-runtime => k8s.io/cli-runtime v0.22.0-rc.0 - k8s.io/client-go => k8s.io/client-go v0.22.0-rc.0 - k8s.io/cloud-provider => k8s.io/cloud-provider v0.22.0-rc.0 - k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.22.0-rc.0 - k8s.io/code-generator => k8s.io/code-generator v0.22.0-rc.0 - k8s.io/component-base => k8s.io/component-base v0.22.0-rc.0 - k8s.io/component-helpers => k8s.io/component-helpers v0.22.0-rc.0 - k8s.io/controller-manager => k8s.io/controller-manager v0.22.0-rc.0 - k8s.io/cri-api => k8s.io/cri-api v0.22.0-rc.0 - k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.22.0-rc.0 - k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.22.0-rc.0 - k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.22.0-rc.0 - k8s.io/kube-proxy => k8s.io/kube-proxy v0.22.0-rc.0 - k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.22.0-rc.0 - k8s.io/kubectl => k8s.io/kubectl v0.22.0-rc.0 - k8s.io/kubelet => k8s.io/kubelet v0.22.0-rc.0 - k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.22.0-rc.0 - k8s.io/metrics => k8s.io/metrics v0.22.0-rc.0 - k8s.io/mount-utils => k8s.io/mount-utils v0.22.0-rc.0 - k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.22.0-rc.0 + k8s.io/api => k8s.io/api v0.22.0 + k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.22.0 + k8s.io/apimachinery => k8s.io/apimachinery v0.22.0 + k8s.io/apiserver => k8s.io/apiserver v0.22.0 + k8s.io/cli-runtime => k8s.io/cli-runtime v0.22.0 + k8s.io/client-go => k8s.io/client-go v0.22.0 + k8s.io/cloud-provider => k8s.io/cloud-provider v0.22.0 + k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.22.0 + k8s.io/code-generator => k8s.io/code-generator v0.22.0 + k8s.io/component-base => k8s.io/component-base v0.22.0 + k8s.io/component-helpers => k8s.io/component-helpers v0.22.0 + k8s.io/controller-manager => k8s.io/controller-manager v0.22.0 + k8s.io/cri-api => k8s.io/cri-api v0.22.0 + k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.22.0 + k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.22.0 + k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.22.0 + k8s.io/kube-proxy => k8s.io/kube-proxy v0.22.0 + k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.22.0 + k8s.io/kubectl => k8s.io/kubectl v0.22.0 + k8s.io/kubelet => k8s.io/kubelet v0.22.0 + k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.22.0 + k8s.io/metrics => k8s.io/metrics v0.22.0 + k8s.io/mount-utils => k8s.io/mount-utils v0.22.0 + k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.22.0 ) diff --git a/go.sum b/go.sum index b195494f..14d8e402 100644 --- a/go.sum +++ b/go.sum @@ -545,6 +545,7 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= @@ -853,8 +854,9 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba h1:O8mE0/t419eoIwhTFpKVkHiTs/Igowgfkj25AcZrtiE= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1062,24 +1064,24 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.22.0-rc.0 h1:LcnCE0nmb2CVpvmlbHkIzjZUHcVpSoNcn8mJkIo4FoQ= -k8s.io/api v0.22.0-rc.0/go.mod h1:EUcKB6RvpW74HMRUSSNwpUzrIHBdGT1FeAvOV+txic0= -k8s.io/apiextensions-apiserver v0.22.0-rc.0/go.mod h1:KSr+2VJ6ye8Fy50q7xHZ/Tw8vrRII82KIKbz9eUFmeo= -k8s.io/apimachinery v0.22.0-rc.0 h1:boMGWXiuYJl4sAEMTEyWJtX4VLEPf0LZ0nUh+vNALIg= -k8s.io/apimachinery v0.22.0-rc.0/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= -k8s.io/apiserver v0.22.0-rc.0/go.mod h1:1AfFSkRbaPVFzfSIWd0m/onp49mmAOqXR9qrLJFixlw= -k8s.io/cli-runtime v0.22.0-rc.0/go.mod h1:M/w0bryClqcYKNQ5ofMMNDJE1r5rvYaAj8GswxUNUJY= -k8s.io/client-go v0.22.0-rc.0 h1:cxBtvZ9fH5teKp7OG3XX9YPprBqaPsmr9J24E6KqBiI= -k8s.io/client-go v0.22.0-rc.0/go.mod h1:BZGppBKJh4UtgDZcIIh6vHJsJ1iZiXS7EwKZYWhyklo= -k8s.io/cloud-provider v0.22.0-rc.0/go.mod h1:qgUpDsv2QmnKdVsZFSJWPvDnX8omjus7e0gY2KplDHk= -k8s.io/cluster-bootstrap v0.22.0-rc.0/go.mod h1:H2JCqUWDe95ASKhudnPxwpRriNt5fIOrQi3c2KxMQrk= -k8s.io/code-generator v0.22.0-rc.0/go.mod h1:eV77Y09IopzeXOJzndrDyCI88UBok2h6WxAlBwpxa+o= -k8s.io/component-base v0.22.0-rc.0 h1:OOlymSTskXPEp9ie03pzN5HFzPtTxA7BAO3z/1vXHtk= -k8s.io/component-base v0.22.0-rc.0/go.mod h1:DKSub/kewg24bK+3ZJ/csu86fSBYpGdYk837eCTvEKg= -k8s.io/component-helpers v0.22.0-rc.0/go.mod h1:CFwkAFLr2SPaUETDC9OCWFuWEfpIlqfPPNJqUqJCpcM= -k8s.io/controller-manager v0.22.0-rc.0/go.mod h1:qDAMaqIz2xikFvX/1pL24H7vES7rSw/8gu+9ggb5KDI= -k8s.io/cri-api v0.22.0-rc.0/go.mod h1:mj5DGUtElRyErU5AZ8EM0ahxbElYsaLAMTPhLPQ40Eg= -k8s.io/csi-translation-lib v0.22.0-rc.0/go.mod h1:zHbb9uwzlX2fPxNlETNMomnxebPvDa2/r421MbA2IGk= +k8s.io/api v0.22.0 h1:elCpMZ9UE8dLdYxr55E06TmSeji9I3KH494qH70/y+c= +k8s.io/api v0.22.0/go.mod h1:0AoXXqst47OI/L0oGKq9DG61dvGRPXs7X4/B7KyjBCU= +k8s.io/apiextensions-apiserver v0.22.0/go.mod h1:+9w/QQC/lwH2qTbpqndXXjwBgidlSmytvIUww16UACE= +k8s.io/apimachinery v0.22.0 h1:CqH/BdNAzZl+sr3tc0D3VsK3u6ARVSo3GWyLmfIjbP0= +k8s.io/apimachinery v0.22.0/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apiserver v0.22.0/go.mod h1:04kaIEzIQrTGJ5syLppQWvpkLJXQtJECHmae+ZGc/nc= +k8s.io/cli-runtime v0.22.0/go.mod h1:An6zELQ7udUI0GaXvkuMqyopPA14dIgNqpH8cZu1vig= +k8s.io/client-go v0.22.0 h1:sD6o9O6tCwUKCENw8v+HFsuAbq2jCu8cWC61/ydwA50= +k8s.io/client-go v0.22.0/go.mod h1:GUjIuXR5PiEv/RVK5OODUsm6eZk7wtSWZSaSJbpFdGg= +k8s.io/cloud-provider v0.22.0/go.mod h1:UsQNOxrStwOXoDfVNgEbKgcQt2BYuHGKobixm0zKTis= +k8s.io/cluster-bootstrap v0.22.0/go.mod h1:VeZXiGfH+yfnC2KtvkSwNTAqahg6yiCV/szbWpoI+3k= +k8s.io/code-generator v0.22.0/go.mod h1:eV77Y09IopzeXOJzndrDyCI88UBok2h6WxAlBwpxa+o= +k8s.io/component-base v0.22.0 h1:ZTmX8hUqH9T9gc0mM42O+KDgtwTYbVTt2MwmLP0eK8A= +k8s.io/component-base v0.22.0/go.mod h1:SXj6Z+V6P6GsBhHZVbWCw9hFjUdUYnJerlhhPnYCBCg= +k8s.io/component-helpers v0.22.0/go.mod h1:YNIbQI59ayNiU8JHlPIxVkOUYycbKhk5Niy0pcyJOEY= +k8s.io/controller-manager v0.22.0/go.mod h1:KCFcmFIjh512sVIm1EhAPJ+4miASDvbZA5eO/2nbr2M= +k8s.io/cri-api v0.22.0/go.mod h1:mj5DGUtElRyErU5AZ8EM0ahxbElYsaLAMTPhLPQ40Eg= +k8s.io/csi-translation-lib v0.22.0/go.mod h1:wb6bRqDth2jcHfty7mLdQc7nfknHhIkAlAZgSgplXhc= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/heapster v1.2.0-beta.1/go.mod h1:h1uhptVXMwC8xtZBYsPXKVi8fpdlYkTs6k949KozGrM= @@ -1090,21 +1092,21 @@ k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= k8s.io/klog/v2 v2.9.0 h1:D7HV+n1V57XeZ0m6tdRkfknthUaM06VFbWldOFh8kzM= k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/kube-aggregator v0.22.0-rc.0/go.mod h1:g0xtiBSsbMKvewN7xR/Icib4TrHxtvrJcHtYvFsgw7k= -k8s.io/kube-controller-manager v0.22.0-rc.0/go.mod h1:ZchhI8OeVsVKb0H6mhidYTdj7ZaXGHm/PHMN0iqrfCE= +k8s.io/kube-aggregator v0.22.0/go.mod h1:zHTepg0Q4tKzru7Pwg1QYHWrU/wrvIXM8hUdDAH66qg= +k8s.io/kube-controller-manager v0.22.0/go.mod h1:E/EYMoCj8bbPRmu19JF4B9QLyQL8Tywg+9Q/rg+F80U= k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e h1:KLHHjkdQFomZy8+06csTWZ0m1343QqxZhR2LJ1OxCYM= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= -k8s.io/kube-proxy v0.22.0-rc.0/go.mod h1:3DEWLh9S8n8guxNJ7EaUu70+JLtU8QfyRtsy/DXPmvU= -k8s.io/kube-scheduler v0.22.0-rc.0/go.mod h1:Yo/C7dRWhZtbnsIOwfb6015GvH+Tg9hpmlhvBUocUfc= -k8s.io/kubectl v0.22.0-rc.0/go.mod h1:7/NjJzIH3rgPmfO9C8V3u/yIKeJdK7ptpFbPWQGKYas= -k8s.io/kubelet v0.22.0-rc.0/go.mod h1:Fn1EtVFPh8IGix/PMKQ9cyCih3Fx0OYn4rDsTzCSa6w= +k8s.io/kube-proxy v0.22.0/go.mod h1:2ckKSCr8kZ0kNNCgxM7lt0g5CAaY767djotK4AEFPmI= +k8s.io/kube-scheduler v0.22.0/go.mod h1:n6tdYAiaoqXGLazCwIpOEg42qby0VMDs1KmN4DjQf50= +k8s.io/kubectl v0.22.0/go.mod h1:eeuP92uZbVL2UnOaf0nj9OjtI0hi/nekHU+0isURer0= +k8s.io/kubelet v0.22.0/go.mod h1:CMdsuh9OFgbpeE+n46GpVMDecLlI0HxSRHMoNrTmJk4= k8s.io/kubernetes v1.21.0 h1:LUUQgdFsKB+wVgKPUapmXjkvvJHSLN53CuQwre4c+mM= k8s.io/kubernetes v1.21.0/go.mod h1:Yx6XZ8zalyqEk7but+j4+5SvLzdyH1eeqZ4cwO+5dD4= -k8s.io/legacy-cloud-providers v0.22.0-rc.0/go.mod h1:fOyxuQanqiXuBQVWsSxM8n76gyYGHF/woiwAPWDCA5U= -k8s.io/metrics v0.22.0-rc.0/go.mod h1:bBRVf/lv8c0H1KVceeriQxn9myZaQFWQUONhKs0p+kY= -k8s.io/mount-utils v0.22.0-rc.0/go.mod h1:gUi5ht+05KHYc/vJ9q9wbvG3MCYBeOsB5FdTyM60Pzo= -k8s.io/sample-apiserver v0.22.0-rc.0/go.mod h1:R0rb4qpxHuRoJagv2OJjOMekpvEeoRJjyOwF0T9h5S0= +k8s.io/legacy-cloud-providers v0.22.0/go.mod h1:2tKlbeA9r0OYnBHyqHcnO1EoAeqYXw2IZH99DYwwErM= +k8s.io/metrics v0.22.0/go.mod h1:eYnwafAUNLLpVmY/msoq0RKIKH5C4TzfjKnMZ0Xrt3A= +k8s.io/mount-utils v0.22.0/go.mod h1:gUi5ht+05KHYc/vJ9q9wbvG3MCYBeOsB5FdTyM60Pzo= +k8s.io/sample-apiserver v0.22.0/go.mod h1:Bkl0f9E1Moxwjvqct7kzDlTvNUTavsworU5FTPlVooA= k8s.io/system-validators v1.4.0/go.mod h1:bPldcLgkIUK22ALflnsXk8pvkTEndYdNuaHH6gRrl0Q= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9 h1:imL9YgXQ9p7xmPzHFm/vVd/cF78jad+n4wK1ABwYtMM= @@ -1118,7 +1120,7 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8 rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.21/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= sigs.k8s.io/kustomize/api v0.8.11/go.mod h1:a77Ls36JdfCWojpUqR6m60pdGY1AYFix4AH83nJtY1g= sigs.k8s.io/kustomize/cmd/config v0.9.13/go.mod h1:7547FLF8W/lTaDf0BDqFTbZxM9zqwEJqCKN9sSR0xSs= sigs.k8s.io/kustomize/kustomize/v4 v4.2.0/go.mod h1:MOkR6fmhwG7hEDRXBYELTi5GSFcLwfqwzTRHW3kv5go= diff --git a/vendor/golang.org/x/time/rate/rate.go b/vendor/golang.org/x/time/rate/rate.go index a98fe778..0cfcc846 100644 --- a/vendor/golang.org/x/time/rate/rate.go +++ b/vendor/golang.org/x/time/rate/rate.go @@ -145,7 +145,6 @@ func (r *Reservation) DelayFrom(now time.Time) time.Duration { // Cancel is shorthand for CancelAt(time.Now()). func (r *Reservation) Cancel() { r.CancelAt(time.Now()) - return } // CancelAt indicates that the reservation holder will not perform the reserved action @@ -186,8 +185,6 @@ func (r *Reservation) CancelAt(now time.Time) { r.lim.lastEvent = prevEvent } } - - return } // Reserve is shorthand for ReserveN(time.Now(), 1). @@ -367,20 +364,13 @@ func (lim *Limiter) advance(now time.Time) (newNow time.Time, newLast time.Time, last = now } - // Avoid making delta overflow below when last is very old. - maxElapsed := lim.limit.durationFromTokens(float64(lim.burst) - lim.tokens) - elapsed := now.Sub(last) - if elapsed > maxElapsed { - elapsed = maxElapsed - } - // Calculate the new number of tokens, due to time that passed. + elapsed := now.Sub(last) delta := lim.limit.tokensFromDuration(elapsed) tokens := lim.tokens + delta if burst := float64(lim.burst); tokens > burst { tokens = burst } - return now, last, tokens } @@ -388,15 +378,11 @@ func (lim *Limiter) advance(now time.Time) (newNow time.Time, newLast time.Time, // of time it takes to accumulate them at a rate of limit tokens per second. func (limit Limit) durationFromTokens(tokens float64) time.Duration { seconds := tokens / float64(limit) - return time.Nanosecond * time.Duration(1e9*seconds) + return time.Duration(float64(time.Second) * seconds) } // tokensFromDuration is a unit conversion function from a time duration to the number of tokens // which could be accumulated during that duration at a rate of limit tokens per second. func (limit Limit) tokensFromDuration(d time.Duration) float64 { - // Split the integer and fractional parts ourself to minimize rounding errors. - // See golang.org/issues/34861. - sec := float64(d/time.Second) * float64(limit) - nsec := float64(d%time.Second) * float64(limit) - return sec + nsec/1e9 + return d.Seconds() * float64(limit) } diff --git a/vendor/modules.txt b/vendor/modules.txt index 9876a022..3b1c02bb 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -140,7 +140,7 @@ golang.org/x/text/secure/bidirule golang.org/x/text/transform golang.org/x/text/unicode/bidi golang.org/x/text/unicode/norm -# golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba +# golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac golang.org/x/time/rate # google.golang.org/appengine v1.6.7 ## explicit @@ -239,7 +239,7 @@ gopkg.in/inf.v0 gopkg.in/yaml.v2 # gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b gopkg.in/yaml.v3 -# k8s.io/api v0.22.0-rc.0 => k8s.io/api v0.22.0-rc.0 +# k8s.io/api v0.22.0 => k8s.io/api v0.22.0 ## explicit k8s.io/api/admission/v1 k8s.io/api/admission/v1beta1 @@ -286,7 +286,7 @@ k8s.io/api/scheduling/v1beta1 k8s.io/api/storage/v1 k8s.io/api/storage/v1alpha1 k8s.io/api/storage/v1beta1 -# k8s.io/apimachinery v0.22.0-rc.0 => k8s.io/apimachinery v0.22.0-rc.0 +# k8s.io/apimachinery v0.22.0 => k8s.io/apimachinery v0.22.0 ## explicit k8s.io/apimachinery/pkg/api/apitesting/fuzzer k8s.io/apimachinery/pkg/api/errors @@ -332,7 +332,7 @@ k8s.io/apimachinery/pkg/version k8s.io/apimachinery/pkg/watch k8s.io/apimachinery/third_party/forked/golang/json k8s.io/apimachinery/third_party/forked/golang/reflect -# k8s.io/client-go v0.22.0-rc.0 => k8s.io/client-go v0.22.0-rc.0 +# k8s.io/client-go v0.22.0 => k8s.io/client-go v0.22.0 ## explicit k8s.io/client-go/applyconfigurations/admissionregistration/v1 k8s.io/client-go/applyconfigurations/admissionregistration/v1beta1 @@ -595,7 +595,7 @@ k8s.io/client-go/util/flowcontrol k8s.io/client-go/util/homedir k8s.io/client-go/util/keyutil k8s.io/client-go/util/workqueue -# k8s.io/component-base v0.22.0-rc.0 => k8s.io/component-base v0.22.0-rc.0 +# k8s.io/component-base v0.22.0 => k8s.io/component-base v0.22.0 ## explicit k8s.io/component-base/metrics k8s.io/component-base/version @@ -621,27 +621,27 @@ sigs.k8s.io/structured-merge-diff/v4/value # sigs.k8s.io/yaml v1.2.0 sigs.k8s.io/yaml # github.com/kubernetes-csi/external-snapshotter/client/v4 => ./client -# k8s.io/api => k8s.io/api v0.22.0-rc.0 -# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.22.0-rc.0 -# k8s.io/apimachinery => k8s.io/apimachinery v0.22.0-rc.0 -# k8s.io/apiserver => k8s.io/apiserver v0.22.0-rc.0 -# k8s.io/cli-runtime => k8s.io/cli-runtime v0.22.0-rc.0 -# k8s.io/client-go => k8s.io/client-go v0.22.0-rc.0 -# k8s.io/cloud-provider => k8s.io/cloud-provider v0.22.0-rc.0 -# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.22.0-rc.0 -# k8s.io/code-generator => k8s.io/code-generator v0.22.0-rc.0 -# k8s.io/component-base => k8s.io/component-base v0.22.0-rc.0 -# k8s.io/component-helpers => k8s.io/component-helpers v0.22.0-rc.0 -# k8s.io/controller-manager => k8s.io/controller-manager v0.22.0-rc.0 -# k8s.io/cri-api => k8s.io/cri-api v0.22.0-rc.0 -# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.22.0-rc.0 -# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.22.0-rc.0 -# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.22.0-rc.0 -# k8s.io/kube-proxy => k8s.io/kube-proxy v0.22.0-rc.0 -# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.22.0-rc.0 -# k8s.io/kubectl => k8s.io/kubectl v0.22.0-rc.0 -# k8s.io/kubelet => k8s.io/kubelet v0.22.0-rc.0 -# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.22.0-rc.0 -# k8s.io/metrics => k8s.io/metrics v0.22.0-rc.0 -# k8s.io/mount-utils => k8s.io/mount-utils v0.22.0-rc.0 -# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.22.0-rc.0 +# k8s.io/api => k8s.io/api v0.22.0 +# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.22.0 +# k8s.io/apimachinery => k8s.io/apimachinery v0.22.0 +# k8s.io/apiserver => k8s.io/apiserver v0.22.0 +# k8s.io/cli-runtime => k8s.io/cli-runtime v0.22.0 +# k8s.io/client-go => k8s.io/client-go v0.22.0 +# k8s.io/cloud-provider => k8s.io/cloud-provider v0.22.0 +# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.22.0 +# k8s.io/code-generator => k8s.io/code-generator v0.22.0 +# k8s.io/component-base => k8s.io/component-base v0.22.0 +# k8s.io/component-helpers => k8s.io/component-helpers v0.22.0 +# k8s.io/controller-manager => k8s.io/controller-manager v0.22.0 +# k8s.io/cri-api => k8s.io/cri-api v0.22.0 +# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.22.0 +# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.22.0 +# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.22.0 +# k8s.io/kube-proxy => k8s.io/kube-proxy v0.22.0 +# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.22.0 +# k8s.io/kubectl => k8s.io/kubectl v0.22.0 +# k8s.io/kubelet => k8s.io/kubelet v0.22.0 +# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.22.0 +# k8s.io/metrics => k8s.io/metrics v0.22.0 +# k8s.io/mount-utils => k8s.io/mount-utils v0.22.0 +# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.22.0