Compare commits
5 Commits
v1.10.0-de
...
master
Author | SHA1 | Date |
---|---|---|
|
c82a29fc06 | |
|
02b7bd0bf6 | |
|
65b6c976e1 | |
|
cfbc6683b2 | |
|
cfe633ba30 |
90
go.mod
90
go.mod
|
@ -2,7 +2,7 @@ module github.com/longhorn/longhorn-share-manager
|
||||||
|
|
||||||
go 1.24.0
|
go 1.24.0
|
||||||
|
|
||||||
toolchain go1.24.5
|
toolchain go1.24.6
|
||||||
|
|
||||||
// Replace directives are required for dependencies in this section because:
|
// Replace directives are required for dependencies in this section because:
|
||||||
// - This module imports k8s.io/kubernetes.
|
// - This module imports k8s.io/kubernetes.
|
||||||
|
@ -19,54 +19,54 @@ toolchain go1.24.5
|
||||||
// the portions of k8s.io/kubernetes code this module actually uses, not all of the replace directives may strictly be
|
// the portions of k8s.io/kubernetes code this module actually uses, not all of the replace directives may strictly be
|
||||||
// necessary. However, it is better to include all of them for consistency.
|
// necessary. However, it is better to include all of them for consistency.
|
||||||
replace (
|
replace (
|
||||||
k8s.io/api => k8s.io/api v0.33.2
|
k8s.io/api => k8s.io/api v0.33.3
|
||||||
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.33.2
|
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.33.3
|
||||||
k8s.io/apimachinery => k8s.io/apimachinery v0.33.2
|
k8s.io/apimachinery => k8s.io/apimachinery v0.33.3
|
||||||
k8s.io/apiserver => k8s.io/apiserver v0.33.2
|
k8s.io/apiserver => k8s.io/apiserver v0.33.3
|
||||||
k8s.io/cli-runtime => k8s.io/cli-runtime v0.33.2
|
k8s.io/cli-runtime => k8s.io/cli-runtime v0.33.3
|
||||||
k8s.io/client-go => k8s.io/client-go v0.33.2
|
k8s.io/client-go => k8s.io/client-go v0.33.3
|
||||||
k8s.io/cloud-provider => k8s.io/cloud-provider v0.33.2
|
k8s.io/cloud-provider => k8s.io/cloud-provider v0.33.3
|
||||||
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.33.2
|
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.33.3
|
||||||
k8s.io/code-generator => k8s.io/code-generator v0.33.2
|
k8s.io/code-generator => k8s.io/code-generator v0.33.3
|
||||||
k8s.io/component-base => k8s.io/component-base v0.33.2
|
k8s.io/component-base => k8s.io/component-base v0.33.3
|
||||||
k8s.io/component-helpers => k8s.io/component-helpers v0.33.2
|
k8s.io/component-helpers => k8s.io/component-helpers v0.33.3
|
||||||
k8s.io/controller-manager => k8s.io/controller-manager v0.33.2
|
k8s.io/controller-manager => k8s.io/controller-manager v0.33.3
|
||||||
k8s.io/cri-api => k8s.io/cri-api v0.33.2
|
k8s.io/cri-api => k8s.io/cri-api v0.33.3
|
||||||
k8s.io/cri-client => k8s.io/cri-client v0.33.2
|
k8s.io/cri-client => k8s.io/cri-client v0.33.3
|
||||||
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.33.2
|
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.33.3
|
||||||
k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.33.2
|
k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.33.3
|
||||||
k8s.io/endpointslice => k8s.io/endpointslice v0.33.2
|
k8s.io/endpointslice => k8s.io/endpointslice v0.33.3
|
||||||
k8s.io/kms => k8s.io/kms v0.33.2
|
k8s.io/kms => k8s.io/kms v0.33.3
|
||||||
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.33.2
|
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.33.3
|
||||||
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.33.2
|
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.33.3
|
||||||
k8s.io/kube-proxy => k8s.io/kube-proxy v0.33.2
|
k8s.io/kube-proxy => k8s.io/kube-proxy v0.33.3
|
||||||
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.33.2
|
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.33.3
|
||||||
k8s.io/kubectl => k8s.io/kubectl v0.33.2
|
k8s.io/kubectl => k8s.io/kubectl v0.33.3
|
||||||
k8s.io/kubelet => k8s.io/kubelet v0.33.2
|
k8s.io/kubelet => k8s.io/kubelet v0.33.3
|
||||||
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.30.14
|
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.30.14
|
||||||
k8s.io/metrics => k8s.io/metrics v0.33.2
|
k8s.io/metrics => k8s.io/metrics v0.33.3
|
||||||
k8s.io/mount-utils => k8s.io/mount-utils v0.33.2
|
k8s.io/mount-utils => k8s.io/mount-utils v0.33.3
|
||||||
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.33.2
|
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.33.3
|
||||||
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.33.2
|
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.33.3
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/google/fscrypt v0.3.5
|
github.com/google/fscrypt v0.3.5
|
||||||
github.com/longhorn/go-common-libs v0.0.0-20250712065607-11215ac4de96
|
github.com/longhorn/go-common-libs v0.0.0-20250809060702-aec53ac032f0
|
||||||
github.com/longhorn/types v0.0.0-20250710112743-e3a1e9e2a9c1
|
github.com/longhorn/types v0.0.0-20250710112743-e3a1e9e2a9c1
|
||||||
github.com/mitchellh/go-ps v1.0.0
|
github.com/mitchellh/go-ps v1.0.0
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/sirupsen/logrus v1.9.3
|
github.com/sirupsen/logrus v1.9.3
|
||||||
github.com/urfave/cli v1.22.17
|
github.com/urfave/cli v1.22.17
|
||||||
golang.org/x/net v0.42.0
|
golang.org/x/net v0.43.0
|
||||||
golang.org/x/sys v0.34.0
|
golang.org/x/sys v0.35.0
|
||||||
google.golang.org/grpc v1.73.0
|
google.golang.org/grpc v1.74.2
|
||||||
google.golang.org/protobuf v1.36.6
|
google.golang.org/protobuf v1.36.7
|
||||||
k8s.io/api v0.33.2
|
k8s.io/api v0.33.3
|
||||||
k8s.io/apimachinery v0.33.2
|
k8s.io/apimachinery v0.33.3
|
||||||
k8s.io/client-go v0.33.2
|
k8s.io/client-go v0.33.3
|
||||||
k8s.io/kubernetes v1.33.2
|
k8s.io/kubernetes v1.33.3
|
||||||
k8s.io/mount-utils v0.33.2
|
k8s.io/mount-utils v0.33.3
|
||||||
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
|
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ require (
|
||||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||||
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
|
||||||
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
|
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
|
||||||
github.com/go-logr/logr v1.4.2 // indirect
|
github.com/go-logr/logr v1.4.3 // indirect
|
||||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||||
github.com/go-openapi/jsonpointer v0.21.0 // indirect
|
github.com/go-openapi/jsonpointer v0.21.0 // indirect
|
||||||
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
github.com/go-openapi/jsonreference v0.20.2 // indirect
|
||||||
|
@ -98,12 +98,12 @@ require (
|
||||||
github.com/shirou/gopsutil/v3 v3.24.5 // indirect
|
github.com/shirou/gopsutil/v3 v3.24.5 // indirect
|
||||||
github.com/x448/float16 v0.8.4 // indirect
|
github.com/x448/float16 v0.8.4 // indirect
|
||||||
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
||||||
golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc // indirect
|
golang.org/x/exp v0.0.0-20250808145144-a408d31f581a // indirect
|
||||||
golang.org/x/oauth2 v0.28.0 // indirect
|
golang.org/x/oauth2 v0.30.0 // indirect
|
||||||
golang.org/x/term v0.33.0 // indirect
|
golang.org/x/term v0.34.0 // indirect
|
||||||
golang.org/x/text v0.27.0 // indirect
|
golang.org/x/text v0.28.0 // indirect
|
||||||
golang.org/x/time v0.9.0 // indirect
|
golang.org/x/time v0.9.0 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect
|
||||||
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
|
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
|
||||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
|
92
go.sum
92
go.sum
|
@ -12,8 +12,8 @@ github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxER
|
||||||
github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
|
github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
|
||||||
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
|
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
|
||||||
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
|
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
|
||||||
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
|
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
|
||||||
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||||
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||||
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||||
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
||||||
|
@ -57,8 +57,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||||
github.com/longhorn/go-common-libs v0.0.0-20250712065607-11215ac4de96 h1:+SN5T/B6WvJjlzKWDqswziq9k11XOxK27KlCTrbalW0=
|
github.com/longhorn/go-common-libs v0.0.0-20250809060702-aec53ac032f0 h1:AwMOBDw2ZwQb6rlUh8eHJVaaoUNq82160klizoo+l6o=
|
||||||
github.com/longhorn/go-common-libs v0.0.0-20250712065607-11215ac4de96/go.mod h1:WJowu2xRMEZ2B9K+SPQCUQpFoiC6yZiAHLZx2cR34QE=
|
github.com/longhorn/go-common-libs v0.0.0-20250809060702-aec53ac032f0/go.mod h1:Vnwia0RtGsDJ/lgYCXtIGgMTtpROsHQcDi7Hs7+BZgM=
|
||||||
github.com/longhorn/types v0.0.0-20250710112743-e3a1e9e2a9c1 h1:Lox/NlebN9jOc9JXokB270iyeMlyUw9gRePBy5LKwz0=
|
github.com/longhorn/types v0.0.0-20250710112743-e3a1e9e2a9c1 h1:Lox/NlebN9jOc9JXokB270iyeMlyUw9gRePBy5LKwz0=
|
||||||
github.com/longhorn/types v0.0.0-20250710112743-e3a1e9e2a9c1/go.mod h1:3bhH8iUZGZT3kA/B1DYMGzpdzfacqeexOt4SHo4/C2I=
|
github.com/longhorn/types v0.0.0-20250710112743-e3a1e9e2a9c1/go.mod h1:3bhH8iUZGZT3kA/B1DYMGzpdzfacqeexOt4SHo4/C2I=
|
||||||
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
|
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
|
||||||
|
@ -119,33 +119,33 @@ github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo
|
||||||
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
||||||
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
|
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
|
||||||
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
|
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
|
||||||
go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
|
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
|
||||||
go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
|
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
|
||||||
go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M=
|
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
|
||||||
go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE=
|
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
|
||||||
go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
|
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
|
||||||
go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=
|
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
|
||||||
go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o=
|
go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
|
||||||
go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w=
|
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
|
||||||
go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs=
|
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
|
||||||
go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
|
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
|
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
|
||||||
golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
|
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
|
||||||
golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc h1:TS73t7x3KarrNd5qAipmspBDS1rkMcgVG/fS1aRb4Rc=
|
golang.org/x/exp v0.0.0-20250808145144-a408d31f581a h1:Y+7uR/b1Mw2iSXZ3G//1haIiSElDQZ8KWh0h+sZPG90=
|
||||||
golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc=
|
golang.org/x/exp v0.0.0-20250808145144-a408d31f581a/go.mod h1:rT6SFzZ7oxADUDx58pcaKFTcZ+inxAa9fTrYx/uVYwg=
|
||||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||||
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
|
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
|
||||||
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
|
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
|
||||||
golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc=
|
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
|
||||||
golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
|
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
@ -155,32 +155,32 @@ golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
|
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
|
||||||
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||||
golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg=
|
golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
|
||||||
golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0=
|
golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
|
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
|
||||||
golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
|
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
|
||||||
golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY=
|
golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY=
|
||||||
golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
|
golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0=
|
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
|
||||||
golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw=
|
golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
|
||||||
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
|
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
|
||||||
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
|
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
|
||||||
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
|
google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A=
|
||||||
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
|
google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||||
|
@ -192,20 +192,20 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
k8s.io/api v0.33.2 h1:YgwIS5jKfA+BZg//OQhkJNIfie/kmRsO0BmNaVSimvY=
|
k8s.io/api v0.33.3 h1:SRd5t//hhkI1buzxb288fy2xvjubstenEKL9K51KBI8=
|
||||||
k8s.io/api v0.33.2/go.mod h1:fhrbphQJSM2cXzCWgqU29xLDuks4mu7ti9vveEnpSXs=
|
k8s.io/api v0.33.3/go.mod h1:01Y/iLUjNBM3TAvypct7DIj0M0NIZc+PzAHCIo0CYGE=
|
||||||
k8s.io/apimachinery v0.33.2 h1:IHFVhqg59mb8PJWTLi8m1mAoepkUNYmptHsV+Z1m5jY=
|
k8s.io/apimachinery v0.33.3 h1:4ZSrmNa0c/ZpZJhAgRdcsFcZOw1PQU1bALVQ0B3I5LA=
|
||||||
k8s.io/apimachinery v0.33.2/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
|
k8s.io/apimachinery v0.33.3/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
|
||||||
k8s.io/client-go v0.33.2 h1:z8CIcc0P581x/J1ZYf4CNzRKxRvQAwoAolYPbtQes+E=
|
k8s.io/client-go v0.33.3 h1:M5AfDnKfYmVJif92ngN532gFqakcGi6RvaOF16efrpA=
|
||||||
k8s.io/client-go v0.33.2/go.mod h1:9mCgT4wROvL948w6f6ArJNb7yQd7QsvqavDeZHvNmHo=
|
k8s.io/client-go v0.33.3/go.mod h1:luqKBQggEf3shbxHY4uVENAxrDISLOarxpTKMiUuujg=
|
||||||
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
|
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
|
||||||
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
|
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
|
||||||
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4=
|
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4=
|
||||||
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
|
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
|
||||||
k8s.io/kubernetes v1.33.2 h1:Vk3hsCaazyMQ6CXhu029AEPlBoYsEnD8oEIC0bP2pWQ=
|
k8s.io/kubernetes v1.33.3 h1:dBx5Z2ZhR8kNzAwCoCz4j1niUbUrNUDVxeSj4/Ienu0=
|
||||||
k8s.io/kubernetes v1.33.2/go.mod h1:nrt8sldmckKz2fCZhgRX3SKfS2e+CzXATPv6ITNkU00=
|
k8s.io/kubernetes v1.33.3/go.mod h1:nrt8sldmckKz2fCZhgRX3SKfS2e+CzXATPv6ITNkU00=
|
||||||
k8s.io/mount-utils v0.33.2 h1:mZAFhoGs/MwJziVlUpA072vqMhXRc0LGl/W3wybLP20=
|
k8s.io/mount-utils v0.33.3 h1:Q1jsnqdS4LdtJSYSXgiQv/XNrRHQncLk3gMYjKNSZrE=
|
||||||
k8s.io/mount-utils v0.33.2/go.mod h1:1JR4rKymg8B8bCPo618hpSAdrpO6XLh0Acqok/xVwPE=
|
k8s.io/mount-utils v0.33.3/go.mod h1:1JR4rKymg8B8bCPo618hpSAdrpO6XLh0Acqok/xVwPE=
|
||||||
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y=
|
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y=
|
||||||
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||||
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8=
|
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8=
|
||||||
|
|
|
@ -1,26 +1,28 @@
|
||||||
|
version: "2"
|
||||||
|
|
||||||
run:
|
run:
|
||||||
timeout: 1m
|
timeout: 1m
|
||||||
tests: true
|
tests: true
|
||||||
|
|
||||||
linters:
|
linters:
|
||||||
disable-all: true
|
default: none
|
||||||
enable:
|
enable: # please keep this alphabetized
|
||||||
|
- asasalint
|
||||||
- asciicheck
|
- asciicheck
|
||||||
|
- copyloopvar
|
||||||
|
- dupl
|
||||||
- errcheck
|
- errcheck
|
||||||
- forcetypeassert
|
- forcetypeassert
|
||||||
|
- goconst
|
||||||
- gocritic
|
- gocritic
|
||||||
- gofmt
|
|
||||||
- goimports
|
|
||||||
- gosimple
|
|
||||||
- govet
|
- govet
|
||||||
- ineffassign
|
- ineffassign
|
||||||
- misspell
|
- misspell
|
||||||
|
- musttag
|
||||||
- revive
|
- revive
|
||||||
- staticcheck
|
- staticcheck
|
||||||
- typecheck
|
|
||||||
- unused
|
- unused
|
||||||
|
|
||||||
issues:
|
issues:
|
||||||
exclude-use-default: false
|
|
||||||
max-issues-per-linter: 0
|
max-issues-per-linter: 0
|
||||||
max-same-issues: 10
|
max-same-issues: 10
|
||||||
|
|
|
@ -11,8 +11,6 @@
|
||||||
// requires Go 1.6 or later)
|
// requires Go 1.6 or later)
|
||||||
//
|
//
|
||||||
// See https://http2.github.io/ for more information on HTTP/2.
|
// See https://http2.github.io/ for more information on HTTP/2.
|
||||||
//
|
|
||||||
// See https://http2.golang.org/ for a test server running this code.
|
|
||||||
package http2 // import "golang.org/x/net/http2"
|
package http2 // import "golang.org/x/net/http2"
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
// Package internal contains support packages for oauth2 package.
|
// Package internal contains support packages for [golang.org/x/oauth2].
|
||||||
package internal
|
package internal
|
||||||
|
|
|
@ -13,7 +13,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// ParseKey converts the binary contents of a private key file
|
// ParseKey converts the binary contents of a private key file
|
||||||
// to an *rsa.PrivateKey. It detects whether the private key is in a
|
// to an [*rsa.PrivateKey]. It detects whether the private key is in a
|
||||||
// PEM container or not. If so, it extracts the private key
|
// PEM container or not. If so, it extracts the private key
|
||||||
// from PEM container before conversion. It only supports PEM
|
// from PEM container before conversion. It only supports PEM
|
||||||
// containers with no passphrase.
|
// containers with no passphrase.
|
||||||
|
|
|
@ -10,7 +10,6 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
|
||||||
"math"
|
"math"
|
||||||
"mime"
|
"mime"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
@ -26,9 +25,9 @@ import (
|
||||||
// the requests to access protected resources on the OAuth 2.0
|
// the requests to access protected resources on the OAuth 2.0
|
||||||
// provider's backend.
|
// provider's backend.
|
||||||
//
|
//
|
||||||
// This type is a mirror of oauth2.Token and exists to break
|
// This type is a mirror of [golang.org/x/oauth2.Token] and exists to break
|
||||||
// an otherwise-circular dependency. Other internal packages
|
// an otherwise-circular dependency. Other internal packages
|
||||||
// should convert this Token into an oauth2.Token before use.
|
// should convert this Token into an [golang.org/x/oauth2.Token] before use.
|
||||||
type Token struct {
|
type Token struct {
|
||||||
// AccessToken is the token that authorizes and authenticates
|
// AccessToken is the token that authorizes and authenticates
|
||||||
// the requests.
|
// the requests.
|
||||||
|
@ -50,9 +49,16 @@ type Token struct {
|
||||||
// mechanisms for that TokenSource will not be used.
|
// mechanisms for that TokenSource will not be used.
|
||||||
Expiry time.Time
|
Expiry time.Time
|
||||||
|
|
||||||
|
// ExpiresIn is the OAuth2 wire format "expires_in" field,
|
||||||
|
// which specifies how many seconds later the token expires,
|
||||||
|
// relative to an unknown time base approximately around "now".
|
||||||
|
// It is the application's responsibility to populate
|
||||||
|
// `Expiry` from `ExpiresIn` when required.
|
||||||
|
ExpiresIn int64 `json:"expires_in,omitempty"`
|
||||||
|
|
||||||
// Raw optionally contains extra metadata from the server
|
// Raw optionally contains extra metadata from the server
|
||||||
// when updating a token.
|
// when updating a token.
|
||||||
Raw interface{}
|
Raw any
|
||||||
}
|
}
|
||||||
|
|
||||||
// tokenJSON is the struct representing the HTTP response from OAuth2
|
// tokenJSON is the struct representing the HTTP response from OAuth2
|
||||||
|
@ -99,14 +105,6 @@ func (e *expirationTime) UnmarshalJSON(b []byte) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op.
|
|
||||||
//
|
|
||||||
// Deprecated: this function no longer does anything. Caller code that
|
|
||||||
// wants to avoid potential extra HTTP requests made during
|
|
||||||
// auto-probing of the provider's auth style should set
|
|
||||||
// Endpoint.AuthStyle.
|
|
||||||
func RegisterBrokenAuthHeaderProvider(tokenURL string) {}
|
|
||||||
|
|
||||||
// AuthStyle is a copy of the golang.org/x/oauth2 package's AuthStyle type.
|
// AuthStyle is a copy of the golang.org/x/oauth2 package's AuthStyle type.
|
||||||
type AuthStyle int
|
type AuthStyle int
|
||||||
|
|
||||||
|
@ -143,6 +141,11 @@ func (lc *LazyAuthStyleCache) Get() *AuthStyleCache {
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type authStyleCacheKey struct {
|
||||||
|
url string
|
||||||
|
clientID string
|
||||||
|
}
|
||||||
|
|
||||||
// AuthStyleCache is the set of tokenURLs we've successfully used via
|
// AuthStyleCache is the set of tokenURLs we've successfully used via
|
||||||
// RetrieveToken and which style auth we ended up using.
|
// RetrieveToken and which style auth we ended up using.
|
||||||
// It's called a cache, but it doesn't (yet?) shrink. It's expected that
|
// It's called a cache, but it doesn't (yet?) shrink. It's expected that
|
||||||
|
@ -150,26 +153,26 @@ func (lc *LazyAuthStyleCache) Get() *AuthStyleCache {
|
||||||
// small.
|
// small.
|
||||||
type AuthStyleCache struct {
|
type AuthStyleCache struct {
|
||||||
mu sync.Mutex
|
mu sync.Mutex
|
||||||
m map[string]AuthStyle // keyed by tokenURL
|
m map[authStyleCacheKey]AuthStyle
|
||||||
}
|
}
|
||||||
|
|
||||||
// lookupAuthStyle reports which auth style we last used with tokenURL
|
// lookupAuthStyle reports which auth style we last used with tokenURL
|
||||||
// when calling RetrieveToken and whether we have ever done so.
|
// when calling RetrieveToken and whether we have ever done so.
|
||||||
func (c *AuthStyleCache) lookupAuthStyle(tokenURL string) (style AuthStyle, ok bool) {
|
func (c *AuthStyleCache) lookupAuthStyle(tokenURL, clientID string) (style AuthStyle, ok bool) {
|
||||||
c.mu.Lock()
|
c.mu.Lock()
|
||||||
defer c.mu.Unlock()
|
defer c.mu.Unlock()
|
||||||
style, ok = c.m[tokenURL]
|
style, ok = c.m[authStyleCacheKey{tokenURL, clientID}]
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// setAuthStyle adds an entry to authStyleCache, documented above.
|
// setAuthStyle adds an entry to authStyleCache, documented above.
|
||||||
func (c *AuthStyleCache) setAuthStyle(tokenURL string, v AuthStyle) {
|
func (c *AuthStyleCache) setAuthStyle(tokenURL, clientID string, v AuthStyle) {
|
||||||
c.mu.Lock()
|
c.mu.Lock()
|
||||||
defer c.mu.Unlock()
|
defer c.mu.Unlock()
|
||||||
if c.m == nil {
|
if c.m == nil {
|
||||||
c.m = make(map[string]AuthStyle)
|
c.m = make(map[authStyleCacheKey]AuthStyle)
|
||||||
}
|
}
|
||||||
c.m[tokenURL] = v
|
c.m[authStyleCacheKey{tokenURL, clientID}] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
// newTokenRequest returns a new *http.Request to retrieve a new token
|
// newTokenRequest returns a new *http.Request to retrieve a new token
|
||||||
|
@ -210,9 +213,9 @@ func cloneURLValues(v url.Values) url.Values {
|
||||||
}
|
}
|
||||||
|
|
||||||
func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string, v url.Values, authStyle AuthStyle, styleCache *AuthStyleCache) (*Token, error) {
|
func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string, v url.Values, authStyle AuthStyle, styleCache *AuthStyleCache) (*Token, error) {
|
||||||
needsAuthStyleProbe := authStyle == 0
|
needsAuthStyleProbe := authStyle == AuthStyleUnknown
|
||||||
if needsAuthStyleProbe {
|
if needsAuthStyleProbe {
|
||||||
if style, ok := styleCache.lookupAuthStyle(tokenURL); ok {
|
if style, ok := styleCache.lookupAuthStyle(tokenURL, clientID); ok {
|
||||||
authStyle = style
|
authStyle = style
|
||||||
needsAuthStyleProbe = false
|
needsAuthStyleProbe = false
|
||||||
} else {
|
} else {
|
||||||
|
@ -242,7 +245,7 @@ func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string,
|
||||||
token, err = doTokenRoundTrip(ctx, req)
|
token, err = doTokenRoundTrip(ctx, req)
|
||||||
}
|
}
|
||||||
if needsAuthStyleProbe && err == nil {
|
if needsAuthStyleProbe && err == nil {
|
||||||
styleCache.setAuthStyle(tokenURL, authStyle)
|
styleCache.setAuthStyle(tokenURL, clientID, authStyle)
|
||||||
}
|
}
|
||||||
// Don't overwrite `RefreshToken` with an empty value
|
// Don't overwrite `RefreshToken` with an empty value
|
||||||
// if this was a token refreshing request.
|
// if this was a token refreshing request.
|
||||||
|
@ -257,7 +260,7 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
body, err := ioutil.ReadAll(io.LimitReader(r.Body, 1<<20))
|
body, err := io.ReadAll(io.LimitReader(r.Body, 1<<20))
|
||||||
r.Body.Close()
|
r.Body.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("oauth2: cannot fetch token: %v", err)
|
return nil, fmt.Errorf("oauth2: cannot fetch token: %v", err)
|
||||||
|
@ -312,7 +315,8 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
|
||||||
TokenType: tj.TokenType,
|
TokenType: tj.TokenType,
|
||||||
RefreshToken: tj.RefreshToken,
|
RefreshToken: tj.RefreshToken,
|
||||||
Expiry: tj.expiry(),
|
Expiry: tj.expiry(),
|
||||||
Raw: make(map[string]interface{}),
|
ExpiresIn: int64(tj.ExpiresIn),
|
||||||
|
Raw: make(map[string]any),
|
||||||
}
|
}
|
||||||
json.Unmarshal(body, &token.Raw) // no error checks for optional fields
|
json.Unmarshal(body, &token.Raw) // no error checks for optional fields
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,8 +9,8 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
// HTTPClient is the context key to use with golang.org/x/net/context's
|
// HTTPClient is the context key to use with [context.WithValue]
|
||||||
// WithValue function to associate an *http.Client value with a context.
|
// to associate an [*http.Client] value with a context.
|
||||||
var HTTPClient ContextKey
|
var HTTPClient ContextKey
|
||||||
|
|
||||||
// ContextKey is just an empty struct. It exists so HTTPClient can be
|
// ContextKey is just an empty struct. It exists so HTTPClient can be
|
||||||
|
|
|
@ -22,9 +22,9 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// NoContext is the default context you should supply if not using
|
// NoContext is the default context you should supply if not using
|
||||||
// your own context.Context (see https://golang.org/x/net/context).
|
// your own [context.Context].
|
||||||
//
|
//
|
||||||
// Deprecated: Use context.Background() or context.TODO() instead.
|
// Deprecated: Use [context.Background] or [context.TODO] instead.
|
||||||
var NoContext = context.TODO()
|
var NoContext = context.TODO()
|
||||||
|
|
||||||
// RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op.
|
// RegisterBrokenAuthHeaderProvider previously did something. It is now a no-op.
|
||||||
|
@ -37,8 +37,8 @@ func RegisterBrokenAuthHeaderProvider(tokenURL string) {}
|
||||||
|
|
||||||
// Config describes a typical 3-legged OAuth2 flow, with both the
|
// Config describes a typical 3-legged OAuth2 flow, with both the
|
||||||
// client application information and the server's endpoint URLs.
|
// client application information and the server's endpoint URLs.
|
||||||
// For the client credentials 2-legged OAuth2 flow, see the clientcredentials
|
// For the client credentials 2-legged OAuth2 flow, see the
|
||||||
// package (https://golang.org/x/oauth2/clientcredentials).
|
// [golang.org/x/oauth2/clientcredentials] package.
|
||||||
type Config struct {
|
type Config struct {
|
||||||
// ClientID is the application's ID.
|
// ClientID is the application's ID.
|
||||||
ClientID string
|
ClientID string
|
||||||
|
@ -46,7 +46,7 @@ type Config struct {
|
||||||
// ClientSecret is the application's secret.
|
// ClientSecret is the application's secret.
|
||||||
ClientSecret string
|
ClientSecret string
|
||||||
|
|
||||||
// Endpoint contains the resource server's token endpoint
|
// Endpoint contains the authorization server's token endpoint
|
||||||
// URLs. These are constants specific to each server and are
|
// URLs. These are constants specific to each server and are
|
||||||
// often available via site-specific packages, such as
|
// often available via site-specific packages, such as
|
||||||
// google.Endpoint or github.Endpoint.
|
// google.Endpoint or github.Endpoint.
|
||||||
|
@ -135,7 +135,7 @@ type setParam struct{ k, v string }
|
||||||
|
|
||||||
func (p setParam) setValue(m url.Values) { m.Set(p.k, p.v) }
|
func (p setParam) setValue(m url.Values) { m.Set(p.k, p.v) }
|
||||||
|
|
||||||
// SetAuthURLParam builds an AuthCodeOption which passes key/value parameters
|
// SetAuthURLParam builds an [AuthCodeOption] which passes key/value parameters
|
||||||
// to a provider's authorization endpoint.
|
// to a provider's authorization endpoint.
|
||||||
func SetAuthURLParam(key, value string) AuthCodeOption {
|
func SetAuthURLParam(key, value string) AuthCodeOption {
|
||||||
return setParam{key, value}
|
return setParam{key, value}
|
||||||
|
@ -148,8 +148,8 @@ func SetAuthURLParam(key, value string) AuthCodeOption {
|
||||||
// request and callback. The authorization server includes this value when
|
// request and callback. The authorization server includes this value when
|
||||||
// redirecting the user agent back to the client.
|
// redirecting the user agent back to the client.
|
||||||
//
|
//
|
||||||
// Opts may include AccessTypeOnline or AccessTypeOffline, as well
|
// Opts may include [AccessTypeOnline] or [AccessTypeOffline], as well
|
||||||
// as ApprovalForce.
|
// as [ApprovalForce].
|
||||||
//
|
//
|
||||||
// To protect against CSRF attacks, opts should include a PKCE challenge
|
// To protect against CSRF attacks, opts should include a PKCE challenge
|
||||||
// (S256ChallengeOption). Not all servers support PKCE. An alternative is to
|
// (S256ChallengeOption). Not all servers support PKCE. An alternative is to
|
||||||
|
@ -194,7 +194,7 @@ func (c *Config) AuthCodeURL(state string, opts ...AuthCodeOption) string {
|
||||||
// and when other authorization grant types are not available."
|
// and when other authorization grant types are not available."
|
||||||
// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info.
|
// See https://tools.ietf.org/html/rfc6749#section-4.3 for more info.
|
||||||
//
|
//
|
||||||
// The provided context optionally controls which HTTP client is used. See the HTTPClient variable.
|
// The provided context optionally controls which HTTP client is used. See the [HTTPClient] variable.
|
||||||
func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) {
|
func (c *Config) PasswordCredentialsToken(ctx context.Context, username, password string) (*Token, error) {
|
||||||
v := url.Values{
|
v := url.Values{
|
||||||
"grant_type": {"password"},
|
"grant_type": {"password"},
|
||||||
|
@ -212,10 +212,10 @@ func (c *Config) PasswordCredentialsToken(ctx context.Context, username, passwor
|
||||||
// It is used after a resource provider redirects the user back
|
// It is used after a resource provider redirects the user back
|
||||||
// to the Redirect URI (the URL obtained from AuthCodeURL).
|
// to the Redirect URI (the URL obtained from AuthCodeURL).
|
||||||
//
|
//
|
||||||
// The provided context optionally controls which HTTP client is used. See the HTTPClient variable.
|
// The provided context optionally controls which HTTP client is used. See the [HTTPClient] variable.
|
||||||
//
|
//
|
||||||
// The code will be in the *http.Request.FormValue("code"). Before
|
// The code will be in the [http.Request.FormValue]("code"). Before
|
||||||
// calling Exchange, be sure to validate FormValue("state") if you are
|
// calling Exchange, be sure to validate [http.Request.FormValue]("state") if you are
|
||||||
// using it to protect against CSRF attacks.
|
// using it to protect against CSRF attacks.
|
||||||
//
|
//
|
||||||
// If using PKCE to protect against CSRF attacks, opts should include a
|
// If using PKCE to protect against CSRF attacks, opts should include a
|
||||||
|
@ -242,10 +242,10 @@ func (c *Config) Client(ctx context.Context, t *Token) *http.Client {
|
||||||
return NewClient(ctx, c.TokenSource(ctx, t))
|
return NewClient(ctx, c.TokenSource(ctx, t))
|
||||||
}
|
}
|
||||||
|
|
||||||
// TokenSource returns a TokenSource that returns t until t expires,
|
// TokenSource returns a [TokenSource] that returns t until t expires,
|
||||||
// automatically refreshing it as necessary using the provided context.
|
// automatically refreshing it as necessary using the provided context.
|
||||||
//
|
//
|
||||||
// Most users will use Config.Client instead.
|
// Most users will use [Config.Client] instead.
|
||||||
func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource {
|
func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource {
|
||||||
tkr := &tokenRefresher{
|
tkr := &tokenRefresher{
|
||||||
ctx: ctx,
|
ctx: ctx,
|
||||||
|
@ -260,7 +260,7 @@ func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// tokenRefresher is a TokenSource that makes "grant_type"=="refresh_token"
|
// tokenRefresher is a TokenSource that makes "grant_type=refresh_token"
|
||||||
// HTTP requests to renew a token using a RefreshToken.
|
// HTTP requests to renew a token using a RefreshToken.
|
||||||
type tokenRefresher struct {
|
type tokenRefresher struct {
|
||||||
ctx context.Context // used to get HTTP requests
|
ctx context.Context // used to get HTTP requests
|
||||||
|
@ -305,8 +305,7 @@ type reuseTokenSource struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Token returns the current token if it's still valid, else will
|
// Token returns the current token if it's still valid, else will
|
||||||
// refresh the current token (using r.Context for HTTP client
|
// refresh the current token and return the new one.
|
||||||
// information) and return the new one.
|
|
||||||
func (s *reuseTokenSource) Token() (*Token, error) {
|
func (s *reuseTokenSource) Token() (*Token, error) {
|
||||||
s.mu.Lock()
|
s.mu.Lock()
|
||||||
defer s.mu.Unlock()
|
defer s.mu.Unlock()
|
||||||
|
@ -322,7 +321,7 @@ func (s *reuseTokenSource) Token() (*Token, error) {
|
||||||
return t, nil
|
return t, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// StaticTokenSource returns a TokenSource that always returns the same token.
|
// StaticTokenSource returns a [TokenSource] that always returns the same token.
|
||||||
// Because the provided token t is never refreshed, StaticTokenSource is only
|
// Because the provided token t is never refreshed, StaticTokenSource is only
|
||||||
// useful for tokens that never expire.
|
// useful for tokens that never expire.
|
||||||
func StaticTokenSource(t *Token) TokenSource {
|
func StaticTokenSource(t *Token) TokenSource {
|
||||||
|
@ -338,16 +337,16 @@ func (s staticTokenSource) Token() (*Token, error) {
|
||||||
return s.t, nil
|
return s.t, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// HTTPClient is the context key to use with golang.org/x/net/context's
|
// HTTPClient is the context key to use with [context.WithValue]
|
||||||
// WithValue function to associate an *http.Client value with a context.
|
// to associate a [*http.Client] value with a context.
|
||||||
var HTTPClient internal.ContextKey
|
var HTTPClient internal.ContextKey
|
||||||
|
|
||||||
// NewClient creates an *http.Client from a Context and TokenSource.
|
// NewClient creates an [*http.Client] from a [context.Context] and [TokenSource].
|
||||||
// The returned client is not valid beyond the lifetime of the context.
|
// The returned client is not valid beyond the lifetime of the context.
|
||||||
//
|
//
|
||||||
// Note that if a custom *http.Client is provided via the Context it
|
// Note that if a custom [*http.Client] is provided via the [context.Context] it
|
||||||
// is used only for token acquisition and is not used to configure the
|
// is used only for token acquisition and is not used to configure the
|
||||||
// *http.Client returned from NewClient.
|
// [*http.Client] returned from NewClient.
|
||||||
//
|
//
|
||||||
// As a special case, if src is nil, a non-OAuth2 client is returned
|
// As a special case, if src is nil, a non-OAuth2 client is returned
|
||||||
// using the provided context. This exists to support related OAuth2
|
// using the provided context. This exists to support related OAuth2
|
||||||
|
@ -368,7 +367,7 @@ func NewClient(ctx context.Context, src TokenSource) *http.Client {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReuseTokenSource returns a TokenSource which repeatedly returns the
|
// ReuseTokenSource returns a [TokenSource] which repeatedly returns the
|
||||||
// same token as long as it's valid, starting with t.
|
// same token as long as it's valid, starting with t.
|
||||||
// When its cached token is invalid, a new token is obtained from src.
|
// When its cached token is invalid, a new token is obtained from src.
|
||||||
//
|
//
|
||||||
|
@ -376,10 +375,10 @@ func NewClient(ctx context.Context, src TokenSource) *http.Client {
|
||||||
// (such as a file on disk) between runs of a program, rather than
|
// (such as a file on disk) between runs of a program, rather than
|
||||||
// obtaining new tokens unnecessarily.
|
// obtaining new tokens unnecessarily.
|
||||||
//
|
//
|
||||||
// The initial token t may be nil, in which case the TokenSource is
|
// The initial token t may be nil, in which case the [TokenSource] is
|
||||||
// wrapped in a caching version if it isn't one already. This also
|
// wrapped in a caching version if it isn't one already. This also
|
||||||
// means it's always safe to wrap ReuseTokenSource around any other
|
// means it's always safe to wrap ReuseTokenSource around any other
|
||||||
// TokenSource without adverse effects.
|
// [TokenSource] without adverse effects.
|
||||||
func ReuseTokenSource(t *Token, src TokenSource) TokenSource {
|
func ReuseTokenSource(t *Token, src TokenSource) TokenSource {
|
||||||
// Don't wrap a reuseTokenSource in itself. That would work,
|
// Don't wrap a reuseTokenSource in itself. That would work,
|
||||||
// but cause an unnecessary number of mutex operations.
|
// but cause an unnecessary number of mutex operations.
|
||||||
|
@ -397,8 +396,8 @@ func ReuseTokenSource(t *Token, src TokenSource) TokenSource {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReuseTokenSourceWithExpiry returns a TokenSource that acts in the same manner as the
|
// ReuseTokenSourceWithExpiry returns a [TokenSource] that acts in the same manner as the
|
||||||
// TokenSource returned by ReuseTokenSource, except the expiry buffer is
|
// [TokenSource] returned by [ReuseTokenSource], except the expiry buffer is
|
||||||
// configurable. The expiration time of a token is calculated as
|
// configurable. The expiration time of a token is calculated as
|
||||||
// t.Expiry.Add(-earlyExpiry).
|
// t.Expiry.Add(-earlyExpiry).
|
||||||
func ReuseTokenSourceWithExpiry(t *Token, src TokenSource, earlyExpiry time.Duration) TokenSource {
|
func ReuseTokenSourceWithExpiry(t *Token, src TokenSource, earlyExpiry time.Duration) TokenSource {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
// Copyright 2023 The Go Authors. All rights reserved.
|
// Copyright 2023 The Go Authors. All rights reserved.
|
||||||
// Use of this source code is governed by a BSD-style
|
// Use of this source code is governed by a BSD-style
|
||||||
// license that can be found in the LICENSE file.
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
package oauth2
|
package oauth2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -20,9 +21,9 @@ const (
|
||||||
// This follows recommendations in RFC 7636.
|
// This follows recommendations in RFC 7636.
|
||||||
//
|
//
|
||||||
// A fresh verifier should be generated for each authorization.
|
// A fresh verifier should be generated for each authorization.
|
||||||
// S256ChallengeOption(verifier) should then be passed to Config.AuthCodeURL
|
// The resulting verifier should be passed to [Config.AuthCodeURL] or [Config.DeviceAuth]
|
||||||
// (or Config.DeviceAuth) and VerifierOption(verifier) to Config.Exchange
|
// with [S256ChallengeOption], and to [Config.Exchange] or [Config.DeviceAccessToken]
|
||||||
// (or Config.DeviceAccessToken).
|
// with [VerifierOption].
|
||||||
func GenerateVerifier() string {
|
func GenerateVerifier() string {
|
||||||
// "RECOMMENDED that the output of a suitable random number generator be
|
// "RECOMMENDED that the output of a suitable random number generator be
|
||||||
// used to create a 32-octet sequence. The octet sequence is then
|
// used to create a 32-octet sequence. The octet sequence is then
|
||||||
|
@ -36,22 +37,22 @@ func GenerateVerifier() string {
|
||||||
return base64.RawURLEncoding.EncodeToString(data)
|
return base64.RawURLEncoding.EncodeToString(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// VerifierOption returns a PKCE code verifier AuthCodeOption. It should be
|
// VerifierOption returns a PKCE code verifier [AuthCodeOption]. It should only be
|
||||||
// passed to Config.Exchange or Config.DeviceAccessToken only.
|
// passed to [Config.Exchange] or [Config.DeviceAccessToken].
|
||||||
func VerifierOption(verifier string) AuthCodeOption {
|
func VerifierOption(verifier string) AuthCodeOption {
|
||||||
return setParam{k: codeVerifierKey, v: verifier}
|
return setParam{k: codeVerifierKey, v: verifier}
|
||||||
}
|
}
|
||||||
|
|
||||||
// S256ChallengeFromVerifier returns a PKCE code challenge derived from verifier with method S256.
|
// S256ChallengeFromVerifier returns a PKCE code challenge derived from verifier with method S256.
|
||||||
//
|
//
|
||||||
// Prefer to use S256ChallengeOption where possible.
|
// Prefer to use [S256ChallengeOption] where possible.
|
||||||
func S256ChallengeFromVerifier(verifier string) string {
|
func S256ChallengeFromVerifier(verifier string) string {
|
||||||
sha := sha256.Sum256([]byte(verifier))
|
sha := sha256.Sum256([]byte(verifier))
|
||||||
return base64.RawURLEncoding.EncodeToString(sha[:])
|
return base64.RawURLEncoding.EncodeToString(sha[:])
|
||||||
}
|
}
|
||||||
|
|
||||||
// S256ChallengeOption derives a PKCE code challenge derived from verifier with
|
// S256ChallengeOption derives a PKCE code challenge derived from verifier with
|
||||||
// method S256. It should be passed to Config.AuthCodeURL or Config.DeviceAuth
|
// method S256. It should be passed to [Config.AuthCodeURL] or [Config.DeviceAuth]
|
||||||
// only.
|
// only.
|
||||||
func S256ChallengeOption(verifier string) AuthCodeOption {
|
func S256ChallengeOption(verifier string) AuthCodeOption {
|
||||||
return challengeOption{
|
return challengeOption{
|
||||||
|
|
|
@ -44,7 +44,7 @@ type Token struct {
|
||||||
|
|
||||||
// Expiry is the optional expiration time of the access token.
|
// Expiry is the optional expiration time of the access token.
|
||||||
//
|
//
|
||||||
// If zero, TokenSource implementations will reuse the same
|
// If zero, [TokenSource] implementations will reuse the same
|
||||||
// token forever and RefreshToken or equivalent
|
// token forever and RefreshToken or equivalent
|
||||||
// mechanisms for that TokenSource will not be used.
|
// mechanisms for that TokenSource will not be used.
|
||||||
Expiry time.Time `json:"expiry,omitempty"`
|
Expiry time.Time `json:"expiry,omitempty"`
|
||||||
|
@ -58,7 +58,7 @@ type Token struct {
|
||||||
|
|
||||||
// raw optionally contains extra metadata from the server
|
// raw optionally contains extra metadata from the server
|
||||||
// when updating a token.
|
// when updating a token.
|
||||||
raw interface{}
|
raw any
|
||||||
|
|
||||||
// expiryDelta is used to calculate when a token is considered
|
// expiryDelta is used to calculate when a token is considered
|
||||||
// expired, by subtracting from Expiry. If zero, defaultExpiryDelta
|
// expired, by subtracting from Expiry. If zero, defaultExpiryDelta
|
||||||
|
@ -86,16 +86,16 @@ func (t *Token) Type() string {
|
||||||
// SetAuthHeader sets the Authorization header to r using the access
|
// SetAuthHeader sets the Authorization header to r using the access
|
||||||
// token in t.
|
// token in t.
|
||||||
//
|
//
|
||||||
// This method is unnecessary when using Transport or an HTTP Client
|
// This method is unnecessary when using [Transport] or an HTTP Client
|
||||||
// returned by this package.
|
// returned by this package.
|
||||||
func (t *Token) SetAuthHeader(r *http.Request) {
|
func (t *Token) SetAuthHeader(r *http.Request) {
|
||||||
r.Header.Set("Authorization", t.Type()+" "+t.AccessToken)
|
r.Header.Set("Authorization", t.Type()+" "+t.AccessToken)
|
||||||
}
|
}
|
||||||
|
|
||||||
// WithExtra returns a new Token that's a clone of t, but using the
|
// WithExtra returns a new [Token] that's a clone of t, but using the
|
||||||
// provided raw extra map. This is only intended for use by packages
|
// provided raw extra map. This is only intended for use by packages
|
||||||
// implementing derivative OAuth2 flows.
|
// implementing derivative OAuth2 flows.
|
||||||
func (t *Token) WithExtra(extra interface{}) *Token {
|
func (t *Token) WithExtra(extra any) *Token {
|
||||||
t2 := new(Token)
|
t2 := new(Token)
|
||||||
*t2 = *t
|
*t2 = *t
|
||||||
t2.raw = extra
|
t2.raw = extra
|
||||||
|
@ -105,8 +105,8 @@ func (t *Token) WithExtra(extra interface{}) *Token {
|
||||||
// Extra returns an extra field.
|
// Extra returns an extra field.
|
||||||
// Extra fields are key-value pairs returned by the server as a
|
// Extra fields are key-value pairs returned by the server as a
|
||||||
// part of the token retrieval response.
|
// part of the token retrieval response.
|
||||||
func (t *Token) Extra(key string) interface{} {
|
func (t *Token) Extra(key string) any {
|
||||||
if raw, ok := t.raw.(map[string]interface{}); ok {
|
if raw, ok := t.raw.(map[string]any); ok {
|
||||||
return raw[key]
|
return raw[key]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,13 +163,14 @@ func tokenFromInternal(t *internal.Token) *Token {
|
||||||
TokenType: t.TokenType,
|
TokenType: t.TokenType,
|
||||||
RefreshToken: t.RefreshToken,
|
RefreshToken: t.RefreshToken,
|
||||||
Expiry: t.Expiry,
|
Expiry: t.Expiry,
|
||||||
|
ExpiresIn: t.ExpiresIn,
|
||||||
raw: t.Raw,
|
raw: t.Raw,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// retrieveToken takes a *Config and uses that to retrieve an *internal.Token.
|
// retrieveToken takes a *Config and uses that to retrieve an *internal.Token.
|
||||||
// This token is then mapped from *internal.Token into an *oauth2.Token which is returned along
|
// This token is then mapped from *internal.Token into an *oauth2.Token which is returned along
|
||||||
// with an error..
|
// with an error.
|
||||||
func retrieveToken(ctx context.Context, c *Config, v url.Values) (*Token, error) {
|
func retrieveToken(ctx context.Context, c *Config, v url.Values) (*Token, error) {
|
||||||
tk, err := internal.RetrieveToken(ctx, c.ClientID, c.ClientSecret, c.Endpoint.TokenURL, v, internal.AuthStyle(c.Endpoint.AuthStyle), c.authStyleCache.Get())
|
tk, err := internal.RetrieveToken(ctx, c.ClientID, c.ClientSecret, c.Endpoint.TokenURL, v, internal.AuthStyle(c.Endpoint.AuthStyle), c.authStyleCache.Get())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -11,12 +11,12 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Transport is an http.RoundTripper that makes OAuth 2.0 HTTP requests,
|
// Transport is an [http.RoundTripper] that makes OAuth 2.0 HTTP requests,
|
||||||
// wrapping a base RoundTripper and adding an Authorization header
|
// wrapping a base [http.RoundTripper] and adding an Authorization header
|
||||||
// with a token from the supplied Sources.
|
// with a token from the supplied [TokenSource].
|
||||||
//
|
//
|
||||||
// Transport is a low-level mechanism. Most code will use the
|
// Transport is a low-level mechanism. Most code will use the
|
||||||
// higher-level Config.Client method instead.
|
// higher-level [Config.Client] method instead.
|
||||||
type Transport struct {
|
type Transport struct {
|
||||||
// Source supplies the token to add to outgoing requests'
|
// Source supplies the token to add to outgoing requests'
|
||||||
// Authorization headers.
|
// Authorization headers.
|
||||||
|
@ -47,7 +47,7 @@ func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
req2 := cloneRequest(req) // per RoundTripper contract
|
req2 := req.Clone(req.Context())
|
||||||
token.SetAuthHeader(req2)
|
token.SetAuthHeader(req2)
|
||||||
|
|
||||||
// req.Body is assumed to be closed by the base RoundTripper.
|
// req.Body is assumed to be closed by the base RoundTripper.
|
||||||
|
@ -73,17 +73,3 @@ func (t *Transport) base() http.RoundTripper {
|
||||||
}
|
}
|
||||||
return http.DefaultTransport
|
return http.DefaultTransport
|
||||||
}
|
}
|
||||||
|
|
||||||
// cloneRequest returns a clone of the provided *http.Request.
|
|
||||||
// The clone is a shallow copy of the struct and its Header map.
|
|
||||||
func cloneRequest(r *http.Request) *http.Request {
|
|
||||||
// shallow copy of the struct
|
|
||||||
r2 := new(http.Request)
|
|
||||||
*r2 = *r
|
|
||||||
// deep copy of the Header
|
|
||||||
r2.Header = make(http.Header, len(r.Header))
|
|
||||||
for k, s := range r.Header {
|
|
||||||
r2.Header[k] = append([]string(nil), s...)
|
|
||||||
}
|
|
||||||
return r2
|
|
||||||
}
|
|
||||||
|
|
|
@ -349,6 +349,9 @@ struct ltchars {
|
||||||
#define _HIDIOCGRAWPHYS HIDIOCGRAWPHYS(_HIDIOCGRAWPHYS_LEN)
|
#define _HIDIOCGRAWPHYS HIDIOCGRAWPHYS(_HIDIOCGRAWPHYS_LEN)
|
||||||
#define _HIDIOCGRAWUNIQ HIDIOCGRAWUNIQ(_HIDIOCGRAWUNIQ_LEN)
|
#define _HIDIOCGRAWUNIQ HIDIOCGRAWUNIQ(_HIDIOCGRAWUNIQ_LEN)
|
||||||
|
|
||||||
|
// Renamed in v6.16, commit c6d732c38f93 ("net: ethtool: remove duplicate defines for family info")
|
||||||
|
#define ETHTOOL_FAMILY_NAME ETHTOOL_GENL_NAME
|
||||||
|
#define ETHTOOL_FAMILY_VERSION ETHTOOL_GENL_VERSION
|
||||||
'
|
'
|
||||||
|
|
||||||
includes_NetBSD='
|
includes_NetBSD='
|
||||||
|
|
|
@ -602,14 +602,9 @@ func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocI
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
|
|
||||||
const minIovec = 8
|
const minIovec = 8
|
||||||
|
|
||||||
func Readv(fd int, iovs [][]byte) (n int, err error) {
|
func Readv(fd int, iovs [][]byte) (n int, err error) {
|
||||||
if !darwinKernelVersionMin(11, 0, 0) {
|
|
||||||
return 0, ENOSYS
|
|
||||||
}
|
|
||||||
|
|
||||||
iovecs := make([]Iovec, 0, minIovec)
|
iovecs := make([]Iovec, 0, minIovec)
|
||||||
iovecs = appendBytes(iovecs, iovs)
|
iovecs = appendBytes(iovecs, iovs)
|
||||||
n, err = readv(fd, iovecs)
|
n, err = readv(fd, iovecs)
|
||||||
|
@ -618,9 +613,6 @@ func Readv(fd int, iovs [][]byte) (n int, err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
|
func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
|
||||||
if !darwinKernelVersionMin(11, 0, 0) {
|
|
||||||
return 0, ENOSYS
|
|
||||||
}
|
|
||||||
iovecs := make([]Iovec, 0, minIovec)
|
iovecs := make([]Iovec, 0, minIovec)
|
||||||
iovecs = appendBytes(iovecs, iovs)
|
iovecs = appendBytes(iovecs, iovs)
|
||||||
n, err = preadv(fd, iovecs, offset)
|
n, err = preadv(fd, iovecs, offset)
|
||||||
|
@ -629,10 +621,6 @@ func Preadv(fd int, iovs [][]byte, offset int64) (n int, err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func Writev(fd int, iovs [][]byte) (n int, err error) {
|
func Writev(fd int, iovs [][]byte) (n int, err error) {
|
||||||
if !darwinKernelVersionMin(11, 0, 0) {
|
|
||||||
return 0, ENOSYS
|
|
||||||
}
|
|
||||||
|
|
||||||
iovecs := make([]Iovec, 0, minIovec)
|
iovecs := make([]Iovec, 0, minIovec)
|
||||||
iovecs = appendBytes(iovecs, iovs)
|
iovecs = appendBytes(iovecs, iovs)
|
||||||
if raceenabled {
|
if raceenabled {
|
||||||
|
@ -644,10 +632,6 @@ func Writev(fd int, iovs [][]byte) (n int, err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
|
func Pwritev(fd int, iovs [][]byte, offset int64) (n int, err error) {
|
||||||
if !darwinKernelVersionMin(11, 0, 0) {
|
|
||||||
return 0, ENOSYS
|
|
||||||
}
|
|
||||||
|
|
||||||
iovecs := make([]Iovec, 0, minIovec)
|
iovecs := make([]Iovec, 0, minIovec)
|
||||||
iovecs = appendBytes(iovecs, iovs)
|
iovecs = appendBytes(iovecs, iovs)
|
||||||
if raceenabled {
|
if raceenabled {
|
||||||
|
@ -707,45 +691,7 @@ func readvRacedetect(iovecs []Iovec, n int, err error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func darwinMajorMinPatch() (maj, min, patch int, err error) {
|
//sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
|
||||||
var un Utsname
|
|
||||||
err = Uname(&un)
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
var mmp [3]int
|
|
||||||
c := 0
|
|
||||||
Loop:
|
|
||||||
for _, b := range un.Release[:] {
|
|
||||||
switch {
|
|
||||||
case b >= '0' && b <= '9':
|
|
||||||
mmp[c] = 10*mmp[c] + int(b-'0')
|
|
||||||
case b == '.':
|
|
||||||
c++
|
|
||||||
if c > 2 {
|
|
||||||
return 0, 0, 0, ENOTSUP
|
|
||||||
}
|
|
||||||
case b == 0:
|
|
||||||
break Loop
|
|
||||||
default:
|
|
||||||
return 0, 0, 0, ENOTSUP
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if c != 2 {
|
|
||||||
return 0, 0, 0, ENOTSUP
|
|
||||||
}
|
|
||||||
return mmp[0], mmp[1], mmp[2], nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func darwinKernelVersionMin(maj, min, patch int) bool {
|
|
||||||
actualMaj, actualMin, actualPatch, err := darwinMajorMinPatch()
|
|
||||||
if err != nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return actualMaj > maj || actualMaj == maj && (actualMin > min || actualMin == min && actualPatch >= patch)
|
|
||||||
}
|
|
||||||
|
|
||||||
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
|
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
|
||||||
|
|
||||||
//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
|
//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
|
||||||
|
|
|
@ -328,6 +328,8 @@ const (
|
||||||
AUDIT_KERNEL = 0x7d0
|
AUDIT_KERNEL = 0x7d0
|
||||||
AUDIT_KERNEL_OTHER = 0x524
|
AUDIT_KERNEL_OTHER = 0x524
|
||||||
AUDIT_KERN_MODULE = 0x532
|
AUDIT_KERN_MODULE = 0x532
|
||||||
|
AUDIT_LANDLOCK_ACCESS = 0x58f
|
||||||
|
AUDIT_LANDLOCK_DOMAIN = 0x590
|
||||||
AUDIT_LAST_FEATURE = 0x1
|
AUDIT_LAST_FEATURE = 0x1
|
||||||
AUDIT_LAST_KERN_ANOM_MSG = 0x707
|
AUDIT_LAST_KERN_ANOM_MSG = 0x707
|
||||||
AUDIT_LAST_USER_MSG = 0x4af
|
AUDIT_LAST_USER_MSG = 0x4af
|
||||||
|
@ -492,6 +494,7 @@ const (
|
||||||
BPF_F_BEFORE = 0x8
|
BPF_F_BEFORE = 0x8
|
||||||
BPF_F_ID = 0x20
|
BPF_F_ID = 0x20
|
||||||
BPF_F_NETFILTER_IP_DEFRAG = 0x1
|
BPF_F_NETFILTER_IP_DEFRAG = 0x1
|
||||||
|
BPF_F_PREORDER = 0x40
|
||||||
BPF_F_QUERY_EFFECTIVE = 0x1
|
BPF_F_QUERY_EFFECTIVE = 0x1
|
||||||
BPF_F_REDIRECT_FLAGS = 0x19
|
BPF_F_REDIRECT_FLAGS = 0x19
|
||||||
BPF_F_REPLACE = 0x4
|
BPF_F_REPLACE = 0x4
|
||||||
|
@ -528,6 +531,7 @@ const (
|
||||||
BPF_LDX = 0x1
|
BPF_LDX = 0x1
|
||||||
BPF_LEN = 0x80
|
BPF_LEN = 0x80
|
||||||
BPF_LL_OFF = -0x200000
|
BPF_LL_OFF = -0x200000
|
||||||
|
BPF_LOAD_ACQ = 0x100
|
||||||
BPF_LSH = 0x60
|
BPF_LSH = 0x60
|
||||||
BPF_MAJOR_VERSION = 0x1
|
BPF_MAJOR_VERSION = 0x1
|
||||||
BPF_MAXINSNS = 0x1000
|
BPF_MAXINSNS = 0x1000
|
||||||
|
@ -555,6 +559,7 @@ const (
|
||||||
BPF_RET = 0x6
|
BPF_RET = 0x6
|
||||||
BPF_RSH = 0x70
|
BPF_RSH = 0x70
|
||||||
BPF_ST = 0x2
|
BPF_ST = 0x2
|
||||||
|
BPF_STORE_REL = 0x110
|
||||||
BPF_STX = 0x3
|
BPF_STX = 0x3
|
||||||
BPF_SUB = 0x10
|
BPF_SUB = 0x10
|
||||||
BPF_TAG_SIZE = 0x8
|
BPF_TAG_SIZE = 0x8
|
||||||
|
@ -844,9 +849,9 @@ const (
|
||||||
DM_UUID_FLAG = 0x4000
|
DM_UUID_FLAG = 0x4000
|
||||||
DM_UUID_LEN = 0x81
|
DM_UUID_LEN = 0x81
|
||||||
DM_VERSION = 0xc138fd00
|
DM_VERSION = 0xc138fd00
|
||||||
DM_VERSION_EXTRA = "-ioctl (2025-01-17)"
|
DM_VERSION_EXTRA = "-ioctl (2025-04-28)"
|
||||||
DM_VERSION_MAJOR = 0x4
|
DM_VERSION_MAJOR = 0x4
|
||||||
DM_VERSION_MINOR = 0x31
|
DM_VERSION_MINOR = 0x32
|
||||||
DM_VERSION_PATCHLEVEL = 0x0
|
DM_VERSION_PATCHLEVEL = 0x0
|
||||||
DT_BLK = 0x6
|
DT_BLK = 0x6
|
||||||
DT_CHR = 0x2
|
DT_CHR = 0x2
|
||||||
|
@ -937,9 +942,6 @@ const (
|
||||||
EPOLL_CTL_MOD = 0x3
|
EPOLL_CTL_MOD = 0x3
|
||||||
EPOLL_IOC_TYPE = 0x8a
|
EPOLL_IOC_TYPE = 0x8a
|
||||||
EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2
|
EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2
|
||||||
ESP_V4_FLOW = 0xa
|
|
||||||
ESP_V6_FLOW = 0xc
|
|
||||||
ETHER_FLOW = 0x12
|
|
||||||
ETHTOOL_BUSINFO_LEN = 0x20
|
ETHTOOL_BUSINFO_LEN = 0x20
|
||||||
ETHTOOL_EROMVERS_LEN = 0x20
|
ETHTOOL_EROMVERS_LEN = 0x20
|
||||||
ETHTOOL_FAMILY_NAME = "ethtool"
|
ETHTOOL_FAMILY_NAME = "ethtool"
|
||||||
|
@ -1213,6 +1215,7 @@ const (
|
||||||
FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2
|
FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2
|
||||||
FAN_EVENT_INFO_TYPE_ERROR = 0x5
|
FAN_EVENT_INFO_TYPE_ERROR = 0x5
|
||||||
FAN_EVENT_INFO_TYPE_FID = 0x1
|
FAN_EVENT_INFO_TYPE_FID = 0x1
|
||||||
|
FAN_EVENT_INFO_TYPE_MNT = 0x7
|
||||||
FAN_EVENT_INFO_TYPE_NEW_DFID_NAME = 0xc
|
FAN_EVENT_INFO_TYPE_NEW_DFID_NAME = 0xc
|
||||||
FAN_EVENT_INFO_TYPE_OLD_DFID_NAME = 0xa
|
FAN_EVENT_INFO_TYPE_OLD_DFID_NAME = 0xa
|
||||||
FAN_EVENT_INFO_TYPE_PIDFD = 0x4
|
FAN_EVENT_INFO_TYPE_PIDFD = 0x4
|
||||||
|
@ -1231,9 +1234,12 @@ const (
|
||||||
FAN_MARK_IGNORED_SURV_MODIFY = 0x40
|
FAN_MARK_IGNORED_SURV_MODIFY = 0x40
|
||||||
FAN_MARK_IGNORE_SURV = 0x440
|
FAN_MARK_IGNORE_SURV = 0x440
|
||||||
FAN_MARK_INODE = 0x0
|
FAN_MARK_INODE = 0x0
|
||||||
|
FAN_MARK_MNTNS = 0x110
|
||||||
FAN_MARK_MOUNT = 0x10
|
FAN_MARK_MOUNT = 0x10
|
||||||
FAN_MARK_ONLYDIR = 0x8
|
FAN_MARK_ONLYDIR = 0x8
|
||||||
FAN_MARK_REMOVE = 0x2
|
FAN_MARK_REMOVE = 0x2
|
||||||
|
FAN_MNT_ATTACH = 0x1000000
|
||||||
|
FAN_MNT_DETACH = 0x2000000
|
||||||
FAN_MODIFY = 0x2
|
FAN_MODIFY = 0x2
|
||||||
FAN_MOVE = 0xc0
|
FAN_MOVE = 0xc0
|
||||||
FAN_MOVED_FROM = 0x40
|
FAN_MOVED_FROM = 0x40
|
||||||
|
@ -1255,6 +1261,7 @@ const (
|
||||||
FAN_REPORT_DIR_FID = 0x400
|
FAN_REPORT_DIR_FID = 0x400
|
||||||
FAN_REPORT_FD_ERROR = 0x2000
|
FAN_REPORT_FD_ERROR = 0x2000
|
||||||
FAN_REPORT_FID = 0x200
|
FAN_REPORT_FID = 0x200
|
||||||
|
FAN_REPORT_MNT = 0x4000
|
||||||
FAN_REPORT_NAME = 0x800
|
FAN_REPORT_NAME = 0x800
|
||||||
FAN_REPORT_PIDFD = 0x80
|
FAN_REPORT_PIDFD = 0x80
|
||||||
FAN_REPORT_TARGET_FID = 0x1000
|
FAN_REPORT_TARGET_FID = 0x1000
|
||||||
|
@ -1274,6 +1281,7 @@ const (
|
||||||
FIB_RULE_PERMANENT = 0x1
|
FIB_RULE_PERMANENT = 0x1
|
||||||
FIB_RULE_UNRESOLVED = 0x4
|
FIB_RULE_UNRESOLVED = 0x4
|
||||||
FIDEDUPERANGE = 0xc0189436
|
FIDEDUPERANGE = 0xc0189436
|
||||||
|
FSCRYPT_ADD_KEY_FLAG_HW_WRAPPED = 0x1
|
||||||
FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8
|
FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8
|
||||||
FSCRYPT_KEY_DESC_PREFIX = "fscrypt:"
|
FSCRYPT_KEY_DESC_PREFIX = "fscrypt:"
|
||||||
FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8
|
FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8
|
||||||
|
@ -1582,7 +1590,6 @@ const (
|
||||||
IPV6_DONTFRAG = 0x3e
|
IPV6_DONTFRAG = 0x3e
|
||||||
IPV6_DROP_MEMBERSHIP = 0x15
|
IPV6_DROP_MEMBERSHIP = 0x15
|
||||||
IPV6_DSTOPTS = 0x3b
|
IPV6_DSTOPTS = 0x3b
|
||||||
IPV6_FLOW = 0x11
|
|
||||||
IPV6_FREEBIND = 0x4e
|
IPV6_FREEBIND = 0x4e
|
||||||
IPV6_HDRINCL = 0x24
|
IPV6_HDRINCL = 0x24
|
||||||
IPV6_HOPLIMIT = 0x34
|
IPV6_HOPLIMIT = 0x34
|
||||||
|
@ -1633,7 +1640,6 @@ const (
|
||||||
IPV6_TRANSPARENT = 0x4b
|
IPV6_TRANSPARENT = 0x4b
|
||||||
IPV6_UNICAST_HOPS = 0x10
|
IPV6_UNICAST_HOPS = 0x10
|
||||||
IPV6_UNICAST_IF = 0x4c
|
IPV6_UNICAST_IF = 0x4c
|
||||||
IPV6_USER_FLOW = 0xe
|
|
||||||
IPV6_V6ONLY = 0x1a
|
IPV6_V6ONLY = 0x1a
|
||||||
IPV6_VERSION = 0x60
|
IPV6_VERSION = 0x60
|
||||||
IPV6_VERSION_MASK = 0xf0
|
IPV6_VERSION_MASK = 0xf0
|
||||||
|
@ -1695,7 +1701,6 @@ const (
|
||||||
IP_TTL = 0x2
|
IP_TTL = 0x2
|
||||||
IP_UNBLOCK_SOURCE = 0x25
|
IP_UNBLOCK_SOURCE = 0x25
|
||||||
IP_UNICAST_IF = 0x32
|
IP_UNICAST_IF = 0x32
|
||||||
IP_USER_FLOW = 0xd
|
|
||||||
IP_XFRM_POLICY = 0x11
|
IP_XFRM_POLICY = 0x11
|
||||||
ISOFS_SUPER_MAGIC = 0x9660
|
ISOFS_SUPER_MAGIC = 0x9660
|
||||||
ISTRIP = 0x20
|
ISTRIP = 0x20
|
||||||
|
@ -1817,7 +1822,11 @@ const (
|
||||||
LANDLOCK_ACCESS_FS_WRITE_FILE = 0x2
|
LANDLOCK_ACCESS_FS_WRITE_FILE = 0x2
|
||||||
LANDLOCK_ACCESS_NET_BIND_TCP = 0x1
|
LANDLOCK_ACCESS_NET_BIND_TCP = 0x1
|
||||||
LANDLOCK_ACCESS_NET_CONNECT_TCP = 0x2
|
LANDLOCK_ACCESS_NET_CONNECT_TCP = 0x2
|
||||||
|
LANDLOCK_CREATE_RULESET_ERRATA = 0x2
|
||||||
LANDLOCK_CREATE_RULESET_VERSION = 0x1
|
LANDLOCK_CREATE_RULESET_VERSION = 0x1
|
||||||
|
LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON = 0x2
|
||||||
|
LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF = 0x1
|
||||||
|
LANDLOCK_RESTRICT_SELF_LOG_SUBDOMAINS_OFF = 0x4
|
||||||
LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET = 0x1
|
LANDLOCK_SCOPE_ABSTRACT_UNIX_SOCKET = 0x1
|
||||||
LANDLOCK_SCOPE_SIGNAL = 0x2
|
LANDLOCK_SCOPE_SIGNAL = 0x2
|
||||||
LINUX_REBOOT_CMD_CAD_OFF = 0x0
|
LINUX_REBOOT_CMD_CAD_OFF = 0x0
|
||||||
|
@ -2493,6 +2502,10 @@ const (
|
||||||
PR_FP_EXC_UND = 0x40000
|
PR_FP_EXC_UND = 0x40000
|
||||||
PR_FP_MODE_FR = 0x1
|
PR_FP_MODE_FR = 0x1
|
||||||
PR_FP_MODE_FRE = 0x2
|
PR_FP_MODE_FRE = 0x2
|
||||||
|
PR_FUTEX_HASH = 0x4e
|
||||||
|
PR_FUTEX_HASH_GET_IMMUTABLE = 0x3
|
||||||
|
PR_FUTEX_HASH_GET_SLOTS = 0x2
|
||||||
|
PR_FUTEX_HASH_SET_SLOTS = 0x1
|
||||||
PR_GET_AUXV = 0x41555856
|
PR_GET_AUXV = 0x41555856
|
||||||
PR_GET_CHILD_SUBREAPER = 0x25
|
PR_GET_CHILD_SUBREAPER = 0x25
|
||||||
PR_GET_DUMPABLE = 0x3
|
PR_GET_DUMPABLE = 0x3
|
||||||
|
@ -2652,6 +2665,10 @@ const (
|
||||||
PR_TAGGED_ADDR_ENABLE = 0x1
|
PR_TAGGED_ADDR_ENABLE = 0x1
|
||||||
PR_TASK_PERF_EVENTS_DISABLE = 0x1f
|
PR_TASK_PERF_EVENTS_DISABLE = 0x1f
|
||||||
PR_TASK_PERF_EVENTS_ENABLE = 0x20
|
PR_TASK_PERF_EVENTS_ENABLE = 0x20
|
||||||
|
PR_TIMER_CREATE_RESTORE_IDS = 0x4d
|
||||||
|
PR_TIMER_CREATE_RESTORE_IDS_GET = 0x2
|
||||||
|
PR_TIMER_CREATE_RESTORE_IDS_OFF = 0x0
|
||||||
|
PR_TIMER_CREATE_RESTORE_IDS_ON = 0x1
|
||||||
PR_TIMING_STATISTICAL = 0x0
|
PR_TIMING_STATISTICAL = 0x0
|
||||||
PR_TIMING_TIMESTAMP = 0x1
|
PR_TIMING_TIMESTAMP = 0x1
|
||||||
PR_TSC_ENABLE = 0x1
|
PR_TSC_ENABLE = 0x1
|
||||||
|
@ -2732,6 +2749,7 @@ const (
|
||||||
PTRACE_SETREGSET = 0x4205
|
PTRACE_SETREGSET = 0x4205
|
||||||
PTRACE_SETSIGINFO = 0x4203
|
PTRACE_SETSIGINFO = 0x4203
|
||||||
PTRACE_SETSIGMASK = 0x420b
|
PTRACE_SETSIGMASK = 0x420b
|
||||||
|
PTRACE_SET_SYSCALL_INFO = 0x4212
|
||||||
PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210
|
PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210
|
||||||
PTRACE_SINGLESTEP = 0x9
|
PTRACE_SINGLESTEP = 0x9
|
||||||
PTRACE_SYSCALL = 0x18
|
PTRACE_SYSCALL = 0x18
|
||||||
|
@ -2982,6 +3000,7 @@ const (
|
||||||
RTPROT_NTK = 0xf
|
RTPROT_NTK = 0xf
|
||||||
RTPROT_OPENR = 0x63
|
RTPROT_OPENR = 0x63
|
||||||
RTPROT_OSPF = 0xbc
|
RTPROT_OSPF = 0xbc
|
||||||
|
RTPROT_OVN = 0x54
|
||||||
RTPROT_RA = 0x9
|
RTPROT_RA = 0x9
|
||||||
RTPROT_REDIRECT = 0x1
|
RTPROT_REDIRECT = 0x1
|
||||||
RTPROT_RIP = 0xbd
|
RTPROT_RIP = 0xbd
|
||||||
|
@ -3336,7 +3355,7 @@ const (
|
||||||
TASKSTATS_GENL_NAME = "TASKSTATS"
|
TASKSTATS_GENL_NAME = "TASKSTATS"
|
||||||
TASKSTATS_GENL_VERSION = 0x1
|
TASKSTATS_GENL_VERSION = 0x1
|
||||||
TASKSTATS_TYPE_MAX = 0x6
|
TASKSTATS_TYPE_MAX = 0x6
|
||||||
TASKSTATS_VERSION = 0xf
|
TASKSTATS_VERSION = 0x10
|
||||||
TCIFLUSH = 0x0
|
TCIFLUSH = 0x0
|
||||||
TCIOFF = 0x2
|
TCIOFF = 0x2
|
||||||
TCIOFLUSH = 0x2
|
TCIOFLUSH = 0x2
|
||||||
|
@ -3406,8 +3425,6 @@ const (
|
||||||
TCP_TX_DELAY = 0x25
|
TCP_TX_DELAY = 0x25
|
||||||
TCP_ULP = 0x1f
|
TCP_ULP = 0x1f
|
||||||
TCP_USER_TIMEOUT = 0x12
|
TCP_USER_TIMEOUT = 0x12
|
||||||
TCP_V4_FLOW = 0x1
|
|
||||||
TCP_V6_FLOW = 0x5
|
|
||||||
TCP_WINDOW_CLAMP = 0xa
|
TCP_WINDOW_CLAMP = 0xa
|
||||||
TCP_ZEROCOPY_RECEIVE = 0x23
|
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||||
TFD_TIMER_ABSTIME = 0x1
|
TFD_TIMER_ABSTIME = 0x1
|
||||||
|
@ -3530,8 +3547,6 @@ const (
|
||||||
UDP_NO_CHECK6_RX = 0x66
|
UDP_NO_CHECK6_RX = 0x66
|
||||||
UDP_NO_CHECK6_TX = 0x65
|
UDP_NO_CHECK6_TX = 0x65
|
||||||
UDP_SEGMENT = 0x67
|
UDP_SEGMENT = 0x67
|
||||||
UDP_V4_FLOW = 0x2
|
|
||||||
UDP_V6_FLOW = 0x6
|
|
||||||
UMOUNT_NOFOLLOW = 0x8
|
UMOUNT_NOFOLLOW = 0x8
|
||||||
USBDEVICE_SUPER_MAGIC = 0x9fa2
|
USBDEVICE_SUPER_MAGIC = 0x9fa2
|
||||||
UTIME_NOW = 0x3fffffff
|
UTIME_NOW = 0x3fffffff
|
||||||
|
@ -3574,7 +3589,7 @@ const (
|
||||||
WDIOS_TEMPPANIC = 0x4
|
WDIOS_TEMPPANIC = 0x4
|
||||||
WDIOS_UNKNOWN = -0x1
|
WDIOS_UNKNOWN = -0x1
|
||||||
WEXITED = 0x4
|
WEXITED = 0x4
|
||||||
WGALLOWEDIP_A_MAX = 0x3
|
WGALLOWEDIP_A_MAX = 0x4
|
||||||
WGDEVICE_A_MAX = 0x8
|
WGDEVICE_A_MAX = 0x8
|
||||||
WGPEER_A_MAX = 0xa
|
WGPEER_A_MAX = 0xa
|
||||||
WG_CMD_MAX = 0x1
|
WG_CMD_MAX = 0x1
|
||||||
|
@ -3688,6 +3703,7 @@ const (
|
||||||
XDP_SHARED_UMEM = 0x1
|
XDP_SHARED_UMEM = 0x1
|
||||||
XDP_STATISTICS = 0x7
|
XDP_STATISTICS = 0x7
|
||||||
XDP_TXMD_FLAGS_CHECKSUM = 0x2
|
XDP_TXMD_FLAGS_CHECKSUM = 0x2
|
||||||
|
XDP_TXMD_FLAGS_LAUNCH_TIME = 0x4
|
||||||
XDP_TXMD_FLAGS_TIMESTAMP = 0x1
|
XDP_TXMD_FLAGS_TIMESTAMP = 0x1
|
||||||
XDP_TX_METADATA = 0x2
|
XDP_TX_METADATA = 0x2
|
||||||
XDP_TX_RING = 0x3
|
XDP_TX_RING = 0x3
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||||
ECCGETLAYOUT = 0x81484d11
|
ECCGETLAYOUT = 0x81484d11
|
||||||
ECCGETSTATS = 0x80104d12
|
ECCGETSTATS = 0x80104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -360,6 +361,7 @@ const (
|
||||||
SO_OOBINLINE = 0xa
|
SO_OOBINLINE = 0xa
|
||||||
SO_PASSCRED = 0x10
|
SO_PASSCRED = 0x10
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x11
|
SO_PEERCRED = 0x11
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||||
ECCGETLAYOUT = 0x81484d11
|
ECCGETLAYOUT = 0x81484d11
|
||||||
ECCGETSTATS = 0x80104d12
|
ECCGETSTATS = 0x80104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -361,6 +362,7 @@ const (
|
||||||
SO_OOBINLINE = 0xa
|
SO_OOBINLINE = 0xa
|
||||||
SO_PASSCRED = 0x10
|
SO_PASSCRED = 0x10
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x11
|
SO_PEERCRED = 0x11
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||||
ECCGETLAYOUT = 0x81484d11
|
ECCGETLAYOUT = 0x81484d11
|
||||||
ECCGETSTATS = 0x80104d12
|
ECCGETSTATS = 0x80104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -366,6 +367,7 @@ const (
|
||||||
SO_OOBINLINE = 0xa
|
SO_OOBINLINE = 0xa
|
||||||
SO_PASSCRED = 0x10
|
SO_PASSCRED = 0x10
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x11
|
SO_PEERCRED = 0x11
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||||
ECCGETLAYOUT = 0x81484d11
|
ECCGETLAYOUT = 0x81484d11
|
||||||
ECCGETSTATS = 0x80104d12
|
ECCGETSTATS = 0x80104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -359,6 +360,7 @@ const (
|
||||||
SO_OOBINLINE = 0xa
|
SO_OOBINLINE = 0xa
|
||||||
SO_PASSCRED = 0x10
|
SO_PASSCRED = 0x10
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x11
|
SO_PEERCRED = 0x11
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||||
ECCGETLAYOUT = 0x81484d11
|
ECCGETLAYOUT = 0x81484d11
|
||||||
ECCGETSTATS = 0x80104d12
|
ECCGETSTATS = 0x80104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -353,6 +354,7 @@ const (
|
||||||
SO_OOBINLINE = 0xa
|
SO_OOBINLINE = 0xa
|
||||||
SO_PASSCRED = 0x10
|
SO_PASSCRED = 0x10
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x11
|
SO_PEERCRED = 0x11
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||||
ECCGETLAYOUT = 0x41484d11
|
ECCGETLAYOUT = 0x41484d11
|
||||||
ECCGETSTATS = 0x40104d12
|
ECCGETSTATS = 0x40104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -359,6 +360,7 @@ const (
|
||||||
SO_OOBINLINE = 0x100
|
SO_OOBINLINE = 0x100
|
||||||
SO_PASSCRED = 0x11
|
SO_PASSCRED = 0x11
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x12
|
SO_PEERCRED = 0x12
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||||
ECCGETLAYOUT = 0x41484d11
|
ECCGETLAYOUT = 0x41484d11
|
||||||
ECCGETSTATS = 0x40104d12
|
ECCGETSTATS = 0x40104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -359,6 +360,7 @@ const (
|
||||||
SO_OOBINLINE = 0x100
|
SO_OOBINLINE = 0x100
|
||||||
SO_PASSCRED = 0x11
|
SO_PASSCRED = 0x11
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x12
|
SO_PEERCRED = 0x12
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||||
ECCGETLAYOUT = 0x41484d11
|
ECCGETLAYOUT = 0x41484d11
|
||||||
ECCGETSTATS = 0x40104d12
|
ECCGETSTATS = 0x40104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -359,6 +360,7 @@ const (
|
||||||
SO_OOBINLINE = 0x100
|
SO_OOBINLINE = 0x100
|
||||||
SO_PASSCRED = 0x11
|
SO_PASSCRED = 0x11
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x12
|
SO_PEERCRED = 0x12
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||||
ECCGETLAYOUT = 0x41484d11
|
ECCGETLAYOUT = 0x41484d11
|
||||||
ECCGETSTATS = 0x40104d12
|
ECCGETSTATS = 0x40104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -359,6 +360,7 @@ const (
|
||||||
SO_OOBINLINE = 0x100
|
SO_OOBINLINE = 0x100
|
||||||
SO_PASSCRED = 0x11
|
SO_PASSCRED = 0x11
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x12
|
SO_PEERCRED = 0x12
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x300
|
CS8 = 0x300
|
||||||
CSIZE = 0x300
|
CSIZE = 0x300
|
||||||
CSTOPB = 0x400
|
CSTOPB = 0x400
|
||||||
|
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||||
ECCGETLAYOUT = 0x41484d11
|
ECCGETLAYOUT = 0x41484d11
|
||||||
ECCGETSTATS = 0x40104d12
|
ECCGETSTATS = 0x40104d12
|
||||||
ECHOCTL = 0x40
|
ECHOCTL = 0x40
|
||||||
|
@ -414,6 +415,7 @@ const (
|
||||||
SO_OOBINLINE = 0xa
|
SO_OOBINLINE = 0xa
|
||||||
SO_PASSCRED = 0x14
|
SO_PASSCRED = 0x14
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x15
|
SO_PEERCRED = 0x15
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x300
|
CS8 = 0x300
|
||||||
CSIZE = 0x300
|
CSIZE = 0x300
|
||||||
CSTOPB = 0x400
|
CSTOPB = 0x400
|
||||||
|
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||||
ECCGETLAYOUT = 0x41484d11
|
ECCGETLAYOUT = 0x41484d11
|
||||||
ECCGETSTATS = 0x40104d12
|
ECCGETSTATS = 0x40104d12
|
||||||
ECHOCTL = 0x40
|
ECHOCTL = 0x40
|
||||||
|
@ -418,6 +419,7 @@ const (
|
||||||
SO_OOBINLINE = 0xa
|
SO_OOBINLINE = 0xa
|
||||||
SO_PASSCRED = 0x14
|
SO_PASSCRED = 0x14
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x15
|
SO_PEERCRED = 0x15
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x300
|
CS8 = 0x300
|
||||||
CSIZE = 0x300
|
CSIZE = 0x300
|
||||||
CSTOPB = 0x400
|
CSTOPB = 0x400
|
||||||
|
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||||
ECCGETLAYOUT = 0x41484d11
|
ECCGETLAYOUT = 0x41484d11
|
||||||
ECCGETSTATS = 0x40104d12
|
ECCGETSTATS = 0x40104d12
|
||||||
ECHOCTL = 0x40
|
ECHOCTL = 0x40
|
||||||
|
@ -418,6 +419,7 @@ const (
|
||||||
SO_OOBINLINE = 0xa
|
SO_OOBINLINE = 0xa
|
||||||
SO_PASSCRED = 0x14
|
SO_PASSCRED = 0x14
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x15
|
SO_PEERCRED = 0x15
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||||
ECCGETLAYOUT = 0x81484d11
|
ECCGETLAYOUT = 0x81484d11
|
||||||
ECCGETSTATS = 0x80104d12
|
ECCGETSTATS = 0x80104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -350,6 +351,7 @@ const (
|
||||||
SO_OOBINLINE = 0xa
|
SO_OOBINLINE = 0xa
|
||||||
SO_PASSCRED = 0x10
|
SO_PASSCRED = 0x10
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x11
|
SO_PEERCRED = 0x11
|
||||||
|
|
|
@ -68,6 +68,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||||
ECCGETLAYOUT = 0x81484d11
|
ECCGETLAYOUT = 0x81484d11
|
||||||
ECCGETSTATS = 0x80104d12
|
ECCGETSTATS = 0x80104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -422,6 +423,7 @@ const (
|
||||||
SO_OOBINLINE = 0xa
|
SO_OOBINLINE = 0xa
|
||||||
SO_PASSCRED = 0x10
|
SO_PASSCRED = 0x10
|
||||||
SO_PASSPIDFD = 0x4c
|
SO_PASSPIDFD = 0x4c
|
||||||
|
SO_PASSRIGHTS = 0x53
|
||||||
SO_PASSSEC = 0x22
|
SO_PASSSEC = 0x22
|
||||||
SO_PEEK_OFF = 0x2a
|
SO_PEEK_OFF = 0x2a
|
||||||
SO_PEERCRED = 0x11
|
SO_PEERCRED = 0x11
|
||||||
|
|
|
@ -71,6 +71,7 @@ const (
|
||||||
CS8 = 0x30
|
CS8 = 0x30
|
||||||
CSIZE = 0x30
|
CSIZE = 0x30
|
||||||
CSTOPB = 0x40
|
CSTOPB = 0x40
|
||||||
|
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||||
ECCGETLAYOUT = 0x41484d11
|
ECCGETLAYOUT = 0x41484d11
|
||||||
ECCGETSTATS = 0x40104d12
|
ECCGETSTATS = 0x40104d12
|
||||||
ECHOCTL = 0x200
|
ECHOCTL = 0x200
|
||||||
|
@ -461,6 +462,7 @@ const (
|
||||||
SO_OOBINLINE = 0x100
|
SO_OOBINLINE = 0x100
|
||||||
SO_PASSCRED = 0x2
|
SO_PASSCRED = 0x2
|
||||||
SO_PASSPIDFD = 0x55
|
SO_PASSPIDFD = 0x55
|
||||||
|
SO_PASSRIGHTS = 0x5c
|
||||||
SO_PASSSEC = 0x1f
|
SO_PASSSEC = 0x1f
|
||||||
SO_PEEK_OFF = 0x26
|
SO_PEEK_OFF = 0x26
|
||||||
SO_PEERCRED = 0x40
|
SO_PEERCRED = 0x40
|
||||||
|
|
|
@ -462,4 +462,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -385,4 +385,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -426,4 +426,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -329,4 +329,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -325,4 +325,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -446,4 +446,5 @@ const (
|
||||||
SYS_GETXATTRAT = 4464
|
SYS_GETXATTRAT = 4464
|
||||||
SYS_LISTXATTRAT = 4465
|
SYS_LISTXATTRAT = 4465
|
||||||
SYS_REMOVEXATTRAT = 4466
|
SYS_REMOVEXATTRAT = 4466
|
||||||
|
SYS_OPEN_TREE_ATTR = 4467
|
||||||
)
|
)
|
||||||
|
|
|
@ -376,4 +376,5 @@ const (
|
||||||
SYS_GETXATTRAT = 5464
|
SYS_GETXATTRAT = 5464
|
||||||
SYS_LISTXATTRAT = 5465
|
SYS_LISTXATTRAT = 5465
|
||||||
SYS_REMOVEXATTRAT = 5466
|
SYS_REMOVEXATTRAT = 5466
|
||||||
|
SYS_OPEN_TREE_ATTR = 5467
|
||||||
)
|
)
|
||||||
|
|
|
@ -376,4 +376,5 @@ const (
|
||||||
SYS_GETXATTRAT = 5464
|
SYS_GETXATTRAT = 5464
|
||||||
SYS_LISTXATTRAT = 5465
|
SYS_LISTXATTRAT = 5465
|
||||||
SYS_REMOVEXATTRAT = 5466
|
SYS_REMOVEXATTRAT = 5466
|
||||||
|
SYS_OPEN_TREE_ATTR = 5467
|
||||||
)
|
)
|
||||||
|
|
|
@ -446,4 +446,5 @@ const (
|
||||||
SYS_GETXATTRAT = 4464
|
SYS_GETXATTRAT = 4464
|
||||||
SYS_LISTXATTRAT = 4465
|
SYS_LISTXATTRAT = 4465
|
||||||
SYS_REMOVEXATTRAT = 4466
|
SYS_REMOVEXATTRAT = 4466
|
||||||
|
SYS_OPEN_TREE_ATTR = 4467
|
||||||
)
|
)
|
||||||
|
|
|
@ -453,4 +453,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -425,4 +425,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -425,4 +425,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -330,4 +330,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -391,4 +391,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -404,4 +404,5 @@ const (
|
||||||
SYS_GETXATTRAT = 464
|
SYS_GETXATTRAT = 464
|
||||||
SYS_LISTXATTRAT = 465
|
SYS_LISTXATTRAT = 465
|
||||||
SYS_REMOVEXATTRAT = 466
|
SYS_REMOVEXATTRAT = 466
|
||||||
|
SYS_OPEN_TREE_ATTR = 467
|
||||||
)
|
)
|
||||||
|
|
|
@ -115,7 +115,9 @@ type Statx_t struct {
|
||||||
Atomic_write_unit_max uint32
|
Atomic_write_unit_max uint32
|
||||||
Atomic_write_segments_max uint32
|
Atomic_write_segments_max uint32
|
||||||
Dio_read_offset_align uint32
|
Dio_read_offset_align uint32
|
||||||
_ [9]uint64
|
Atomic_write_unit_max_opt uint32
|
||||||
|
_ [1]uint32
|
||||||
|
_ [8]uint64
|
||||||
}
|
}
|
||||||
|
|
||||||
type Fsid struct {
|
type Fsid struct {
|
||||||
|
@ -199,7 +201,8 @@ type FscryptAddKeyArg struct {
|
||||||
Key_spec FscryptKeySpecifier
|
Key_spec FscryptKeySpecifier
|
||||||
Raw_size uint32
|
Raw_size uint32
|
||||||
Key_id uint32
|
Key_id uint32
|
||||||
_ [8]uint32
|
Flags uint32
|
||||||
|
_ [7]uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
type FscryptRemoveKeyArg struct {
|
type FscryptRemoveKeyArg struct {
|
||||||
|
@ -2317,6 +2320,11 @@ const (
|
||||||
NFT_CT_AVGPKT = 0x10
|
NFT_CT_AVGPKT = 0x10
|
||||||
NFT_CT_ZONE = 0x11
|
NFT_CT_ZONE = 0x11
|
||||||
NFT_CT_EVENTMASK = 0x12
|
NFT_CT_EVENTMASK = 0x12
|
||||||
|
NFT_CT_SRC_IP = 0x13
|
||||||
|
NFT_CT_DST_IP = 0x14
|
||||||
|
NFT_CT_SRC_IP6 = 0x15
|
||||||
|
NFT_CT_DST_IP6 = 0x16
|
||||||
|
NFT_CT_ID = 0x17
|
||||||
NFTA_CT_UNSPEC = 0x0
|
NFTA_CT_UNSPEC = 0x0
|
||||||
NFTA_CT_DREG = 0x1
|
NFTA_CT_DREG = 0x1
|
||||||
NFTA_CT_KEY = 0x2
|
NFTA_CT_KEY = 0x2
|
||||||
|
@ -2597,8 +2605,8 @@ const (
|
||||||
SOF_TIMESTAMPING_BIND_PHC = 0x8000
|
SOF_TIMESTAMPING_BIND_PHC = 0x8000
|
||||||
SOF_TIMESTAMPING_OPT_ID_TCP = 0x10000
|
SOF_TIMESTAMPING_OPT_ID_TCP = 0x10000
|
||||||
|
|
||||||
SOF_TIMESTAMPING_LAST = 0x20000
|
SOF_TIMESTAMPING_LAST = 0x40000
|
||||||
SOF_TIMESTAMPING_MASK = 0x3ffff
|
SOF_TIMESTAMPING_MASK = 0x7ffff
|
||||||
|
|
||||||
SCM_TSTAMP_SND = 0x0
|
SCM_TSTAMP_SND = 0x0
|
||||||
SCM_TSTAMP_SCHED = 0x1
|
SCM_TSTAMP_SCHED = 0x1
|
||||||
|
@ -4044,7 +4052,7 @@ const (
|
||||||
ETHTOOL_A_TSINFO_PHC_INDEX = 0x5
|
ETHTOOL_A_TSINFO_PHC_INDEX = 0x5
|
||||||
ETHTOOL_A_TSINFO_STATS = 0x6
|
ETHTOOL_A_TSINFO_STATS = 0x6
|
||||||
ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 0x7
|
ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER = 0x7
|
||||||
ETHTOOL_A_TSINFO_MAX = 0x7
|
ETHTOOL_A_TSINFO_MAX = 0x9
|
||||||
ETHTOOL_A_CABLE_TEST_UNSPEC = 0x0
|
ETHTOOL_A_CABLE_TEST_UNSPEC = 0x0
|
||||||
ETHTOOL_A_CABLE_TEST_HEADER = 0x1
|
ETHTOOL_A_CABLE_TEST_HEADER = 0x1
|
||||||
ETHTOOL_A_CABLE_TEST_MAX = 0x1
|
ETHTOOL_A_CABLE_TEST_MAX = 0x1
|
||||||
|
@ -4130,6 +4138,19 @@ const (
|
||||||
ETHTOOL_A_TUNNEL_INFO_MAX = 0x2
|
ETHTOOL_A_TUNNEL_INFO_MAX = 0x2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
TCP_V4_FLOW = 0x1
|
||||||
|
UDP_V4_FLOW = 0x2
|
||||||
|
TCP_V6_FLOW = 0x5
|
||||||
|
UDP_V6_FLOW = 0x6
|
||||||
|
ESP_V4_FLOW = 0xa
|
||||||
|
ESP_V6_FLOW = 0xc
|
||||||
|
IP_USER_FLOW = 0xd
|
||||||
|
IPV6_USER_FLOW = 0xe
|
||||||
|
IPV6_FLOW = 0x11
|
||||||
|
ETHER_FLOW = 0x12
|
||||||
|
)
|
||||||
|
|
||||||
const SPEED_UNKNOWN = -0x1
|
const SPEED_UNKNOWN = -0x1
|
||||||
|
|
||||||
type EthtoolDrvinfo struct {
|
type EthtoolDrvinfo struct {
|
||||||
|
@ -4780,7 +4801,7 @@ const (
|
||||||
NL80211_ATTR_MAC_HINT = 0xc8
|
NL80211_ATTR_MAC_HINT = 0xc8
|
||||||
NL80211_ATTR_MAC_MASK = 0xd7
|
NL80211_ATTR_MAC_MASK = 0xd7
|
||||||
NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca
|
NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca
|
||||||
NL80211_ATTR_MAX = 0x150
|
NL80211_ATTR_MAX = 0x151
|
||||||
NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4
|
NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4
|
||||||
NL80211_ATTR_MAX_CSA_COUNTERS = 0xce
|
NL80211_ATTR_MAX_CSA_COUNTERS = 0xce
|
||||||
NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS = 0x143
|
NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS = 0x143
|
||||||
|
@ -5414,7 +5435,7 @@ const (
|
||||||
NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf
|
NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf
|
||||||
NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe
|
NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe
|
||||||
NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf
|
NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf
|
||||||
NL80211_FREQUENCY_ATTR_MAX = 0x21
|
NL80211_FREQUENCY_ATTR_MAX = 0x22
|
||||||
NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6
|
NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6
|
||||||
NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11
|
NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11
|
||||||
NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc
|
NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc
|
||||||
|
@ -5530,7 +5551,7 @@ const (
|
||||||
NL80211_MAX_SUPP_SELECTORS = 0x80
|
NL80211_MAX_SUPP_SELECTORS = 0x80
|
||||||
NL80211_MBSSID_CONFIG_ATTR_EMA = 0x5
|
NL80211_MBSSID_CONFIG_ATTR_EMA = 0x5
|
||||||
NL80211_MBSSID_CONFIG_ATTR_INDEX = 0x3
|
NL80211_MBSSID_CONFIG_ATTR_INDEX = 0x3
|
||||||
NL80211_MBSSID_CONFIG_ATTR_MAX = 0x5
|
NL80211_MBSSID_CONFIG_ATTR_MAX = 0x6
|
||||||
NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY = 0x2
|
NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY = 0x2
|
||||||
NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES = 0x1
|
NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES = 0x1
|
||||||
NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX = 0x4
|
NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX = 0x4
|
||||||
|
|
|
@ -282,19 +282,13 @@ type Taskstats struct {
|
||||||
Ac_exitcode uint32
|
Ac_exitcode uint32
|
||||||
Ac_flag uint8
|
Ac_flag uint8
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
_ [4]byte
|
_ [6]byte
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]int8
|
Ac_comm [32]int8
|
||||||
|
@ -330,17 +324,11 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
_ [4]byte
|
_ [4]byte
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
|
@ -348,10 +336,22 @@ type Taskstats struct {
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -300,16 +300,10 @@ type Taskstats struct {
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]int8
|
Ac_comm [32]int8
|
||||||
|
@ -344,27 +338,33 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
Ac_exe_dev uint64
|
Ac_exe_dev uint64
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,7 @@ type Stat_t struct {
|
||||||
Gid uint32
|
Gid uint32
|
||||||
Rdev uint64
|
Rdev uint64
|
||||||
_ uint16
|
_ uint16
|
||||||
_ [4]byte
|
_ [6]byte
|
||||||
Size int64
|
Size int64
|
||||||
Blksize int32
|
Blksize int32
|
||||||
_ [4]byte
|
_ [4]byte
|
||||||
|
@ -273,19 +273,13 @@ type Taskstats struct {
|
||||||
Ac_exitcode uint32
|
Ac_exitcode uint32
|
||||||
Ac_flag uint8
|
Ac_flag uint8
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
_ [4]byte
|
_ [6]byte
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]uint8
|
Ac_comm [32]uint8
|
||||||
|
@ -321,17 +315,11 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
_ [4]byte
|
_ [4]byte
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
|
@ -339,10 +327,22 @@ type Taskstats struct {
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -279,16 +279,10 @@ type Taskstats struct {
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]int8
|
Ac_comm [32]int8
|
||||||
|
@ -323,27 +317,33 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
Ac_exe_dev uint64
|
Ac_exe_dev uint64
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -280,16 +280,10 @@ type Taskstats struct {
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]int8
|
Ac_comm [32]int8
|
||||||
|
@ -324,27 +318,33 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
Ac_exe_dev uint64
|
Ac_exe_dev uint64
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -278,19 +278,13 @@ type Taskstats struct {
|
||||||
Ac_exitcode uint32
|
Ac_exitcode uint32
|
||||||
Ac_flag uint8
|
Ac_flag uint8
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
_ [4]byte
|
_ [6]byte
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]int8
|
Ac_comm [32]int8
|
||||||
|
@ -326,17 +320,11 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
_ [4]byte
|
_ [4]byte
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
|
@ -344,10 +332,22 @@ type Taskstats struct {
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -282,16 +282,10 @@ type Taskstats struct {
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]int8
|
Ac_comm [32]int8
|
||||||
|
@ -326,27 +320,33 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
Ac_exe_dev uint64
|
Ac_exe_dev uint64
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -282,16 +282,10 @@ type Taskstats struct {
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]int8
|
Ac_comm [32]int8
|
||||||
|
@ -326,27 +320,33 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
Ac_exe_dev uint64
|
Ac_exe_dev uint64
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -278,19 +278,13 @@ type Taskstats struct {
|
||||||
Ac_exitcode uint32
|
Ac_exitcode uint32
|
||||||
Ac_flag uint8
|
Ac_flag uint8
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
_ [4]byte
|
_ [6]byte
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]int8
|
Ac_comm [32]int8
|
||||||
|
@ -326,17 +320,11 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
_ [4]byte
|
_ [4]byte
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
|
@ -344,10 +332,22 @@ type Taskstats struct {
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,7 @@ type Stat_t struct {
|
||||||
Gid uint32
|
Gid uint32
|
||||||
Rdev uint64
|
Rdev uint64
|
||||||
_ uint16
|
_ uint16
|
||||||
_ [4]byte
|
_ [6]byte
|
||||||
Size int64
|
Size int64
|
||||||
Blksize int32
|
Blksize int32
|
||||||
_ [4]byte
|
_ [4]byte
|
||||||
|
@ -285,19 +285,13 @@ type Taskstats struct {
|
||||||
Ac_exitcode uint32
|
Ac_exitcode uint32
|
||||||
Ac_flag uint8
|
Ac_flag uint8
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
_ [4]byte
|
_ [6]byte
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]uint8
|
Ac_comm [32]uint8
|
||||||
|
@ -333,17 +327,11 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
_ [4]byte
|
_ [4]byte
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
|
@ -351,10 +339,22 @@ type Taskstats struct {
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -289,16 +289,10 @@ type Taskstats struct {
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]uint8
|
Ac_comm [32]uint8
|
||||||
|
@ -333,27 +327,33 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
Ac_exe_dev uint64
|
Ac_exe_dev uint64
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -289,16 +289,10 @@ type Taskstats struct {
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]uint8
|
Ac_comm [32]uint8
|
||||||
|
@ -333,27 +327,33 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
Ac_exe_dev uint64
|
Ac_exe_dev uint64
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -307,16 +307,10 @@ type Taskstats struct {
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]uint8
|
Ac_comm [32]uint8
|
||||||
|
@ -351,27 +345,33 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
Ac_exe_dev uint64
|
Ac_exe_dev uint64
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -302,16 +302,10 @@ type Taskstats struct {
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]int8
|
Ac_comm [32]int8
|
||||||
|
@ -346,27 +340,33 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
Ac_exe_dev uint64
|
Ac_exe_dev uint64
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -284,16 +284,10 @@ type Taskstats struct {
|
||||||
Ac_nice uint8
|
Ac_nice uint8
|
||||||
Cpu_count uint64
|
Cpu_count uint64
|
||||||
Cpu_delay_total uint64
|
Cpu_delay_total uint64
|
||||||
Cpu_delay_max uint64
|
|
||||||
Cpu_delay_min uint64
|
|
||||||
Blkio_count uint64
|
Blkio_count uint64
|
||||||
Blkio_delay_total uint64
|
Blkio_delay_total uint64
|
||||||
Blkio_delay_max uint64
|
|
||||||
Blkio_delay_min uint64
|
|
||||||
Swapin_count uint64
|
Swapin_count uint64
|
||||||
Swapin_delay_total uint64
|
Swapin_delay_total uint64
|
||||||
Swapin_delay_max uint64
|
|
||||||
Swapin_delay_min uint64
|
|
||||||
Cpu_run_real_total uint64
|
Cpu_run_real_total uint64
|
||||||
Cpu_run_virtual_total uint64
|
Cpu_run_virtual_total uint64
|
||||||
Ac_comm [32]int8
|
Ac_comm [32]int8
|
||||||
|
@ -328,27 +322,33 @@ type Taskstats struct {
|
||||||
Cpu_scaled_run_real_total uint64
|
Cpu_scaled_run_real_total uint64
|
||||||
Freepages_count uint64
|
Freepages_count uint64
|
||||||
Freepages_delay_total uint64
|
Freepages_delay_total uint64
|
||||||
Freepages_delay_max uint64
|
|
||||||
Freepages_delay_min uint64
|
|
||||||
Thrashing_count uint64
|
Thrashing_count uint64
|
||||||
Thrashing_delay_total uint64
|
Thrashing_delay_total uint64
|
||||||
Thrashing_delay_max uint64
|
|
||||||
Thrashing_delay_min uint64
|
|
||||||
Ac_btime64 uint64
|
Ac_btime64 uint64
|
||||||
Compact_count uint64
|
Compact_count uint64
|
||||||
Compact_delay_total uint64
|
Compact_delay_total uint64
|
||||||
Compact_delay_max uint64
|
|
||||||
Compact_delay_min uint64
|
|
||||||
Ac_tgid uint32
|
Ac_tgid uint32
|
||||||
Ac_tgetime uint64
|
Ac_tgetime uint64
|
||||||
Ac_exe_dev uint64
|
Ac_exe_dev uint64
|
||||||
Ac_exe_inode uint64
|
Ac_exe_inode uint64
|
||||||
Wpcopy_count uint64
|
Wpcopy_count uint64
|
||||||
Wpcopy_delay_total uint64
|
Wpcopy_delay_total uint64
|
||||||
Wpcopy_delay_max uint64
|
|
||||||
Wpcopy_delay_min uint64
|
|
||||||
Irq_count uint64
|
Irq_count uint64
|
||||||
Irq_delay_total uint64
|
Irq_delay_total uint64
|
||||||
|
Cpu_delay_max uint64
|
||||||
|
Cpu_delay_min uint64
|
||||||
|
Blkio_delay_max uint64
|
||||||
|
Blkio_delay_min uint64
|
||||||
|
Swapin_delay_max uint64
|
||||||
|
Swapin_delay_min uint64
|
||||||
|
Freepages_delay_max uint64
|
||||||
|
Freepages_delay_min uint64
|
||||||
|
Thrashing_delay_max uint64
|
||||||
|
Thrashing_delay_min uint64
|
||||||
|
Compact_delay_max uint64
|
||||||
|
Compact_delay_min uint64
|
||||||
|
Wpcopy_delay_max uint64
|
||||||
|
Wpcopy_delay_min uint64
|
||||||
Irq_delay_max uint64
|
Irq_delay_max uint64
|
||||||
Irq_delay_min uint64
|
Irq_delay_min uint64
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,12 +20,14 @@ func isTerminal(fd int) bool {
|
||||||
return err == nil
|
return err == nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is intended to be used on a console input handle.
|
||||||
|
// See https://learn.microsoft.com/en-us/windows/console/setconsolemode
|
||||||
func makeRaw(fd int) (*State, error) {
|
func makeRaw(fd int) (*State, error) {
|
||||||
var st uint32
|
var st uint32
|
||||||
if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil {
|
if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
raw := st &^ (windows.ENABLE_ECHO_INPUT | windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT | windows.ENABLE_PROCESSED_OUTPUT)
|
raw := st &^ (windows.ENABLE_ECHO_INPUT | windows.ENABLE_PROCESSED_INPUT | windows.ENABLE_LINE_INPUT)
|
||||||
raw |= windows.ENABLE_VIRTUAL_TERMINAL_INPUT
|
raw |= windows.ENABLE_VIRTUAL_TERMINAL_INPUT
|
||||||
if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil {
|
if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -146,6 +146,7 @@ const (
|
||||||
keyCtrlD = 4
|
keyCtrlD = 4
|
||||||
keyCtrlU = 21
|
keyCtrlU = 21
|
||||||
keyEnter = '\r'
|
keyEnter = '\r'
|
||||||
|
keyLF = '\n'
|
||||||
keyEscape = 27
|
keyEscape = 27
|
||||||
keyBackspace = 127
|
keyBackspace = 127
|
||||||
keyUnknown = 0xd800 /* UTF-16 surrogate area */ + iota
|
keyUnknown = 0xd800 /* UTF-16 surrogate area */ + iota
|
||||||
|
@ -497,7 +498,7 @@ func (t *Terminal) historyAdd(entry string) {
|
||||||
// handleKey processes the given key and, optionally, returns a line of text
|
// handleKey processes the given key and, optionally, returns a line of text
|
||||||
// that the user has entered.
|
// that the user has entered.
|
||||||
func (t *Terminal) handleKey(key rune) (line string, ok bool) {
|
func (t *Terminal) handleKey(key rune) (line string, ok bool) {
|
||||||
if t.pasteActive && key != keyEnter {
|
if t.pasteActive && key != keyEnter && key != keyLF {
|
||||||
t.addKeyToLine(key)
|
t.addKeyToLine(key)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -567,7 +568,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) {
|
||||||
t.setLine(runes, len(runes))
|
t.setLine(runes, len(runes))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case keyEnter:
|
case keyEnter, keyLF:
|
||||||
t.moveCursorToPos(len(t.line))
|
t.moveCursorToPos(len(t.line))
|
||||||
t.queue([]rune("\r\n"))
|
t.queue([]rune("\r\n"))
|
||||||
line = string(t.line)
|
line = string(t.line)
|
||||||
|
@ -812,6 +813,10 @@ func (t *Terminal) readLine() (line string, err error) {
|
||||||
if !t.pasteActive {
|
if !t.pasteActive {
|
||||||
lineIsPasted = false
|
lineIsPasted = false
|
||||||
}
|
}
|
||||||
|
// If we have CR, consume LF if present (CRLF sequence) to avoid returning an extra empty line.
|
||||||
|
if key == keyEnter && len(rest) > 0 && rest[0] == keyLF {
|
||||||
|
rest = rest[1:]
|
||||||
|
}
|
||||||
line, lineOk = t.handleKey(key)
|
line, lineOk = t.handleKey(key)
|
||||||
}
|
}
|
||||||
if len(rest) > 0 {
|
if len(rest) > 0 {
|
||||||
|
|
|
@ -360,6 +360,10 @@ type Balancer interface {
|
||||||
// call SubConn.Shutdown for its existing SubConns; however, this will be
|
// call SubConn.Shutdown for its existing SubConns; however, this will be
|
||||||
// required in a future release, so it is recommended.
|
// required in a future release, so it is recommended.
|
||||||
Close()
|
Close()
|
||||||
|
// ExitIdle instructs the LB policy to reconnect to backends / exit the
|
||||||
|
// IDLE state, if appropriate and possible. Note that SubConns that enter
|
||||||
|
// the IDLE state will not reconnect until SubConn.Connect is called.
|
||||||
|
ExitIdle()
|
||||||
}
|
}
|
||||||
|
|
||||||
// ExitIdler is an optional interface for balancers to implement. If
|
// ExitIdler is an optional interface for balancers to implement. If
|
||||||
|
@ -367,8 +371,8 @@ type Balancer interface {
|
||||||
// the ClientConn is idle. If unimplemented, ClientConn.Connect will cause
|
// the ClientConn is idle. If unimplemented, ClientConn.Connect will cause
|
||||||
// all SubConns to connect.
|
// all SubConns to connect.
|
||||||
//
|
//
|
||||||
// Notice: it will be required for all balancers to implement this in a future
|
// Deprecated: All balancers must implement this interface. This interface will
|
||||||
// release.
|
// be removed in a future release.
|
||||||
type ExitIdler interface {
|
type ExitIdler interface {
|
||||||
// ExitIdle instructs the LB policy to reconnect to backends / exit the
|
// ExitIdle instructs the LB policy to reconnect to backends / exit the
|
||||||
// IDLE state, if appropriate and possible. Note that SubConns that enter
|
// IDLE state, if appropriate and possible. Note that SubConns that enter
|
||||||
|
|
|
@ -45,7 +45,15 @@ type ChildState struct {
|
||||||
|
|
||||||
// Balancer exposes only the ExitIdler interface of the child LB policy.
|
// Balancer exposes only the ExitIdler interface of the child LB policy.
|
||||||
// Other methods of the child policy are called only by endpointsharding.
|
// Other methods of the child policy are called only by endpointsharding.
|
||||||
Balancer balancer.ExitIdler
|
Balancer ExitIdler
|
||||||
|
}
|
||||||
|
|
||||||
|
// ExitIdler provides access to only the ExitIdle method of the child balancer.
|
||||||
|
type ExitIdler interface {
|
||||||
|
// ExitIdle instructs the LB policy to reconnect to backends / exit the
|
||||||
|
// IDLE state, if appropriate and possible. Note that SubConns that enter
|
||||||
|
// the IDLE state will not reconnect until SubConn.Connect is called.
|
||||||
|
ExitIdle()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Options are the options to configure the behaviour of the
|
// Options are the options to configure the behaviour of the
|
||||||
|
@ -205,6 +213,16 @@ func (es *endpointSharding) Close() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (es *endpointSharding) ExitIdle() {
|
||||||
|
es.childMu.Lock()
|
||||||
|
defer es.childMu.Unlock()
|
||||||
|
for _, bw := range es.children.Load().Values() {
|
||||||
|
if !bw.isClosed {
|
||||||
|
bw.child.ExitIdle()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// updateState updates this component's state. It sends the aggregated state,
|
// updateState updates this component's state. It sends the aggregated state,
|
||||||
// and a picker with round robin behavior with all the child states present if
|
// and a picker with round robin behavior with all the child states present if
|
||||||
// needed.
|
// needed.
|
||||||
|
@ -326,15 +344,13 @@ func (bw *balancerWrapper) UpdateState(state balancer.State) {
|
||||||
// ExitIdle pings an IDLE child balancer to exit idle in a new goroutine to
|
// ExitIdle pings an IDLE child balancer to exit idle in a new goroutine to
|
||||||
// avoid deadlocks due to synchronous balancer state updates.
|
// avoid deadlocks due to synchronous balancer state updates.
|
||||||
func (bw *balancerWrapper) ExitIdle() {
|
func (bw *balancerWrapper) ExitIdle() {
|
||||||
if ei, ok := bw.child.(balancer.ExitIdler); ok {
|
go func() {
|
||||||
go func() {
|
bw.es.childMu.Lock()
|
||||||
bw.es.childMu.Lock()
|
if !bw.isClosed {
|
||||||
if !bw.isClosed {
|
bw.child.ExitIdle()
|
||||||
ei.ExitIdle()
|
}
|
||||||
}
|
bw.es.childMu.Unlock()
|
||||||
bw.es.childMu.Unlock()
|
}()
|
||||||
}()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// updateClientConnStateLocked delivers the ClientConnState to the child
|
// updateClientConnStateLocked delivers the ClientConnState to the child
|
||||||
|
|
27
vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go
generated
vendored
27
vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go
generated
vendored
|
@ -54,18 +54,9 @@ func init() {
|
||||||
balancer.Register(pickfirstBuilder{})
|
balancer.Register(pickfirstBuilder{})
|
||||||
}
|
}
|
||||||
|
|
||||||
type (
|
// enableHealthListenerKeyType is a unique key type used in resolver
|
||||||
// enableHealthListenerKeyType is a unique key type used in resolver
|
// attributes to indicate whether the health listener usage is enabled.
|
||||||
// attributes to indicate whether the health listener usage is enabled.
|
type enableHealthListenerKeyType struct{}
|
||||||
enableHealthListenerKeyType struct{}
|
|
||||||
// managedByPickfirstKeyType is an attribute key type to inform Outlier
|
|
||||||
// Detection that the generic health listener is being used.
|
|
||||||
// TODO: https://github.com/grpc/grpc-go/issues/7915 - Remove this when
|
|
||||||
// implementing the dualstack design. This is a hack. Once Dualstack is
|
|
||||||
// completed, outlier detection will stop sending ejection updates through
|
|
||||||
// the connectivity listener.
|
|
||||||
managedByPickfirstKeyType struct{}
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
logger = grpclog.Component("pick-first-leaf-lb")
|
logger = grpclog.Component("pick-first-leaf-lb")
|
||||||
|
@ -149,17 +140,6 @@ func EnableHealthListener(state resolver.State) resolver.State {
|
||||||
return state
|
return state
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsManagedByPickfirst returns whether an address belongs to a SubConn
|
|
||||||
// managed by the pickfirst LB policy.
|
|
||||||
// TODO: https://github.com/grpc/grpc-go/issues/7915 - This is a hack to disable
|
|
||||||
// outlier_detection via the with connectivity listener when using pick_first.
|
|
||||||
// Once Dualstack changes are complete, all SubConns will be created by
|
|
||||||
// pick_first and outlier detection will only use the health listener for
|
|
||||||
// ejection. This hack can then be removed.
|
|
||||||
func IsManagedByPickfirst(addr resolver.Address) bool {
|
|
||||||
return addr.BalancerAttributes.Value(managedByPickfirstKeyType{}) != nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type pfConfig struct {
|
type pfConfig struct {
|
||||||
serviceconfig.LoadBalancingConfig `json:"-"`
|
serviceconfig.LoadBalancingConfig `json:"-"`
|
||||||
|
|
||||||
|
@ -186,7 +166,6 @@ type scData struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *pickfirstBalancer) newSCData(addr resolver.Address) (*scData, error) {
|
func (b *pickfirstBalancer) newSCData(addr resolver.Address) (*scData, error) {
|
||||||
addr.BalancerAttributes = addr.BalancerAttributes.WithValue(managedByPickfirstKeyType{}, true)
|
|
||||||
sd := &scData{
|
sd := &scData{
|
||||||
rawConnectivityState: connectivity.Idle,
|
rawConnectivityState: connectivity.Idle,
|
||||||
effectiveState: connectivity.Idle,
|
effectiveState: connectivity.Idle,
|
||||||
|
|
|
@ -70,10 +70,3 @@ func (b *rrBalancer) UpdateClientConnState(ccs balancer.ClientConnState) error {
|
||||||
ResolverState: pickfirstleaf.EnableHealthListener(ccs.ResolverState),
|
ResolverState: pickfirstleaf.EnableHealthListener(ccs.ResolverState),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *rrBalancer) ExitIdle() {
|
|
||||||
// Should always be ok, as child is endpoint sharding.
|
|
||||||
if ei, ok := b.Balancer.(balancer.ExitIdler); ok {
|
|
||||||
ei.ExitIdle()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -213,6 +213,7 @@ func WithReadBufferSize(s int) DialOption {
|
||||||
func WithInitialWindowSize(s int32) DialOption {
|
func WithInitialWindowSize(s int32) DialOption {
|
||||||
return newFuncDialOption(func(o *dialOptions) {
|
return newFuncDialOption(func(o *dialOptions) {
|
||||||
o.copts.InitialWindowSize = s
|
o.copts.InitialWindowSize = s
|
||||||
|
o.copts.StaticWindowSize = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,6 +223,26 @@ func WithInitialWindowSize(s int32) DialOption {
|
||||||
func WithInitialConnWindowSize(s int32) DialOption {
|
func WithInitialConnWindowSize(s int32) DialOption {
|
||||||
return newFuncDialOption(func(o *dialOptions) {
|
return newFuncDialOption(func(o *dialOptions) {
|
||||||
o.copts.InitialConnWindowSize = s
|
o.copts.InitialConnWindowSize = s
|
||||||
|
o.copts.StaticWindowSize = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithStaticStreamWindowSize returns a DialOption which sets the initial
|
||||||
|
// stream window size to the value provided and disables dynamic flow control.
|
||||||
|
func WithStaticStreamWindowSize(s int32) DialOption {
|
||||||
|
return newFuncDialOption(func(o *dialOptions) {
|
||||||
|
o.copts.InitialWindowSize = s
|
||||||
|
o.copts.StaticWindowSize = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithStaticConnWindowSize returns a DialOption which sets the initial
|
||||||
|
// connection window size to the value provided and disables dynamic flow
|
||||||
|
// control.
|
||||||
|
func WithStaticConnWindowSize(s int32) DialOption {
|
||||||
|
return newFuncDialOption(func(o *dialOptions) {
|
||||||
|
o.copts.InitialConnWindowSize = s
|
||||||
|
o.copts.StaticWindowSize = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -188,13 +188,13 @@ type HealthServer interface {
|
||||||
type UnimplementedHealthServer struct{}
|
type UnimplementedHealthServer struct{}
|
||||||
|
|
||||||
func (UnimplementedHealthServer) Check(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error) {
|
func (UnimplementedHealthServer) Check(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method Check not implemented")
|
return nil, status.Error(codes.Unimplemented, "method Check not implemented")
|
||||||
}
|
}
|
||||||
func (UnimplementedHealthServer) List(context.Context, *HealthListRequest) (*HealthListResponse, error) {
|
func (UnimplementedHealthServer) List(context.Context, *HealthListRequest) (*HealthListResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
|
return nil, status.Error(codes.Unimplemented, "method List not implemented")
|
||||||
}
|
}
|
||||||
func (UnimplementedHealthServer) Watch(*HealthCheckRequest, grpc.ServerStreamingServer[HealthCheckResponse]) error {
|
func (UnimplementedHealthServer) Watch(*HealthCheckRequest, grpc.ServerStreamingServer[HealthCheckResponse]) error {
|
||||||
return status.Errorf(codes.Unimplemented, "method Watch not implemented")
|
return status.Error(codes.Unimplemented, "method Watch not implemented")
|
||||||
}
|
}
|
||||||
func (UnimplementedHealthServer) testEmbeddedByValue() {}
|
func (UnimplementedHealthServer) testEmbeddedByValue() {}
|
||||||
|
|
||||||
|
|
10
vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go
generated
vendored
10
vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go
generated
vendored
|
@ -223,15 +223,7 @@ func (gsb *Balancer) ExitIdle() {
|
||||||
// There is no need to protect this read with a mutex, as the write to the
|
// There is no need to protect this read with a mutex, as the write to the
|
||||||
// Balancer field happens in SwitchTo, which completes before this can be
|
// Balancer field happens in SwitchTo, which completes before this can be
|
||||||
// called.
|
// called.
|
||||||
if ei, ok := balToUpdate.Balancer.(balancer.ExitIdler); ok {
|
balToUpdate.ExitIdle()
|
||||||
ei.ExitIdle()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
gsb.mu.Lock()
|
|
||||||
defer gsb.mu.Unlock()
|
|
||||||
for sc := range balToUpdate.subconns {
|
|
||||||
sc.Connect()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// updateSubConnState forwards the update to the appropriate child.
|
// updateSubConnState forwards the update to the appropriate child.
|
||||||
|
|
|
@ -33,10 +33,6 @@ var (
|
||||||
// "GRPC_RING_HASH_CAP". This does not override the default bounds
|
// "GRPC_RING_HASH_CAP". This does not override the default bounds
|
||||||
// checking which NACKs configs specifying ring sizes > 8*1024*1024 (~8M).
|
// checking which NACKs configs specifying ring sizes > 8*1024*1024 (~8M).
|
||||||
RingHashCap = uint64FromEnv("GRPC_RING_HASH_CAP", 4096, 1, 8*1024*1024)
|
RingHashCap = uint64FromEnv("GRPC_RING_HASH_CAP", 4096, 1, 8*1024*1024)
|
||||||
// LeastRequestLB is set if we should support the least_request_experimental
|
|
||||||
// LB policy, which can be enabled by setting the environment variable
|
|
||||||
// "GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST" to "true".
|
|
||||||
LeastRequestLB = boolFromEnv("GRPC_EXPERIMENTAL_ENABLE_LEAST_REQUEST", true)
|
|
||||||
// ALTSMaxConcurrentHandshakes is the maximum number of concurrent ALTS
|
// ALTSMaxConcurrentHandshakes is the maximum number of concurrent ALTS
|
||||||
// handshakes that can be performed.
|
// handshakes that can be performed.
|
||||||
ALTSMaxConcurrentHandshakes = uint64FromEnv("GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES", 100, 1, 100)
|
ALTSMaxConcurrentHandshakes = uint64FromEnv("GRPC_ALTS_MAX_CONCURRENT_HANDSHAKES", 100, 1, 100)
|
||||||
|
|
|
@ -40,6 +40,13 @@ var updateHeaderTblSize = func(e *hpack.Encoder, v uint32) {
|
||||||
e.SetMaxDynamicTableSizeLimit(v)
|
e.SetMaxDynamicTableSizeLimit(v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// itemNodePool is used to reduce heap allocations.
|
||||||
|
var itemNodePool = sync.Pool{
|
||||||
|
New: func() any {
|
||||||
|
return &itemNode{}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
type itemNode struct {
|
type itemNode struct {
|
||||||
it any
|
it any
|
||||||
next *itemNode
|
next *itemNode
|
||||||
|
@ -51,7 +58,9 @@ type itemList struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (il *itemList) enqueue(i any) {
|
func (il *itemList) enqueue(i any) {
|
||||||
n := &itemNode{it: i}
|
n := itemNodePool.Get().(*itemNode)
|
||||||
|
n.next = nil
|
||||||
|
n.it = i
|
||||||
if il.tail == nil {
|
if il.tail == nil {
|
||||||
il.head, il.tail = n, n
|
il.head, il.tail = n, n
|
||||||
return
|
return
|
||||||
|
@ -71,7 +80,9 @@ func (il *itemList) dequeue() any {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
i := il.head.it
|
i := il.head.it
|
||||||
|
temp := il.head
|
||||||
il.head = il.head.next
|
il.head = il.head.next
|
||||||
|
itemNodePool.Put(temp)
|
||||||
if il.head == nil {
|
if il.head == nil {
|
||||||
il.tail = nil
|
il.tail = nil
|
||||||
}
|
}
|
||||||
|
@ -146,10 +157,11 @@ type earlyAbortStream struct {
|
||||||
func (*earlyAbortStream) isTransportResponseFrame() bool { return false }
|
func (*earlyAbortStream) isTransportResponseFrame() bool { return false }
|
||||||
|
|
||||||
type dataFrame struct {
|
type dataFrame struct {
|
||||||
streamID uint32
|
streamID uint32
|
||||||
endStream bool
|
endStream bool
|
||||||
h []byte
|
h []byte
|
||||||
reader mem.Reader
|
data mem.BufferSlice
|
||||||
|
processing bool
|
||||||
// onEachWrite is called every time
|
// onEachWrite is called every time
|
||||||
// a part of data is written out.
|
// a part of data is written out.
|
||||||
onEachWrite func()
|
onEachWrite func()
|
||||||
|
@ -234,6 +246,7 @@ type outStream struct {
|
||||||
itl *itemList
|
itl *itemList
|
||||||
bytesOutStanding int
|
bytesOutStanding int
|
||||||
wq *writeQuota
|
wq *writeQuota
|
||||||
|
reader mem.Reader
|
||||||
|
|
||||||
next *outStream
|
next *outStream
|
||||||
prev *outStream
|
prev *outStream
|
||||||
|
@ -461,7 +474,9 @@ func (c *controlBuffer) finish() {
|
||||||
v.onOrphaned(ErrConnClosing)
|
v.onOrphaned(ErrConnClosing)
|
||||||
}
|
}
|
||||||
case *dataFrame:
|
case *dataFrame:
|
||||||
_ = v.reader.Close()
|
if !v.processing {
|
||||||
|
v.data.Free()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -650,10 +665,11 @@ func (l *loopyWriter) incomingSettingsHandler(s *incomingSettings) error {
|
||||||
|
|
||||||
func (l *loopyWriter) registerStreamHandler(h *registerStream) {
|
func (l *loopyWriter) registerStreamHandler(h *registerStream) {
|
||||||
str := &outStream{
|
str := &outStream{
|
||||||
id: h.streamID,
|
id: h.streamID,
|
||||||
state: empty,
|
state: empty,
|
||||||
itl: &itemList{},
|
itl: &itemList{},
|
||||||
wq: h.wq,
|
wq: h.wq,
|
||||||
|
reader: mem.BufferSlice{}.Reader(),
|
||||||
}
|
}
|
||||||
l.estdStreams[h.streamID] = str
|
l.estdStreams[h.streamID] = str
|
||||||
}
|
}
|
||||||
|
@ -685,10 +701,11 @@ func (l *loopyWriter) headerHandler(h *headerFrame) error {
|
||||||
}
|
}
|
||||||
// Case 2: Client wants to originate stream.
|
// Case 2: Client wants to originate stream.
|
||||||
str := &outStream{
|
str := &outStream{
|
||||||
id: h.streamID,
|
id: h.streamID,
|
||||||
state: empty,
|
state: empty,
|
||||||
itl: &itemList{},
|
itl: &itemList{},
|
||||||
wq: h.wq,
|
wq: h.wq,
|
||||||
|
reader: mem.BufferSlice{}.Reader(),
|
||||||
}
|
}
|
||||||
return l.originateStream(str, h)
|
return l.originateStream(str, h)
|
||||||
}
|
}
|
||||||
|
@ -790,10 +807,13 @@ func (l *loopyWriter) cleanupStreamHandler(c *cleanupStream) error {
|
||||||
// a RST_STREAM before stream initialization thus the stream might
|
// a RST_STREAM before stream initialization thus the stream might
|
||||||
// not be established yet.
|
// not be established yet.
|
||||||
delete(l.estdStreams, c.streamID)
|
delete(l.estdStreams, c.streamID)
|
||||||
|
str.reader.Close()
|
||||||
str.deleteSelf()
|
str.deleteSelf()
|
||||||
for head := str.itl.dequeueAll(); head != nil; head = head.next {
|
for head := str.itl.dequeueAll(); head != nil; head = head.next {
|
||||||
if df, ok := head.it.(*dataFrame); ok {
|
if df, ok := head.it.(*dataFrame); ok {
|
||||||
_ = df.reader.Close()
|
if !df.processing {
|
||||||
|
df.data.Free()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -928,7 +948,13 @@ func (l *loopyWriter) processData() (bool, error) {
|
||||||
if str == nil {
|
if str == nil {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
|
reader := str.reader
|
||||||
dataItem := str.itl.peek().(*dataFrame) // Peek at the first data item this stream.
|
dataItem := str.itl.peek().(*dataFrame) // Peek at the first data item this stream.
|
||||||
|
if !dataItem.processing {
|
||||||
|
dataItem.processing = true
|
||||||
|
str.reader.Reset(dataItem.data)
|
||||||
|
dataItem.data.Free()
|
||||||
|
}
|
||||||
// A data item is represented by a dataFrame, since it later translates into
|
// A data item is represented by a dataFrame, since it later translates into
|
||||||
// multiple HTTP2 data frames.
|
// multiple HTTP2 data frames.
|
||||||
// Every dataFrame has two buffers; h that keeps grpc-message header and data
|
// Every dataFrame has two buffers; h that keeps grpc-message header and data
|
||||||
|
@ -936,13 +962,13 @@ func (l *loopyWriter) processData() (bool, error) {
|
||||||
// from data is copied to h to make as big as the maximum possible HTTP2 frame
|
// from data is copied to h to make as big as the maximum possible HTTP2 frame
|
||||||
// size.
|
// size.
|
||||||
|
|
||||||
if len(dataItem.h) == 0 && dataItem.reader.Remaining() == 0 { // Empty data frame
|
if len(dataItem.h) == 0 && reader.Remaining() == 0 { // Empty data frame
|
||||||
// Client sends out empty data frame with endStream = true
|
// Client sends out empty data frame with endStream = true
|
||||||
if err := l.framer.fr.WriteData(dataItem.streamID, dataItem.endStream, nil); err != nil {
|
if err := l.framer.fr.WriteData(dataItem.streamID, dataItem.endStream, nil); err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
str.itl.dequeue() // remove the empty data item from stream
|
str.itl.dequeue() // remove the empty data item from stream
|
||||||
_ = dataItem.reader.Close()
|
_ = reader.Close()
|
||||||
if str.itl.isEmpty() {
|
if str.itl.isEmpty() {
|
||||||
str.state = empty
|
str.state = empty
|
||||||
} else if trailer, ok := str.itl.peek().(*headerFrame); ok { // the next item is trailers.
|
} else if trailer, ok := str.itl.peek().(*headerFrame); ok { // the next item is trailers.
|
||||||
|
@ -971,8 +997,8 @@ func (l *loopyWriter) processData() (bool, error) {
|
||||||
}
|
}
|
||||||
// Compute how much of the header and data we can send within quota and max frame length
|
// Compute how much of the header and data we can send within quota and max frame length
|
||||||
hSize := min(maxSize, len(dataItem.h))
|
hSize := min(maxSize, len(dataItem.h))
|
||||||
dSize := min(maxSize-hSize, dataItem.reader.Remaining())
|
dSize := min(maxSize-hSize, reader.Remaining())
|
||||||
remainingBytes := len(dataItem.h) + dataItem.reader.Remaining() - hSize - dSize
|
remainingBytes := len(dataItem.h) + reader.Remaining() - hSize - dSize
|
||||||
size := hSize + dSize
|
size := hSize + dSize
|
||||||
|
|
||||||
var buf *[]byte
|
var buf *[]byte
|
||||||
|
@ -993,7 +1019,7 @@ func (l *loopyWriter) processData() (bool, error) {
|
||||||
defer pool.Put(buf)
|
defer pool.Put(buf)
|
||||||
|
|
||||||
copy((*buf)[:hSize], dataItem.h)
|
copy((*buf)[:hSize], dataItem.h)
|
||||||
_, _ = dataItem.reader.Read((*buf)[hSize:])
|
_, _ = reader.Read((*buf)[hSize:])
|
||||||
}
|
}
|
||||||
|
|
||||||
// Now that outgoing flow controls are checked we can replenish str's write quota
|
// Now that outgoing flow controls are checked we can replenish str's write quota
|
||||||
|
@ -1014,7 +1040,7 @@ func (l *loopyWriter) processData() (bool, error) {
|
||||||
dataItem.h = dataItem.h[hSize:]
|
dataItem.h = dataItem.h[hSize:]
|
||||||
|
|
||||||
if remainingBytes == 0 { // All the data from that message was written out.
|
if remainingBytes == 0 { // All the data from that message was written out.
|
||||||
_ = dataItem.reader.Close()
|
_ = reader.Close()
|
||||||
str.itl.dequeue()
|
str.itl.dequeue()
|
||||||
}
|
}
|
||||||
if str.itl.isEmpty() {
|
if str.itl.isEmpty() {
|
||||||
|
|
|
@ -309,11 +309,9 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
|
||||||
scheme = "https"
|
scheme = "https"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dynamicWindow := true
|
|
||||||
icwz := int32(initialWindowSize)
|
icwz := int32(initialWindowSize)
|
||||||
if opts.InitialConnWindowSize >= defaultWindowSize {
|
if opts.InitialConnWindowSize >= defaultWindowSize {
|
||||||
icwz = opts.InitialConnWindowSize
|
icwz = opts.InitialConnWindowSize
|
||||||
dynamicWindow = false
|
|
||||||
}
|
}
|
||||||
writeBufSize := opts.WriteBufferSize
|
writeBufSize := opts.WriteBufferSize
|
||||||
readBufSize := opts.ReadBufferSize
|
readBufSize := opts.ReadBufferSize
|
||||||
|
@ -381,9 +379,8 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
|
||||||
t.controlBuf = newControlBuffer(t.ctxDone)
|
t.controlBuf = newControlBuffer(t.ctxDone)
|
||||||
if opts.InitialWindowSize >= defaultWindowSize {
|
if opts.InitialWindowSize >= defaultWindowSize {
|
||||||
t.initialWindowSize = opts.InitialWindowSize
|
t.initialWindowSize = opts.InitialWindowSize
|
||||||
dynamicWindow = false
|
|
||||||
}
|
}
|
||||||
if dynamicWindow {
|
if !opts.StaticWindowSize {
|
||||||
t.bdpEst = &bdpEstimator{
|
t.bdpEst = &bdpEstimator{
|
||||||
bdp: initialWindowSize,
|
bdp: initialWindowSize,
|
||||||
updateFlowControl: t.updateFlowControl,
|
updateFlowControl: t.updateFlowControl,
|
||||||
|
@ -1091,32 +1088,29 @@ func (t *http2Client) GracefulClose() {
|
||||||
// Write formats the data into HTTP2 data frame(s) and sends it out. The caller
|
// Write formats the data into HTTP2 data frame(s) and sends it out. The caller
|
||||||
// should proceed only if Write returns nil.
|
// should proceed only if Write returns nil.
|
||||||
func (t *http2Client) write(s *ClientStream, hdr []byte, data mem.BufferSlice, opts *WriteOptions) error {
|
func (t *http2Client) write(s *ClientStream, hdr []byte, data mem.BufferSlice, opts *WriteOptions) error {
|
||||||
reader := data.Reader()
|
|
||||||
|
|
||||||
if opts.Last {
|
if opts.Last {
|
||||||
// If it's the last message, update stream state.
|
// If it's the last message, update stream state.
|
||||||
if !s.compareAndSwapState(streamActive, streamWriteDone) {
|
if !s.compareAndSwapState(streamActive, streamWriteDone) {
|
||||||
_ = reader.Close()
|
|
||||||
return errStreamDone
|
return errStreamDone
|
||||||
}
|
}
|
||||||
} else if s.getState() != streamActive {
|
} else if s.getState() != streamActive {
|
||||||
_ = reader.Close()
|
|
||||||
return errStreamDone
|
return errStreamDone
|
||||||
}
|
}
|
||||||
df := &dataFrame{
|
df := &dataFrame{
|
||||||
streamID: s.id,
|
streamID: s.id,
|
||||||
endStream: opts.Last,
|
endStream: opts.Last,
|
||||||
h: hdr,
|
h: hdr,
|
||||||
reader: reader,
|
data: data,
|
||||||
}
|
}
|
||||||
if hdr != nil || df.reader.Remaining() != 0 { // If it's not an empty data frame, check quota.
|
dataLen := data.Len()
|
||||||
if err := s.wq.get(int32(len(hdr) + df.reader.Remaining())); err != nil {
|
if hdr != nil || dataLen != 0 { // If it's not an empty data frame, check quota.
|
||||||
_ = reader.Close()
|
if err := s.wq.get(int32(len(hdr) + dataLen)); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
data.Ref()
|
||||||
if err := t.controlBuf.put(df); err != nil {
|
if err := t.controlBuf.put(df); err != nil {
|
||||||
_ = reader.Close()
|
data.Free()
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
t.incrMsgSent()
|
t.incrMsgSent()
|
||||||
|
|
|
@ -132,6 +132,10 @@ type http2Server struct {
|
||||||
maxStreamID uint32 // max stream ID ever seen
|
maxStreamID uint32 // max stream ID ever seen
|
||||||
|
|
||||||
logger *grpclog.PrefixLogger
|
logger *grpclog.PrefixLogger
|
||||||
|
// setResetPingStrikes is stored as a closure instead of making this a
|
||||||
|
// method on http2Server to avoid a heap allocation when converting a method
|
||||||
|
// to a closure for passing to frames objects.
|
||||||
|
setResetPingStrikes func()
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewServerTransport creates a http2 transport with conn and configuration
|
// NewServerTransport creates a http2 transport with conn and configuration
|
||||||
|
@ -176,16 +180,13 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
|
||||||
Val: config.MaxStreams,
|
Val: config.MaxStreams,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
dynamicWindow := true
|
|
||||||
iwz := int32(initialWindowSize)
|
iwz := int32(initialWindowSize)
|
||||||
if config.InitialWindowSize >= defaultWindowSize {
|
if config.InitialWindowSize >= defaultWindowSize {
|
||||||
iwz = config.InitialWindowSize
|
iwz = config.InitialWindowSize
|
||||||
dynamicWindow = false
|
|
||||||
}
|
}
|
||||||
icwz := int32(initialWindowSize)
|
icwz := int32(initialWindowSize)
|
||||||
if config.InitialConnWindowSize >= defaultWindowSize {
|
if config.InitialConnWindowSize >= defaultWindowSize {
|
||||||
icwz = config.InitialConnWindowSize
|
icwz = config.InitialConnWindowSize
|
||||||
dynamicWindow = false
|
|
||||||
}
|
}
|
||||||
if iwz != defaultWindowSize {
|
if iwz != defaultWindowSize {
|
||||||
isettings = append(isettings, http2.Setting{
|
isettings = append(isettings, http2.Setting{
|
||||||
|
@ -266,6 +267,9 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
|
||||||
initialWindowSize: iwz,
|
initialWindowSize: iwz,
|
||||||
bufferPool: config.BufferPool,
|
bufferPool: config.BufferPool,
|
||||||
}
|
}
|
||||||
|
t.setResetPingStrikes = func() {
|
||||||
|
atomic.StoreUint32(&t.resetPingStrikes, 1)
|
||||||
|
}
|
||||||
var czSecurity credentials.ChannelzSecurityValue
|
var czSecurity credentials.ChannelzSecurityValue
|
||||||
if au, ok := authInfo.(credentials.ChannelzSecurityInfo); ok {
|
if au, ok := authInfo.(credentials.ChannelzSecurityInfo); ok {
|
||||||
czSecurity = au.GetSecurityValue()
|
czSecurity = au.GetSecurityValue()
|
||||||
|
@ -285,7 +289,7 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
|
||||||
t.logger = prefixLoggerForServerTransport(t)
|
t.logger = prefixLoggerForServerTransport(t)
|
||||||
|
|
||||||
t.controlBuf = newControlBuffer(t.done)
|
t.controlBuf = newControlBuffer(t.done)
|
||||||
if dynamicWindow {
|
if !config.StaticWindowSize {
|
||||||
t.bdpEst = &bdpEstimator{
|
t.bdpEst = &bdpEstimator{
|
||||||
bdp: initialWindowSize,
|
bdp: initialWindowSize,
|
||||||
updateFlowControl: t.updateFlowControl,
|
updateFlowControl: t.updateFlowControl,
|
||||||
|
@ -596,10 +600,25 @@ func (t *http2Server) operateHeaders(ctx context.Context, frame *http2.MetaHeade
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if s.ctx.Err() != nil {
|
||||||
|
t.mu.Unlock()
|
||||||
|
// Early abort in case the timeout was zero or so low it already fired.
|
||||||
|
t.controlBuf.put(&earlyAbortStream{
|
||||||
|
httpStatus: http.StatusOK,
|
||||||
|
streamID: s.id,
|
||||||
|
contentSubtype: s.contentSubtype,
|
||||||
|
status: status.New(codes.DeadlineExceeded, context.DeadlineExceeded.Error()),
|
||||||
|
rst: !frame.StreamEnded(),
|
||||||
|
})
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
t.activeStreams[streamID] = s
|
t.activeStreams[streamID] = s
|
||||||
if len(t.activeStreams) == 1 {
|
if len(t.activeStreams) == 1 {
|
||||||
t.idle = time.Time{}
|
t.idle = time.Time{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start a timer to close the stream on reaching the deadline.
|
// Start a timer to close the stream on reaching the deadline.
|
||||||
if timeoutSet {
|
if timeoutSet {
|
||||||
// We need to wait for s.cancel to be updated before calling
|
// We need to wait for s.cancel to be updated before calling
|
||||||
|
@ -1016,10 +1035,6 @@ func (t *http2Server) writeHeader(s *ServerStream, md metadata.MD) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *http2Server) setResetPingStrikes() {
|
|
||||||
atomic.StoreUint32(&t.resetPingStrikes, 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *http2Server) writeHeaderLocked(s *ServerStream) error {
|
func (t *http2Server) writeHeaderLocked(s *ServerStream) error {
|
||||||
// TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields
|
// TODO(mmukhi): Benchmark if the performance gets better if count the metadata and other header fields
|
||||||
// first and create a slice of that exact size.
|
// first and create a slice of that exact size.
|
||||||
|
@ -1132,17 +1147,13 @@ func (t *http2Server) writeStatus(s *ServerStream, st *status.Status) error {
|
||||||
// Write converts the data into HTTP2 data frame and sends it out. Non-nil error
|
// Write converts the data into HTTP2 data frame and sends it out. Non-nil error
|
||||||
// is returns if it fails (e.g., framing error, transport error).
|
// is returns if it fails (e.g., framing error, transport error).
|
||||||
func (t *http2Server) write(s *ServerStream, hdr []byte, data mem.BufferSlice, _ *WriteOptions) error {
|
func (t *http2Server) write(s *ServerStream, hdr []byte, data mem.BufferSlice, _ *WriteOptions) error {
|
||||||
reader := data.Reader()
|
|
||||||
|
|
||||||
if !s.isHeaderSent() { // Headers haven't been written yet.
|
if !s.isHeaderSent() { // Headers haven't been written yet.
|
||||||
if err := t.writeHeader(s, nil); err != nil {
|
if err := t.writeHeader(s, nil); err != nil {
|
||||||
_ = reader.Close()
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Writing headers checks for this condition.
|
// Writing headers checks for this condition.
|
||||||
if s.getState() == streamDone {
|
if s.getState() == streamDone {
|
||||||
_ = reader.Close()
|
|
||||||
return t.streamContextErr(s)
|
return t.streamContextErr(s)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1150,15 +1161,16 @@ func (t *http2Server) write(s *ServerStream, hdr []byte, data mem.BufferSlice, _
|
||||||
df := &dataFrame{
|
df := &dataFrame{
|
||||||
streamID: s.id,
|
streamID: s.id,
|
||||||
h: hdr,
|
h: hdr,
|
||||||
reader: reader,
|
data: data,
|
||||||
onEachWrite: t.setResetPingStrikes,
|
onEachWrite: t.setResetPingStrikes,
|
||||||
}
|
}
|
||||||
if err := s.wq.get(int32(len(hdr) + df.reader.Remaining())); err != nil {
|
dataLen := data.Len()
|
||||||
_ = reader.Close()
|
if err := s.wq.get(int32(len(hdr) + dataLen)); err != nil {
|
||||||
return t.streamContextErr(s)
|
return t.streamContextErr(s)
|
||||||
}
|
}
|
||||||
|
data.Ref()
|
||||||
if err := t.controlBuf.put(df); err != nil {
|
if err := t.controlBuf.put(df); err != nil {
|
||||||
_ = reader.Close()
|
data.Free()
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
t.incrMsgSent()
|
t.incrMsgSent()
|
||||||
|
|
|
@ -200,9 +200,6 @@ func decodeTimeout(s string) (time.Duration, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
if t == 0 {
|
|
||||||
return 0, fmt.Errorf("transport: timeout must be positive: %q", s)
|
|
||||||
}
|
|
||||||
const maxHours = math.MaxInt64 / uint64(time.Hour)
|
const maxHours = math.MaxInt64 / uint64(time.Hour)
|
||||||
if d == time.Hour && t > maxHours {
|
if d == time.Hour && t > maxHours {
|
||||||
// This timeout would overflow math.MaxInt64; clamp it.
|
// This timeout would overflow math.MaxInt64; clamp it.
|
||||||
|
|
|
@ -466,6 +466,7 @@ type ServerConfig struct {
|
||||||
MaxHeaderListSize *uint32
|
MaxHeaderListSize *uint32
|
||||||
HeaderTableSize *uint32
|
HeaderTableSize *uint32
|
||||||
BufferPool mem.BufferPool
|
BufferPool mem.BufferPool
|
||||||
|
StaticWindowSize bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// ConnectOptions covers all relevant options for communicating with the server.
|
// ConnectOptions covers all relevant options for communicating with the server.
|
||||||
|
@ -504,6 +505,8 @@ type ConnectOptions struct {
|
||||||
MaxHeaderListSize *uint32
|
MaxHeaderListSize *uint32
|
||||||
// The mem.BufferPool to use when reading/writing to the wire.
|
// The mem.BufferPool to use when reading/writing to the wire.
|
||||||
BufferPool mem.BufferPool
|
BufferPool mem.BufferPool
|
||||||
|
// StaticWindowSize controls whether dynamic window sizing is enabled.
|
||||||
|
StaticWindowSize bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// WriteOptions provides additional hints and information for message
|
// WriteOptions provides additional hints and information for message
|
||||||
|
|
|
@ -137,6 +137,9 @@ type Reader interface {
|
||||||
Close() error
|
Close() error
|
||||||
// Remaining returns the number of unread bytes remaining in the slice.
|
// Remaining returns the number of unread bytes remaining in the slice.
|
||||||
Remaining() int
|
Remaining() int
|
||||||
|
// Reset frees the currently held buffer slice and starts reading from the
|
||||||
|
// provided slice. This allows reusing the reader object.
|
||||||
|
Reset(s BufferSlice)
|
||||||
}
|
}
|
||||||
|
|
||||||
type sliceReader struct {
|
type sliceReader struct {
|
||||||
|
@ -150,6 +153,14 @@ func (r *sliceReader) Remaining() int {
|
||||||
return r.len
|
return r.len
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *sliceReader) Reset(s BufferSlice) {
|
||||||
|
r.data.Free()
|
||||||
|
s.Ref()
|
||||||
|
r.data = s
|
||||||
|
r.len = s.Len()
|
||||||
|
r.bufferIdx = 0
|
||||||
|
}
|
||||||
|
|
||||||
func (r *sliceReader) Close() error {
|
func (r *sliceReader) Close() error {
|
||||||
r.data.Free()
|
r.data.Free()
|
||||||
r.data = nil
|
r.data = nil
|
||||||
|
|
2
vendor/google.golang.org/grpc/reflection/grpc_reflection_v1/reflection_grpc.pb.go
generated
vendored
2
vendor/google.golang.org/grpc/reflection/grpc_reflection_v1/reflection_grpc.pb.go
generated
vendored
|
@ -90,7 +90,7 @@ type ServerReflectionServer interface {
|
||||||
type UnimplementedServerReflectionServer struct{}
|
type UnimplementedServerReflectionServer struct{}
|
||||||
|
|
||||||
func (UnimplementedServerReflectionServer) ServerReflectionInfo(grpc.BidiStreamingServer[ServerReflectionRequest, ServerReflectionResponse]) error {
|
func (UnimplementedServerReflectionServer) ServerReflectionInfo(grpc.BidiStreamingServer[ServerReflectionRequest, ServerReflectionResponse]) error {
|
||||||
return status.Errorf(codes.Unimplemented, "method ServerReflectionInfo not implemented")
|
return status.Error(codes.Unimplemented, "method ServerReflectionInfo not implemented")
|
||||||
}
|
}
|
||||||
func (UnimplementedServerReflectionServer) testEmbeddedByValue() {}
|
func (UnimplementedServerReflectionServer) testEmbeddedByValue() {}
|
||||||
|
|
||||||
|
|
|
@ -87,7 +87,7 @@ type ServerReflectionServer interface {
|
||||||
type UnimplementedServerReflectionServer struct{}
|
type UnimplementedServerReflectionServer struct{}
|
||||||
|
|
||||||
func (UnimplementedServerReflectionServer) ServerReflectionInfo(grpc.BidiStreamingServer[ServerReflectionRequest, ServerReflectionResponse]) error {
|
func (UnimplementedServerReflectionServer) ServerReflectionInfo(grpc.BidiStreamingServer[ServerReflectionRequest, ServerReflectionResponse]) error {
|
||||||
return status.Errorf(codes.Unimplemented, "method ServerReflectionInfo not implemented")
|
return status.Error(codes.Unimplemented, "method ServerReflectionInfo not implemented")
|
||||||
}
|
}
|
||||||
func (UnimplementedServerReflectionServer) testEmbeddedByValue() {}
|
func (UnimplementedServerReflectionServer) testEmbeddedByValue() {}
|
||||||
|
|
||||||
|
|
|
@ -179,6 +179,7 @@ type serverOptions struct {
|
||||||
numServerWorkers uint32
|
numServerWorkers uint32
|
||||||
bufferPool mem.BufferPool
|
bufferPool mem.BufferPool
|
||||||
waitForHandlers bool
|
waitForHandlers bool
|
||||||
|
staticWindowSize bool
|
||||||
}
|
}
|
||||||
|
|
||||||
var defaultServerOptions = serverOptions{
|
var defaultServerOptions = serverOptions{
|
||||||
|
@ -279,6 +280,7 @@ func ReadBufferSize(s int) ServerOption {
|
||||||
func InitialWindowSize(s int32) ServerOption {
|
func InitialWindowSize(s int32) ServerOption {
|
||||||
return newFuncServerOption(func(o *serverOptions) {
|
return newFuncServerOption(func(o *serverOptions) {
|
||||||
o.initialWindowSize = s
|
o.initialWindowSize = s
|
||||||
|
o.staticWindowSize = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -287,6 +289,29 @@ func InitialWindowSize(s int32) ServerOption {
|
||||||
func InitialConnWindowSize(s int32) ServerOption {
|
func InitialConnWindowSize(s int32) ServerOption {
|
||||||
return newFuncServerOption(func(o *serverOptions) {
|
return newFuncServerOption(func(o *serverOptions) {
|
||||||
o.initialConnWindowSize = s
|
o.initialConnWindowSize = s
|
||||||
|
o.staticWindowSize = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// StaticStreamWindowSize returns a ServerOption to set the initial stream
|
||||||
|
// window size to the value provided and disables dynamic flow control.
|
||||||
|
// The lower bound for window size is 64K and any value smaller than that
|
||||||
|
// will be ignored.
|
||||||
|
func StaticStreamWindowSize(s int32) ServerOption {
|
||||||
|
return newFuncServerOption(func(o *serverOptions) {
|
||||||
|
o.initialWindowSize = s
|
||||||
|
o.staticWindowSize = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// StaticConnWindowSize returns a ServerOption to set the initial connection
|
||||||
|
// window size to the value provided and disables dynamic flow control.
|
||||||
|
// The lower bound for window size is 64K and any value smaller than that
|
||||||
|
// will be ignored.
|
||||||
|
func StaticConnWindowSize(s int32) ServerOption {
|
||||||
|
return newFuncServerOption(func(o *serverOptions) {
|
||||||
|
o.initialConnWindowSize = s
|
||||||
|
o.staticWindowSize = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -986,6 +1011,7 @@ func (s *Server) newHTTP2Transport(c net.Conn) transport.ServerTransport {
|
||||||
MaxHeaderListSize: s.opts.maxHeaderListSize,
|
MaxHeaderListSize: s.opts.maxHeaderListSize,
|
||||||
HeaderTableSize: s.opts.headerTableSize,
|
HeaderTableSize: s.opts.headerTableSize,
|
||||||
BufferPool: s.opts.bufferPool,
|
BufferPool: s.opts.bufferPool,
|
||||||
|
StaticWindowSize: s.opts.staticWindowSize,
|
||||||
}
|
}
|
||||||
st, err := transport.NewServerTransport(c, config)
|
st, err := transport.NewServerTransport(c, config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -1171,7 +1171,7 @@ func (a *csAttempt) recvMsg(m any, payInfo *payloadInfo) (err error) {
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
return toRPCErr(err)
|
return toRPCErr(err)
|
||||||
}
|
}
|
||||||
return toRPCErr(errors.New("grpc: client streaming protocol violation: get <nil>, want <EOF>"))
|
return status.Errorf(codes.Internal, "cardinality violation: expected <EOF> for non server-streaming RPCs, but received another message")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *csAttempt) finish(err error) {
|
func (a *csAttempt) finish(err error) {
|
||||||
|
@ -1495,7 +1495,7 @@ func (as *addrConnStream) RecvMsg(m any) (err error) {
|
||||||
} else if err != nil {
|
} else if err != nil {
|
||||||
return toRPCErr(err)
|
return toRPCErr(err)
|
||||||
}
|
}
|
||||||
return toRPCErr(errors.New("grpc: client streaming protocol violation: get <nil>, want <EOF>"))
|
return status.Errorf(codes.Internal, "cardinality violation: expected <EOF> for non server-streaming RPCs, but received another message")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (as *addrConnStream) finish(err error) {
|
func (as *addrConnStream) finish(err error) {
|
||||||
|
|
|
@ -19,4 +19,4 @@
|
||||||
package grpc
|
package grpc
|
||||||
|
|
||||||
// Version is the current grpc version.
|
// Version is the current grpc version.
|
||||||
const Version = "1.73.0"
|
const Version = "1.74.2"
|
||||||
|
|
|
@ -371,7 +371,31 @@ func ConsumeVarint(b []byte) (v uint64, n int) {
|
||||||
func SizeVarint(v uint64) int {
|
func SizeVarint(v uint64) int {
|
||||||
// This computes 1 + (bits.Len64(v)-1)/7.
|
// This computes 1 + (bits.Len64(v)-1)/7.
|
||||||
// 9/64 is a good enough approximation of 1/7
|
// 9/64 is a good enough approximation of 1/7
|
||||||
return int(9*uint32(bits.Len64(v))+64) / 64
|
//
|
||||||
|
// The Go compiler can translate the bits.LeadingZeros64 call into the LZCNT
|
||||||
|
// instruction, which is very fast on CPUs from the last few years. The
|
||||||
|
// specific way of expressing the calculation matches C++ Protobuf, see
|
||||||
|
// https://godbolt.org/z/4P3h53oM4 for the C++ code and how gcc/clang
|
||||||
|
// optimize that function for GOAMD64=v1 and GOAMD64=v3 (-march=haswell).
|
||||||
|
|
||||||
|
// By OR'ing v with 1, we guarantee that v is never 0, without changing the
|
||||||
|
// result of SizeVarint. LZCNT is not defined for 0, meaning the compiler
|
||||||
|
// needs to add extra instructions to handle that case.
|
||||||
|
//
|
||||||
|
// The Go compiler currently (go1.24.4) does not make use of this knowledge.
|
||||||
|
// This opportunity (removing the XOR instruction, which handles the 0 case)
|
||||||
|
// results in a small (1%) performance win across CPU architectures.
|
||||||
|
//
|
||||||
|
// Independently of avoiding the 0 case, we need the v |= 1 line because
|
||||||
|
// it allows the Go compiler to eliminate an extra XCHGL barrier.
|
||||||
|
v |= 1
|
||||||
|
|
||||||
|
// It would be clearer to write log2value := 63 - uint32(...), but
|
||||||
|
// writing uint32(...) ^ 63 is much more efficient (-14% ARM, -20% Intel).
|
||||||
|
// Proof of identity for our value range [0..63]:
|
||||||
|
// https://go.dev/play/p/Pdn9hEWYakX
|
||||||
|
log2value := uint32(bits.LeadingZeros64(v)) ^ 63
|
||||||
|
return int((log2value*9 + (64 + 9)) / 64)
|
||||||
}
|
}
|
||||||
|
|
||||||
// AppendFixed32 appends v to b as a little-endian uint32.
|
// AppendFixed32 appends v to b as a little-endian uint32.
|
||||||
|
|
BIN
vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
generated
vendored
BIN
vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
generated
vendored
Binary file not shown.
|
@ -72,6 +72,9 @@ func unmarshalFeatureSet(b []byte, parent EditionFeatures) EditionFeatures {
|
||||||
case genid.FeatureSet_EnforceNamingStyle_field_number:
|
case genid.FeatureSet_EnforceNamingStyle_field_number:
|
||||||
// EnforceNamingStyle is enforced in protoc, languages other than C++
|
// EnforceNamingStyle is enforced in protoc, languages other than C++
|
||||||
// are not supposed to do anything with this feature.
|
// are not supposed to do anything with this feature.
|
||||||
|
case genid.FeatureSet_DefaultSymbolVisibility_field_number:
|
||||||
|
// DefaultSymbolVisibility is enforced in protoc, runtimes should not
|
||||||
|
// inspect this value.
|
||||||
default:
|
default:
|
||||||
panic(fmt.Sprintf("unkown field number %d while unmarshalling FeatureSet", num))
|
panic(fmt.Sprintf("unkown field number %d while unmarshalling FeatureSet", num))
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
// Copyright 2025 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package filedesc
|
||||||
|
|
||||||
|
import "google.golang.org/protobuf/reflect/protoreflect"
|
||||||
|
|
||||||
|
// UsePresenceForField reports whether the presence bitmap should be used for
|
||||||
|
// the specified field.
|
||||||
|
func UsePresenceForField(fd protoreflect.FieldDescriptor) (usePresence, canBeLazy bool) {
|
||||||
|
switch {
|
||||||
|
case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
|
||||||
|
// Oneof fields never use the presence bitmap.
|
||||||
|
//
|
||||||
|
// Synthetic oneofs are an exception: Those are used to implement proto3
|
||||||
|
// optional fields and hence should follow non-oneof field semantics.
|
||||||
|
return false, false
|
||||||
|
|
||||||
|
case fd.IsMap():
|
||||||
|
// Map-typed fields never use the presence bitmap.
|
||||||
|
return false, false
|
||||||
|
|
||||||
|
case fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind:
|
||||||
|
// Lazy fields always use the presence bitmap (only messages can be lazy).
|
||||||
|
isLazy := fd.(interface{ IsLazy() bool }).IsLazy()
|
||||||
|
return isLazy, isLazy
|
||||||
|
|
||||||
|
default:
|
||||||
|
// If the field has presence, use the presence bitmap.
|
||||||
|
return fd.HasPresence(), false
|
||||||
|
}
|
||||||
|
}
|
|
@ -34,6 +34,19 @@ const (
|
||||||
Edition_EDITION_MAX_enum_value = 2147483647
|
Edition_EDITION_MAX_enum_value = 2147483647
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Full and short names for google.protobuf.SymbolVisibility.
|
||||||
|
const (
|
||||||
|
SymbolVisibility_enum_fullname = "google.protobuf.SymbolVisibility"
|
||||||
|
SymbolVisibility_enum_name = "SymbolVisibility"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.SymbolVisibility.
|
||||||
|
const (
|
||||||
|
SymbolVisibility_VISIBILITY_UNSET_enum_value = 0
|
||||||
|
SymbolVisibility_VISIBILITY_LOCAL_enum_value = 1
|
||||||
|
SymbolVisibility_VISIBILITY_EXPORT_enum_value = 2
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.FileDescriptorSet.
|
// Names for google.protobuf.FileDescriptorSet.
|
||||||
const (
|
const (
|
||||||
FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet"
|
FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet"
|
||||||
|
@ -65,6 +78,7 @@ const (
|
||||||
FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency"
|
FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency"
|
||||||
FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency"
|
FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency"
|
||||||
FileDescriptorProto_WeakDependency_field_name protoreflect.Name = "weak_dependency"
|
FileDescriptorProto_WeakDependency_field_name protoreflect.Name = "weak_dependency"
|
||||||
|
FileDescriptorProto_OptionDependency_field_name protoreflect.Name = "option_dependency"
|
||||||
FileDescriptorProto_MessageType_field_name protoreflect.Name = "message_type"
|
FileDescriptorProto_MessageType_field_name protoreflect.Name = "message_type"
|
||||||
FileDescriptorProto_EnumType_field_name protoreflect.Name = "enum_type"
|
FileDescriptorProto_EnumType_field_name protoreflect.Name = "enum_type"
|
||||||
FileDescriptorProto_Service_field_name protoreflect.Name = "service"
|
FileDescriptorProto_Service_field_name protoreflect.Name = "service"
|
||||||
|
@ -79,6 +93,7 @@ const (
|
||||||
FileDescriptorProto_Dependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency"
|
FileDescriptorProto_Dependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency"
|
||||||
FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_dependency"
|
FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_dependency"
|
||||||
FileDescriptorProto_WeakDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.weak_dependency"
|
FileDescriptorProto_WeakDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.weak_dependency"
|
||||||
|
FileDescriptorProto_OptionDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.option_dependency"
|
||||||
FileDescriptorProto_MessageType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.message_type"
|
FileDescriptorProto_MessageType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.message_type"
|
||||||
FileDescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type"
|
FileDescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type"
|
||||||
FileDescriptorProto_Service_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.service"
|
FileDescriptorProto_Service_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.service"
|
||||||
|
@ -96,6 +111,7 @@ const (
|
||||||
FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3
|
FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3
|
||||||
FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10
|
FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10
|
||||||
FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11
|
FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11
|
||||||
|
FileDescriptorProto_OptionDependency_field_number protoreflect.FieldNumber = 15
|
||||||
FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4
|
FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4
|
||||||
FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5
|
FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5
|
||||||
FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6
|
FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6
|
||||||
|
@ -124,6 +140,7 @@ const (
|
||||||
DescriptorProto_Options_field_name protoreflect.Name = "options"
|
DescriptorProto_Options_field_name protoreflect.Name = "options"
|
||||||
DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
|
DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
|
||||||
DescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name"
|
DescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name"
|
||||||
|
DescriptorProto_Visibility_field_name protoreflect.Name = "visibility"
|
||||||
|
|
||||||
DescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.name"
|
DescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.name"
|
||||||
DescriptorProto_Field_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.field"
|
DescriptorProto_Field_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.field"
|
||||||
|
@ -135,6 +152,7 @@ const (
|
||||||
DescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.options"
|
DescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.options"
|
||||||
DescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range"
|
DescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range"
|
||||||
DescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_name"
|
DescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_name"
|
||||||
|
DescriptorProto_Visibility_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.visibility"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Field numbers for google.protobuf.DescriptorProto.
|
// Field numbers for google.protobuf.DescriptorProto.
|
||||||
|
@ -149,6 +167,7 @@ const (
|
||||||
DescriptorProto_Options_field_number protoreflect.FieldNumber = 7
|
DescriptorProto_Options_field_number protoreflect.FieldNumber = 7
|
||||||
DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9
|
DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9
|
||||||
DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10
|
DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10
|
||||||
|
DescriptorProto_Visibility_field_number protoreflect.FieldNumber = 11
|
||||||
)
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.DescriptorProto.ExtensionRange.
|
// Names for google.protobuf.DescriptorProto.ExtensionRange.
|
||||||
|
@ -388,12 +407,14 @@ const (
|
||||||
EnumDescriptorProto_Options_field_name protoreflect.Name = "options"
|
EnumDescriptorProto_Options_field_name protoreflect.Name = "options"
|
||||||
EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
|
EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
|
||||||
EnumDescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name"
|
EnumDescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name"
|
||||||
|
EnumDescriptorProto_Visibility_field_name protoreflect.Name = "visibility"
|
||||||
|
|
||||||
EnumDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.name"
|
EnumDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.name"
|
||||||
EnumDescriptorProto_Value_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value"
|
EnumDescriptorProto_Value_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value"
|
||||||
EnumDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options"
|
EnumDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options"
|
||||||
EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range"
|
EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range"
|
||||||
EnumDescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_name"
|
EnumDescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_name"
|
||||||
|
EnumDescriptorProto_Visibility_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.visibility"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Field numbers for google.protobuf.EnumDescriptorProto.
|
// Field numbers for google.protobuf.EnumDescriptorProto.
|
||||||
|
@ -403,6 +424,7 @@ const (
|
||||||
EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3
|
EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3
|
||||||
EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4
|
EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4
|
||||||
EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5
|
EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5
|
||||||
|
EnumDescriptorProto_Visibility_field_number protoreflect.FieldNumber = 6
|
||||||
)
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.EnumDescriptorProto.EnumReservedRange.
|
// Names for google.protobuf.EnumDescriptorProto.EnumReservedRange.
|
||||||
|
@ -1008,32 +1030,35 @@ const (
|
||||||
|
|
||||||
// Field names for google.protobuf.FeatureSet.
|
// Field names for google.protobuf.FeatureSet.
|
||||||
const (
|
const (
|
||||||
FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence"
|
FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence"
|
||||||
FeatureSet_EnumType_field_name protoreflect.Name = "enum_type"
|
FeatureSet_EnumType_field_name protoreflect.Name = "enum_type"
|
||||||
FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding"
|
FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding"
|
||||||
FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation"
|
FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation"
|
||||||
FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding"
|
FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding"
|
||||||
FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format"
|
FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format"
|
||||||
FeatureSet_EnforceNamingStyle_field_name protoreflect.Name = "enforce_naming_style"
|
FeatureSet_EnforceNamingStyle_field_name protoreflect.Name = "enforce_naming_style"
|
||||||
|
FeatureSet_DefaultSymbolVisibility_field_name protoreflect.Name = "default_symbol_visibility"
|
||||||
|
|
||||||
FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence"
|
FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence"
|
||||||
FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type"
|
FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type"
|
||||||
FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding"
|
FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding"
|
||||||
FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation"
|
FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation"
|
||||||
FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding"
|
FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding"
|
||||||
FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format"
|
FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format"
|
||||||
FeatureSet_EnforceNamingStyle_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enforce_naming_style"
|
FeatureSet_EnforceNamingStyle_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enforce_naming_style"
|
||||||
|
FeatureSet_DefaultSymbolVisibility_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.default_symbol_visibility"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Field numbers for google.protobuf.FeatureSet.
|
// Field numbers for google.protobuf.FeatureSet.
|
||||||
const (
|
const (
|
||||||
FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1
|
FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1
|
||||||
FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2
|
FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2
|
||||||
FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3
|
FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3
|
||||||
FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4
|
FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4
|
||||||
FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5
|
FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5
|
||||||
FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6
|
FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6
|
||||||
FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7
|
FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7
|
||||||
|
FeatureSet_DefaultSymbolVisibility_field_number protoreflect.FieldNumber = 8
|
||||||
)
|
)
|
||||||
|
|
||||||
// Full and short names for google.protobuf.FeatureSet.FieldPresence.
|
// Full and short names for google.protobuf.FeatureSet.FieldPresence.
|
||||||
|
@ -1128,6 +1153,27 @@ const (
|
||||||
FeatureSet_STYLE_LEGACY_enum_value = 2
|
FeatureSet_STYLE_LEGACY_enum_value = 2
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Names for google.protobuf.FeatureSet.VisibilityFeature.
|
||||||
|
const (
|
||||||
|
FeatureSet_VisibilityFeature_message_name protoreflect.Name = "VisibilityFeature"
|
||||||
|
FeatureSet_VisibilityFeature_message_fullname protoreflect.FullName = "google.protobuf.FeatureSet.VisibilityFeature"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Full and short names for google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility.
|
||||||
|
const (
|
||||||
|
FeatureSet_VisibilityFeature_DefaultSymbolVisibility_enum_fullname = "google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility"
|
||||||
|
FeatureSet_VisibilityFeature_DefaultSymbolVisibility_enum_name = "DefaultSymbolVisibility"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Enum values for google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility.
|
||||||
|
const (
|
||||||
|
FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN_enum_value = 0
|
||||||
|
FeatureSet_VisibilityFeature_EXPORT_ALL_enum_value = 1
|
||||||
|
FeatureSet_VisibilityFeature_EXPORT_TOP_LEVEL_enum_value = 2
|
||||||
|
FeatureSet_VisibilityFeature_LOCAL_ALL_enum_value = 3
|
||||||
|
FeatureSet_VisibilityFeature_STRICT_enum_value = 4
|
||||||
|
)
|
||||||
|
|
||||||
// Names for google.protobuf.FeatureSetDefaults.
|
// Names for google.protobuf.FeatureSetDefaults.
|
||||||
const (
|
const (
|
||||||
FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults"
|
FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults"
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
|
|
||||||
"google.golang.org/protobuf/encoding/protowire"
|
"google.golang.org/protobuf/encoding/protowire"
|
||||||
"google.golang.org/protobuf/internal/encoding/messageset"
|
"google.golang.org/protobuf/internal/encoding/messageset"
|
||||||
|
"google.golang.org/protobuf/internal/filedesc"
|
||||||
"google.golang.org/protobuf/internal/order"
|
"google.golang.org/protobuf/internal/order"
|
||||||
"google.golang.org/protobuf/reflect/protoreflect"
|
"google.golang.org/protobuf/reflect/protoreflect"
|
||||||
piface "google.golang.org/protobuf/runtime/protoiface"
|
piface "google.golang.org/protobuf/runtime/protoiface"
|
||||||
|
@ -80,7 +81,7 @@ func (mi *MessageInfo) makeOpaqueCoderMethods(t reflect.Type, si opaqueStructInf
|
||||||
// permit us to skip over definitely-unset fields at marshal time.
|
// permit us to skip over definitely-unset fields at marshal time.
|
||||||
|
|
||||||
var hasPresence bool
|
var hasPresence bool
|
||||||
hasPresence, cf.isLazy = usePresenceForField(si, fd)
|
hasPresence, cf.isLazy = filedesc.UsePresenceForField(fd)
|
||||||
|
|
||||||
if hasPresence {
|
if hasPresence {
|
||||||
cf.presenceIndex, mi.presenceSize = presenceIndex(mi.Desc, fd)
|
cf.presenceIndex, mi.presenceSize = presenceIndex(mi.Desc, fd)
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
|
|
||||||
|
"google.golang.org/protobuf/internal/filedesc"
|
||||||
"google.golang.org/protobuf/reflect/protoreflect"
|
"google.golang.org/protobuf/reflect/protoreflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -53,7 +54,7 @@ func opaqueInitHook(mi *MessageInfo) bool {
|
||||||
fd := fds.Get(i)
|
fd := fds.Get(i)
|
||||||
fs := si.fieldsByNumber[fd.Number()]
|
fs := si.fieldsByNumber[fd.Number()]
|
||||||
var fi fieldInfo
|
var fi fieldInfo
|
||||||
usePresence, _ := usePresenceForField(si, fd)
|
usePresence, _ := filedesc.UsePresenceForField(fd)
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
|
case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
|
||||||
|
@ -343,17 +344,15 @@ func (mi *MessageInfo) fieldInfoForMessageListOpaqueNoPresence(si opaqueStructIn
|
||||||
if p.IsNil() {
|
if p.IsNil() {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
sp := p.Apply(fieldOffset).AtomicGetPointer()
|
rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
|
||||||
if sp.IsNil() {
|
if rv.IsNil() {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
rv := sp.AsValueOf(fs.Type.Elem())
|
|
||||||
return rv.Elem().Len() > 0
|
return rv.Elem().Len() > 0
|
||||||
},
|
},
|
||||||
clear: func(p pointer) {
|
clear: func(p pointer) {
|
||||||
sp := p.Apply(fieldOffset).AtomicGetPointer()
|
rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
|
||||||
if !sp.IsNil() {
|
if !rv.IsNil() {
|
||||||
rv := sp.AsValueOf(fs.Type.Elem())
|
|
||||||
rv.Elem().Set(reflect.Zero(rv.Type().Elem()))
|
rv.Elem().Set(reflect.Zero(rv.Type().Elem()))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -361,11 +360,10 @@ func (mi *MessageInfo) fieldInfoForMessageListOpaqueNoPresence(si opaqueStructIn
|
||||||
if p.IsNil() {
|
if p.IsNil() {
|
||||||
return conv.Zero()
|
return conv.Zero()
|
||||||
}
|
}
|
||||||
sp := p.Apply(fieldOffset).AtomicGetPointer()
|
rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
|
||||||
if sp.IsNil() {
|
if rv.IsNil() {
|
||||||
return conv.Zero()
|
return conv.Zero()
|
||||||
}
|
}
|
||||||
rv := sp.AsValueOf(fs.Type.Elem())
|
|
||||||
if rv.Elem().Len() == 0 {
|
if rv.Elem().Len() == 0 {
|
||||||
return conv.Zero()
|
return conv.Zero()
|
||||||
}
|
}
|
||||||
|
@ -598,30 +596,3 @@ func (mi *MessageInfo) clearPresent(p pointer, index uint32) {
|
||||||
func (mi *MessageInfo) present(p pointer, index uint32) bool {
|
func (mi *MessageInfo) present(p pointer, index uint32) bool {
|
||||||
return p.Apply(mi.presenceOffset).PresenceInfo().Present(index)
|
return p.Apply(mi.presenceOffset).PresenceInfo().Present(index)
|
||||||
}
|
}
|
||||||
|
|
||||||
// usePresenceForField implements the somewhat intricate logic of when
|
|
||||||
// the presence bitmap is used for a field. The main logic is that a
|
|
||||||
// field that is optional or that can be lazy will use the presence
|
|
||||||
// bit, but for proto2, also maps have a presence bit. It also records
|
|
||||||
// if the field can ever be lazy, which is true if we have a
|
|
||||||
// lazyOffset and the field is a message or a slice of messages. A
|
|
||||||
// field that is lazy will always need a presence bit. Oneofs are not
|
|
||||||
// lazy and do not use presence, unless they are a synthetic oneof,
|
|
||||||
// which is a proto3 optional field. For proto3 optionals, we use the
|
|
||||||
// presence and they can also be lazy when applicable (a message).
|
|
||||||
func usePresenceForField(si opaqueStructInfo, fd protoreflect.FieldDescriptor) (usePresence, canBeLazy bool) {
|
|
||||||
hasLazyField := fd.(interface{ IsLazy() bool }).IsLazy()
|
|
||||||
|
|
||||||
// Non-oneof scalar fields with explicit field presence use the presence array.
|
|
||||||
usesPresenceArray := fd.HasPresence() && fd.Message() == nil && (fd.ContainingOneof() == nil || fd.ContainingOneof().IsSynthetic())
|
|
||||||
switch {
|
|
||||||
case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
|
|
||||||
return false, false
|
|
||||||
case fd.IsMap():
|
|
||||||
return false, false
|
|
||||||
case fd.Kind() == protoreflect.MessageKind || fd.Kind() == protoreflect.GroupKind:
|
|
||||||
return hasLazyField, hasLazyField
|
|
||||||
default:
|
|
||||||
return usesPresenceArray || (hasLazyField && fd.HasPresence()), false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -32,9 +32,6 @@ func (p presence) toElem(num uint32) (ret *uint32) {
|
||||||
|
|
||||||
// Present checks for the presence of a specific field number in a presence set.
|
// Present checks for the presence of a specific field number in a presence set.
|
||||||
func (p presence) Present(num uint32) bool {
|
func (p presence) Present(num uint32) bool {
|
||||||
if p.P == nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return Export{}.Present(p.toElem(num), num)
|
return Export{}.Present(p.toElem(num), num)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ import (
|
||||||
const (
|
const (
|
||||||
Major = 1
|
Major = 1
|
||||||
Minor = 36
|
Minor = 36
|
||||||
Patch = 6
|
Patch = 7
|
||||||
PreRelease = ""
|
PreRelease = ""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,8 @@ func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte {
|
||||||
b = p.appendRepeatedField(b, "public_dependency", nil)
|
b = p.appendRepeatedField(b, "public_dependency", nil)
|
||||||
case 11:
|
case 11:
|
||||||
b = p.appendRepeatedField(b, "weak_dependency", nil)
|
b = p.appendRepeatedField(b, "weak_dependency", nil)
|
||||||
|
case 15:
|
||||||
|
b = p.appendRepeatedField(b, "option_dependency", nil)
|
||||||
case 4:
|
case 4:
|
||||||
b = p.appendRepeatedField(b, "message_type", (*SourcePath).appendDescriptorProto)
|
b = p.appendRepeatedField(b, "message_type", (*SourcePath).appendDescriptorProto)
|
||||||
case 5:
|
case 5:
|
||||||
|
@ -66,6 +68,8 @@ func (p *SourcePath) appendDescriptorProto(b []byte) []byte {
|
||||||
b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendDescriptorProto_ReservedRange)
|
b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendDescriptorProto_ReservedRange)
|
||||||
case 10:
|
case 10:
|
||||||
b = p.appendRepeatedField(b, "reserved_name", nil)
|
b = p.appendRepeatedField(b, "reserved_name", nil)
|
||||||
|
case 11:
|
||||||
|
b = p.appendSingularField(b, "visibility", nil)
|
||||||
}
|
}
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
@ -85,6 +89,8 @@ func (p *SourcePath) appendEnumDescriptorProto(b []byte) []byte {
|
||||||
b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendEnumDescriptorProto_EnumReservedRange)
|
b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendEnumDescriptorProto_EnumReservedRange)
|
||||||
case 5:
|
case 5:
|
||||||
b = p.appendRepeatedField(b, "reserved_name", nil)
|
b = p.appendRepeatedField(b, "reserved_name", nil)
|
||||||
|
case 6:
|
||||||
|
b = p.appendSingularField(b, "visibility", nil)
|
||||||
}
|
}
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
@ -400,6 +406,8 @@ func (p *SourcePath) appendFeatureSet(b []byte) []byte {
|
||||||
b = p.appendSingularField(b, "json_format", nil)
|
b = p.appendSingularField(b, "json_format", nil)
|
||||||
case 7:
|
case 7:
|
||||||
b = p.appendSingularField(b, "enforce_naming_style", nil)
|
b = p.appendSingularField(b, "enforce_naming_style", nil)
|
||||||
|
case 8:
|
||||||
|
b = p.appendSingularField(b, "default_symbol_visibility", nil)
|
||||||
}
|
}
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,6 +151,70 @@ func (Edition) EnumDescriptor() ([]byte, []int) {
|
||||||
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0}
|
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Describes the 'visibility' of a symbol with respect to the proto import
|
||||||
|
// system. Symbols can only be imported when the visibility rules do not prevent
|
||||||
|
// it (ex: local symbols cannot be imported). Visibility modifiers can only set
|
||||||
|
// on `message` and `enum` as they are the only types available to be referenced
|
||||||
|
// from other files.
|
||||||
|
type SymbolVisibility int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
SymbolVisibility_VISIBILITY_UNSET SymbolVisibility = 0
|
||||||
|
SymbolVisibility_VISIBILITY_LOCAL SymbolVisibility = 1
|
||||||
|
SymbolVisibility_VISIBILITY_EXPORT SymbolVisibility = 2
|
||||||
|
)
|
||||||
|
|
||||||
|
// Enum value maps for SymbolVisibility.
|
||||||
|
var (
|
||||||
|
SymbolVisibility_name = map[int32]string{
|
||||||
|
0: "VISIBILITY_UNSET",
|
||||||
|
1: "VISIBILITY_LOCAL",
|
||||||
|
2: "VISIBILITY_EXPORT",
|
||||||
|
}
|
||||||
|
SymbolVisibility_value = map[string]int32{
|
||||||
|
"VISIBILITY_UNSET": 0,
|
||||||
|
"VISIBILITY_LOCAL": 1,
|
||||||
|
"VISIBILITY_EXPORT": 2,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func (x SymbolVisibility) Enum() *SymbolVisibility {
|
||||||
|
p := new(SymbolVisibility)
|
||||||
|
*p = x
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x SymbolVisibility) String() string {
|
||||||
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (SymbolVisibility) Descriptor() protoreflect.EnumDescriptor {
|
||||||
|
return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (SymbolVisibility) Type() protoreflect.EnumType {
|
||||||
|
return &file_google_protobuf_descriptor_proto_enumTypes[1]
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x SymbolVisibility) Number() protoreflect.EnumNumber {
|
||||||
|
return protoreflect.EnumNumber(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Do not use.
|
||||||
|
func (x *SymbolVisibility) UnmarshalJSON(b []byte) error {
|
||||||
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*x = SymbolVisibility(num)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use SymbolVisibility.Descriptor instead.
|
||||||
|
func (SymbolVisibility) EnumDescriptor() ([]byte, []int) {
|
||||||
|
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{1}
|
||||||
|
}
|
||||||
|
|
||||||
// The verification state of the extension range.
|
// The verification state of the extension range.
|
||||||
type ExtensionRangeOptions_VerificationState int32
|
type ExtensionRangeOptions_VerificationState int32
|
||||||
|
|
||||||
|
@ -183,11 +247,11 @@ func (x ExtensionRangeOptions_VerificationState) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ExtensionRangeOptions_VerificationState) Descriptor() protoreflect.EnumDescriptor {
|
func (ExtensionRangeOptions_VerificationState) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[1].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ExtensionRangeOptions_VerificationState) Type() protoreflect.EnumType {
|
func (ExtensionRangeOptions_VerificationState) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[1]
|
return &file_google_protobuf_descriptor_proto_enumTypes[2]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x ExtensionRangeOptions_VerificationState) Number() protoreflect.EnumNumber {
|
func (x ExtensionRangeOptions_VerificationState) Number() protoreflect.EnumNumber {
|
||||||
|
@ -299,11 +363,11 @@ func (x FieldDescriptorProto_Type) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor {
|
func (FieldDescriptorProto_Type) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[2].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldDescriptorProto_Type) Type() protoreflect.EnumType {
|
func (FieldDescriptorProto_Type) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[2]
|
return &file_google_protobuf_descriptor_proto_enumTypes[3]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber {
|
func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber {
|
||||||
|
@ -362,11 +426,11 @@ func (x FieldDescriptorProto_Label) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor {
|
func (FieldDescriptorProto_Label) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[3].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldDescriptorProto_Label) Type() protoreflect.EnumType {
|
func (FieldDescriptorProto_Label) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[3]
|
return &file_google_protobuf_descriptor_proto_enumTypes[4]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber {
|
func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber {
|
||||||
|
@ -423,11 +487,11 @@ func (x FileOptions_OptimizeMode) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor {
|
func (FileOptions_OptimizeMode) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[4].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FileOptions_OptimizeMode) Type() protoreflect.EnumType {
|
func (FileOptions_OptimizeMode) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[4]
|
return &file_google_protobuf_descriptor_proto_enumTypes[5]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber {
|
func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber {
|
||||||
|
@ -489,11 +553,11 @@ func (x FieldOptions_CType) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor {
|
func (FieldOptions_CType) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[5].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldOptions_CType) Type() protoreflect.EnumType {
|
func (FieldOptions_CType) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[5]
|
return &file_google_protobuf_descriptor_proto_enumTypes[6]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FieldOptions_CType) Number() protoreflect.EnumNumber {
|
func (x FieldOptions_CType) Number() protoreflect.EnumNumber {
|
||||||
|
@ -551,11 +615,11 @@ func (x FieldOptions_JSType) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor {
|
func (FieldOptions_JSType) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[6].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldOptions_JSType) Type() protoreflect.EnumType {
|
func (FieldOptions_JSType) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[6]
|
return &file_google_protobuf_descriptor_proto_enumTypes[7]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FieldOptions_JSType) Number() protoreflect.EnumNumber {
|
func (x FieldOptions_JSType) Number() protoreflect.EnumNumber {
|
||||||
|
@ -611,11 +675,11 @@ func (x FieldOptions_OptionRetention) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldOptions_OptionRetention) Descriptor() protoreflect.EnumDescriptor {
|
func (FieldOptions_OptionRetention) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[7].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldOptions_OptionRetention) Type() protoreflect.EnumType {
|
func (FieldOptions_OptionRetention) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[7]
|
return &file_google_protobuf_descriptor_proto_enumTypes[8]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FieldOptions_OptionRetention) Number() protoreflect.EnumNumber {
|
func (x FieldOptions_OptionRetention) Number() protoreflect.EnumNumber {
|
||||||
|
@ -694,11 +758,11 @@ func (x FieldOptions_OptionTargetType) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldOptions_OptionTargetType) Descriptor() protoreflect.EnumDescriptor {
|
func (FieldOptions_OptionTargetType) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[8].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[9].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FieldOptions_OptionTargetType) Type() protoreflect.EnumType {
|
func (FieldOptions_OptionTargetType) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[8]
|
return &file_google_protobuf_descriptor_proto_enumTypes[9]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FieldOptions_OptionTargetType) Number() protoreflect.EnumNumber {
|
func (x FieldOptions_OptionTargetType) Number() protoreflect.EnumNumber {
|
||||||
|
@ -756,11 +820,11 @@ func (x MethodOptions_IdempotencyLevel) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor {
|
func (MethodOptions_IdempotencyLevel) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[9].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[10].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType {
|
func (MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[9]
|
return &file_google_protobuf_descriptor_proto_enumTypes[10]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber {
|
func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber {
|
||||||
|
@ -818,11 +882,11 @@ func (x FeatureSet_FieldPresence) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_FieldPresence) Descriptor() protoreflect.EnumDescriptor {
|
func (FeatureSet_FieldPresence) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[10].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[11].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_FieldPresence) Type() protoreflect.EnumType {
|
func (FeatureSet_FieldPresence) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[10]
|
return &file_google_protobuf_descriptor_proto_enumTypes[11]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FeatureSet_FieldPresence) Number() protoreflect.EnumNumber {
|
func (x FeatureSet_FieldPresence) Number() protoreflect.EnumNumber {
|
||||||
|
@ -877,11 +941,11 @@ func (x FeatureSet_EnumType) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_EnumType) Descriptor() protoreflect.EnumDescriptor {
|
func (FeatureSet_EnumType) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[11].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[12].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_EnumType) Type() protoreflect.EnumType {
|
func (FeatureSet_EnumType) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[11]
|
return &file_google_protobuf_descriptor_proto_enumTypes[12]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FeatureSet_EnumType) Number() protoreflect.EnumNumber {
|
func (x FeatureSet_EnumType) Number() protoreflect.EnumNumber {
|
||||||
|
@ -936,11 +1000,11 @@ func (x FeatureSet_RepeatedFieldEncoding) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_RepeatedFieldEncoding) Descriptor() protoreflect.EnumDescriptor {
|
func (FeatureSet_RepeatedFieldEncoding) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[12].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[13].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_RepeatedFieldEncoding) Type() protoreflect.EnumType {
|
func (FeatureSet_RepeatedFieldEncoding) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[12]
|
return &file_google_protobuf_descriptor_proto_enumTypes[13]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FeatureSet_RepeatedFieldEncoding) Number() protoreflect.EnumNumber {
|
func (x FeatureSet_RepeatedFieldEncoding) Number() protoreflect.EnumNumber {
|
||||||
|
@ -995,11 +1059,11 @@ func (x FeatureSet_Utf8Validation) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_Utf8Validation) Descriptor() protoreflect.EnumDescriptor {
|
func (FeatureSet_Utf8Validation) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[13].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[14].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_Utf8Validation) Type() protoreflect.EnumType {
|
func (FeatureSet_Utf8Validation) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[13]
|
return &file_google_protobuf_descriptor_proto_enumTypes[14]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FeatureSet_Utf8Validation) Number() protoreflect.EnumNumber {
|
func (x FeatureSet_Utf8Validation) Number() protoreflect.EnumNumber {
|
||||||
|
@ -1054,11 +1118,11 @@ func (x FeatureSet_MessageEncoding) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_MessageEncoding) Descriptor() protoreflect.EnumDescriptor {
|
func (FeatureSet_MessageEncoding) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[14].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[15].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_MessageEncoding) Type() protoreflect.EnumType {
|
func (FeatureSet_MessageEncoding) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[14]
|
return &file_google_protobuf_descriptor_proto_enumTypes[15]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FeatureSet_MessageEncoding) Number() protoreflect.EnumNumber {
|
func (x FeatureSet_MessageEncoding) Number() protoreflect.EnumNumber {
|
||||||
|
@ -1113,11 +1177,11 @@ func (x FeatureSet_JsonFormat) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_JsonFormat) Descriptor() protoreflect.EnumDescriptor {
|
func (FeatureSet_JsonFormat) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[15].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[16].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_JsonFormat) Type() protoreflect.EnumType {
|
func (FeatureSet_JsonFormat) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[15]
|
return &file_google_protobuf_descriptor_proto_enumTypes[16]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FeatureSet_JsonFormat) Number() protoreflect.EnumNumber {
|
func (x FeatureSet_JsonFormat) Number() protoreflect.EnumNumber {
|
||||||
|
@ -1172,11 +1236,11 @@ func (x FeatureSet_EnforceNamingStyle) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_EnforceNamingStyle) Descriptor() protoreflect.EnumDescriptor {
|
func (FeatureSet_EnforceNamingStyle) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[16].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[17].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (FeatureSet_EnforceNamingStyle) Type() protoreflect.EnumType {
|
func (FeatureSet_EnforceNamingStyle) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[16]
|
return &file_google_protobuf_descriptor_proto_enumTypes[17]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x FeatureSet_EnforceNamingStyle) Number() protoreflect.EnumNumber {
|
func (x FeatureSet_EnforceNamingStyle) Number() protoreflect.EnumNumber {
|
||||||
|
@ -1198,6 +1262,77 @@ func (FeatureSet_EnforceNamingStyle) EnumDescriptor() ([]byte, []int) {
|
||||||
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 6}
|
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 6}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type FeatureSet_VisibilityFeature_DefaultSymbolVisibility int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 0
|
||||||
|
// Default pre-EDITION_2024, all UNSET visibility are export.
|
||||||
|
FeatureSet_VisibilityFeature_EXPORT_ALL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 1
|
||||||
|
// All top-level symbols default to export, nested default to local.
|
||||||
|
FeatureSet_VisibilityFeature_EXPORT_TOP_LEVEL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 2
|
||||||
|
// All symbols default to local.
|
||||||
|
FeatureSet_VisibilityFeature_LOCAL_ALL FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 3
|
||||||
|
// All symbols local by default. Nested types cannot be exported.
|
||||||
|
// With special case caveat for message { enum {} reserved 1 to max; }
|
||||||
|
// This is the recommended setting for new protos.
|
||||||
|
FeatureSet_VisibilityFeature_STRICT FeatureSet_VisibilityFeature_DefaultSymbolVisibility = 4
|
||||||
|
)
|
||||||
|
|
||||||
|
// Enum value maps for FeatureSet_VisibilityFeature_DefaultSymbolVisibility.
|
||||||
|
var (
|
||||||
|
FeatureSet_VisibilityFeature_DefaultSymbolVisibility_name = map[int32]string{
|
||||||
|
0: "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",
|
||||||
|
1: "EXPORT_ALL",
|
||||||
|
2: "EXPORT_TOP_LEVEL",
|
||||||
|
3: "LOCAL_ALL",
|
||||||
|
4: "STRICT",
|
||||||
|
}
|
||||||
|
FeatureSet_VisibilityFeature_DefaultSymbolVisibility_value = map[string]int32{
|
||||||
|
"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0,
|
||||||
|
"EXPORT_ALL": 1,
|
||||||
|
"EXPORT_TOP_LEVEL": 2,
|
||||||
|
"LOCAL_ALL": 3,
|
||||||
|
"STRICT": 4,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Enum() *FeatureSet_VisibilityFeature_DefaultSymbolVisibility {
|
||||||
|
p := new(FeatureSet_VisibilityFeature_DefaultSymbolVisibility)
|
||||||
|
*p = x
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) String() string {
|
||||||
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Descriptor() protoreflect.EnumDescriptor {
|
||||||
|
return file_google_protobuf_descriptor_proto_enumTypes[18].Descriptor()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Type() protoreflect.EnumType {
|
||||||
|
return &file_google_protobuf_descriptor_proto_enumTypes[18]
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x FeatureSet_VisibilityFeature_DefaultSymbolVisibility) Number() protoreflect.EnumNumber {
|
||||||
|
return protoreflect.EnumNumber(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Do not use.
|
||||||
|
func (x *FeatureSet_VisibilityFeature_DefaultSymbolVisibility) UnmarshalJSON(b []byte) error {
|
||||||
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*x = FeatureSet_VisibilityFeature_DefaultSymbolVisibility(num)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use FeatureSet_VisibilityFeature_DefaultSymbolVisibility.Descriptor instead.
|
||||||
|
func (FeatureSet_VisibilityFeature_DefaultSymbolVisibility) EnumDescriptor() ([]byte, []int) {
|
||||||
|
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0, 0}
|
||||||
|
}
|
||||||
|
|
||||||
// Represents the identified object's effect on the element in the original
|
// Represents the identified object's effect on the element in the original
|
||||||
// .proto file.
|
// .proto file.
|
||||||
type GeneratedCodeInfo_Annotation_Semantic int32
|
type GeneratedCodeInfo_Annotation_Semantic int32
|
||||||
|
@ -1236,11 +1371,11 @@ func (x GeneratedCodeInfo_Annotation_Semantic) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (GeneratedCodeInfo_Annotation_Semantic) Descriptor() protoreflect.EnumDescriptor {
|
func (GeneratedCodeInfo_Annotation_Semantic) Descriptor() protoreflect.EnumDescriptor {
|
||||||
return file_google_protobuf_descriptor_proto_enumTypes[17].Descriptor()
|
return file_google_protobuf_descriptor_proto_enumTypes[19].Descriptor()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (GeneratedCodeInfo_Annotation_Semantic) Type() protoreflect.EnumType {
|
func (GeneratedCodeInfo_Annotation_Semantic) Type() protoreflect.EnumType {
|
||||||
return &file_google_protobuf_descriptor_proto_enumTypes[17]
|
return &file_google_protobuf_descriptor_proto_enumTypes[19]
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x GeneratedCodeInfo_Annotation_Semantic) Number() protoreflect.EnumNumber {
|
func (x GeneratedCodeInfo_Annotation_Semantic) Number() protoreflect.EnumNumber {
|
||||||
|
@ -1321,6 +1456,9 @@ type FileDescriptorProto struct {
|
||||||
// Indexes of the weak imported files in the dependency list.
|
// Indexes of the weak imported files in the dependency list.
|
||||||
// For Google-internal migration only. Do not use.
|
// For Google-internal migration only. Do not use.
|
||||||
WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
|
WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
|
||||||
|
// Names of files imported by this file purely for the purpose of providing
|
||||||
|
// option extensions. These are excluded from the dependency list above.
|
||||||
|
OptionDependency []string `protobuf:"bytes,15,rep,name=option_dependency,json=optionDependency" json:"option_dependency,omitempty"`
|
||||||
// All top-level definitions in this file.
|
// All top-level definitions in this file.
|
||||||
MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
|
MessageType []*DescriptorProto `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
|
||||||
EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
|
EnumType []*EnumDescriptorProto `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
|
||||||
|
@ -1414,6 +1552,13 @@ func (x *FileDescriptorProto) GetWeakDependency() []int32 {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *FileDescriptorProto) GetOptionDependency() []string {
|
||||||
|
if x != nil {
|
||||||
|
return x.OptionDependency
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto {
|
func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.MessageType
|
return x.MessageType
|
||||||
|
@ -1484,7 +1629,9 @@ type DescriptorProto struct {
|
||||||
ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
|
ReservedRange []*DescriptorProto_ReservedRange `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
|
||||||
// Reserved field names, which may not be used by fields in the same message.
|
// Reserved field names, which may not be used by fields in the same message.
|
||||||
// A given name may only be reserved once.
|
// A given name may only be reserved once.
|
||||||
ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
|
ReservedName []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
|
||||||
|
// Support for `export` and `local` keywords on enums.
|
||||||
|
Visibility *SymbolVisibility `protobuf:"varint,11,opt,name=visibility,enum=google.protobuf.SymbolVisibility" json:"visibility,omitempty"`
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
}
|
}
|
||||||
|
@ -1589,6 +1736,13 @@ func (x *DescriptorProto) GetReservedName() []string {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *DescriptorProto) GetVisibility() SymbolVisibility {
|
||||||
|
if x != nil && x.Visibility != nil {
|
||||||
|
return *x.Visibility
|
||||||
|
}
|
||||||
|
return SymbolVisibility_VISIBILITY_UNSET
|
||||||
|
}
|
||||||
|
|
||||||
type ExtensionRangeOptions struct {
|
type ExtensionRangeOptions struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
// The parser stores options it doesn't recognize here. See above.
|
// The parser stores options it doesn't recognize here. See above.
|
||||||
|
@ -1901,7 +2055,9 @@ type EnumDescriptorProto struct {
|
||||||
ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
|
ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
|
||||||
// Reserved enum value names, which may not be reused. A given name may only
|
// Reserved enum value names, which may not be reused. A given name may only
|
||||||
// be reserved once.
|
// be reserved once.
|
||||||
ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
|
ReservedName []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
|
||||||
|
// Support for `export` and `local` keywords on enums.
|
||||||
|
Visibility *SymbolVisibility `protobuf:"varint,6,opt,name=visibility,enum=google.protobuf.SymbolVisibility" json:"visibility,omitempty"`
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
}
|
}
|
||||||
|
@ -1971,6 +2127,13 @@ func (x *EnumDescriptorProto) GetReservedName() []string {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *EnumDescriptorProto) GetVisibility() SymbolVisibility {
|
||||||
|
if x != nil && x.Visibility != nil {
|
||||||
|
return *x.Visibility
|
||||||
|
}
|
||||||
|
return SymbolVisibility_VISIBILITY_UNSET
|
||||||
|
}
|
||||||
|
|
||||||
// Describes a value within an enum.
|
// Describes a value within an enum.
|
||||||
type EnumValueDescriptorProto struct {
|
type EnumValueDescriptorProto struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
|
@ -3392,17 +3555,18 @@ func (x *UninterpretedOption) GetAggregateValue() string {
|
||||||
// be designed and implemented to handle this, hopefully before we ever hit a
|
// be designed and implemented to handle this, hopefully before we ever hit a
|
||||||
// conflict here.
|
// conflict here.
|
||||||
type FeatureSet struct {
|
type FeatureSet struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
FieldPresence *FeatureSet_FieldPresence `protobuf:"varint,1,opt,name=field_presence,json=fieldPresence,enum=google.protobuf.FeatureSet_FieldPresence" json:"field_presence,omitempty"`
|
FieldPresence *FeatureSet_FieldPresence `protobuf:"varint,1,opt,name=field_presence,json=fieldPresence,enum=google.protobuf.FeatureSet_FieldPresence" json:"field_presence,omitempty"`
|
||||||
EnumType *FeatureSet_EnumType `protobuf:"varint,2,opt,name=enum_type,json=enumType,enum=google.protobuf.FeatureSet_EnumType" json:"enum_type,omitempty"`
|
EnumType *FeatureSet_EnumType `protobuf:"varint,2,opt,name=enum_type,json=enumType,enum=google.protobuf.FeatureSet_EnumType" json:"enum_type,omitempty"`
|
||||||
RepeatedFieldEncoding *FeatureSet_RepeatedFieldEncoding `protobuf:"varint,3,opt,name=repeated_field_encoding,json=repeatedFieldEncoding,enum=google.protobuf.FeatureSet_RepeatedFieldEncoding" json:"repeated_field_encoding,omitempty"`
|
RepeatedFieldEncoding *FeatureSet_RepeatedFieldEncoding `protobuf:"varint,3,opt,name=repeated_field_encoding,json=repeatedFieldEncoding,enum=google.protobuf.FeatureSet_RepeatedFieldEncoding" json:"repeated_field_encoding,omitempty"`
|
||||||
Utf8Validation *FeatureSet_Utf8Validation `protobuf:"varint,4,opt,name=utf8_validation,json=utf8Validation,enum=google.protobuf.FeatureSet_Utf8Validation" json:"utf8_validation,omitempty"`
|
Utf8Validation *FeatureSet_Utf8Validation `protobuf:"varint,4,opt,name=utf8_validation,json=utf8Validation,enum=google.protobuf.FeatureSet_Utf8Validation" json:"utf8_validation,omitempty"`
|
||||||
MessageEncoding *FeatureSet_MessageEncoding `protobuf:"varint,5,opt,name=message_encoding,json=messageEncoding,enum=google.protobuf.FeatureSet_MessageEncoding" json:"message_encoding,omitempty"`
|
MessageEncoding *FeatureSet_MessageEncoding `protobuf:"varint,5,opt,name=message_encoding,json=messageEncoding,enum=google.protobuf.FeatureSet_MessageEncoding" json:"message_encoding,omitempty"`
|
||||||
JsonFormat *FeatureSet_JsonFormat `protobuf:"varint,6,opt,name=json_format,json=jsonFormat,enum=google.protobuf.FeatureSet_JsonFormat" json:"json_format,omitempty"`
|
JsonFormat *FeatureSet_JsonFormat `protobuf:"varint,6,opt,name=json_format,json=jsonFormat,enum=google.protobuf.FeatureSet_JsonFormat" json:"json_format,omitempty"`
|
||||||
EnforceNamingStyle *FeatureSet_EnforceNamingStyle `protobuf:"varint,7,opt,name=enforce_naming_style,json=enforceNamingStyle,enum=google.protobuf.FeatureSet_EnforceNamingStyle" json:"enforce_naming_style,omitempty"`
|
EnforceNamingStyle *FeatureSet_EnforceNamingStyle `protobuf:"varint,7,opt,name=enforce_naming_style,json=enforceNamingStyle,enum=google.protobuf.FeatureSet_EnforceNamingStyle" json:"enforce_naming_style,omitempty"`
|
||||||
extensionFields protoimpl.ExtensionFields
|
DefaultSymbolVisibility *FeatureSet_VisibilityFeature_DefaultSymbolVisibility `protobuf:"varint,8,opt,name=default_symbol_visibility,json=defaultSymbolVisibility,enum=google.protobuf.FeatureSet_VisibilityFeature_DefaultSymbolVisibility" json:"default_symbol_visibility,omitempty"`
|
||||||
unknownFields protoimpl.UnknownFields
|
extensionFields protoimpl.ExtensionFields
|
||||||
sizeCache protoimpl.SizeCache
|
unknownFields protoimpl.UnknownFields
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FeatureSet) Reset() {
|
func (x *FeatureSet) Reset() {
|
||||||
|
@ -3484,6 +3648,13 @@ func (x *FeatureSet) GetEnforceNamingStyle() FeatureSet_EnforceNamingStyle {
|
||||||
return FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN
|
return FeatureSet_ENFORCE_NAMING_STYLE_UNKNOWN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *FeatureSet) GetDefaultSymbolVisibility() FeatureSet_VisibilityFeature_DefaultSymbolVisibility {
|
||||||
|
if x != nil && x.DefaultSymbolVisibility != nil {
|
||||||
|
return *x.DefaultSymbolVisibility
|
||||||
|
}
|
||||||
|
return FeatureSet_VisibilityFeature_DEFAULT_SYMBOL_VISIBILITY_UNKNOWN
|
||||||
|
}
|
||||||
|
|
||||||
// A compiled specification for the defaults of a set of features. These
|
// A compiled specification for the defaults of a set of features. These
|
||||||
// messages are generated from FeatureSet extensions and can be used to seed
|
// messages are generated from FeatureSet extensions and can be used to seed
|
||||||
// feature resolution. The resolution with this object becomes a simple search
|
// feature resolution. The resolution with this object becomes a simple search
|
||||||
|
@ -4144,6 +4315,42 @@ func (x *UninterpretedOption_NamePart) GetIsExtension() bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type FeatureSet_VisibilityFeature struct {
|
||||||
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *FeatureSet_VisibilityFeature) Reset() {
|
||||||
|
*x = FeatureSet_VisibilityFeature{}
|
||||||
|
mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *FeatureSet_VisibilityFeature) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*FeatureSet_VisibilityFeature) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *FeatureSet_VisibilityFeature) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
|
||||||
|
if x != nil {
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
return ms
|
||||||
|
}
|
||||||
|
return mi.MessageOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use FeatureSet_VisibilityFeature.ProtoReflect.Descriptor instead.
|
||||||
|
func (*FeatureSet_VisibilityFeature) Descriptor() ([]byte, []int) {
|
||||||
|
return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{19, 0}
|
||||||
|
}
|
||||||
|
|
||||||
// A map from every known edition with a unique set of defaults to its
|
// A map from every known edition with a unique set of defaults to its
|
||||||
// defaults. Not all editions may be contained here. For a given edition,
|
// defaults. Not all editions may be contained here. For a given edition,
|
||||||
// the defaults at the closest matching edition ordered at or before it should
|
// the defaults at the closest matching edition ordered at or before it should
|
||||||
|
@ -4161,7 +4368,7 @@ type FeatureSetDefaults_FeatureSetEditionDefault struct {
|
||||||
|
|
||||||
func (x *FeatureSetDefaults_FeatureSetEditionDefault) Reset() {
|
func (x *FeatureSetDefaults_FeatureSetEditionDefault) Reset() {
|
||||||
*x = FeatureSetDefaults_FeatureSetEditionDefault{}
|
*x = FeatureSetDefaults_FeatureSetEditionDefault{}
|
||||||
mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
|
mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -4173,7 +4380,7 @@ func (x *FeatureSetDefaults_FeatureSetEditionDefault) String() string {
|
||||||
func (*FeatureSetDefaults_FeatureSetEditionDefault) ProtoMessage() {}
|
func (*FeatureSetDefaults_FeatureSetEditionDefault) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *FeatureSetDefaults_FeatureSetEditionDefault) ProtoReflect() protoreflect.Message {
|
func (x *FeatureSetDefaults_FeatureSetEditionDefault) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
|
mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -4309,7 +4516,7 @@ type SourceCodeInfo_Location struct {
|
||||||
|
|
||||||
func (x *SourceCodeInfo_Location) Reset() {
|
func (x *SourceCodeInfo_Location) Reset() {
|
||||||
*x = SourceCodeInfo_Location{}
|
*x = SourceCodeInfo_Location{}
|
||||||
mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
|
mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -4321,7 +4528,7 @@ func (x *SourceCodeInfo_Location) String() string {
|
||||||
func (*SourceCodeInfo_Location) ProtoMessage() {}
|
func (*SourceCodeInfo_Location) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message {
|
func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
|
mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -4393,7 +4600,7 @@ type GeneratedCodeInfo_Annotation struct {
|
||||||
|
|
||||||
func (x *GeneratedCodeInfo_Annotation) Reset() {
|
func (x *GeneratedCodeInfo_Annotation) Reset() {
|
||||||
*x = GeneratedCodeInfo_Annotation{}
|
*x = GeneratedCodeInfo_Annotation{}
|
||||||
mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
|
mi := &file_google_protobuf_descriptor_proto_msgTypes[33]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
|
@ -4405,7 +4612,7 @@ func (x *GeneratedCodeInfo_Annotation) String() string {
|
||||||
func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
|
func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message {
|
func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
|
mi := &file_google_protobuf_descriptor_proto_msgTypes[33]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
|
@ -4462,7 +4669,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
|
||||||
"\n" +
|
"\n" +
|
||||||
" google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"[\n" +
|
" google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"[\n" +
|
||||||
"\x11FileDescriptorSet\x128\n" +
|
"\x11FileDescriptorSet\x128\n" +
|
||||||
"\x04file\x18\x01 \x03(\v2$.google.protobuf.FileDescriptorProtoR\x04file*\f\b\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\x98\x05\n" +
|
"\x04file\x18\x01 \x03(\v2$.google.protobuf.FileDescriptorProtoR\x04file*\f\b\x80\xec\xca\xff\x01\x10\x81\xec\xca\xff\x01\"\xc5\x05\n" +
|
||||||
"\x13FileDescriptorProto\x12\x12\n" +
|
"\x13FileDescriptorProto\x12\x12\n" +
|
||||||
"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
|
"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
|
||||||
"\apackage\x18\x02 \x01(\tR\apackage\x12\x1e\n" +
|
"\apackage\x18\x02 \x01(\tR\apackage\x12\x1e\n" +
|
||||||
|
@ -4471,7 +4678,8 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
|
||||||
"dependency\x12+\n" +
|
"dependency\x12+\n" +
|
||||||
"\x11public_dependency\x18\n" +
|
"\x11public_dependency\x18\n" +
|
||||||
" \x03(\x05R\x10publicDependency\x12'\n" +
|
" \x03(\x05R\x10publicDependency\x12'\n" +
|
||||||
"\x0fweak_dependency\x18\v \x03(\x05R\x0eweakDependency\x12C\n" +
|
"\x0fweak_dependency\x18\v \x03(\x05R\x0eweakDependency\x12+\n" +
|
||||||
|
"\x11option_dependency\x18\x0f \x03(\tR\x10optionDependency\x12C\n" +
|
||||||
"\fmessage_type\x18\x04 \x03(\v2 .google.protobuf.DescriptorProtoR\vmessageType\x12A\n" +
|
"\fmessage_type\x18\x04 \x03(\v2 .google.protobuf.DescriptorProtoR\vmessageType\x12A\n" +
|
||||||
"\tenum_type\x18\x05 \x03(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\x12A\n" +
|
"\tenum_type\x18\x05 \x03(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\x12A\n" +
|
||||||
"\aservice\x18\x06 \x03(\v2'.google.protobuf.ServiceDescriptorProtoR\aservice\x12C\n" +
|
"\aservice\x18\x06 \x03(\v2'.google.protobuf.ServiceDescriptorProtoR\aservice\x12C\n" +
|
||||||
|
@ -4479,7 +4687,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
|
||||||
"\aoptions\x18\b \x01(\v2\x1c.google.protobuf.FileOptionsR\aoptions\x12I\n" +
|
"\aoptions\x18\b \x01(\v2\x1c.google.protobuf.FileOptionsR\aoptions\x12I\n" +
|
||||||
"\x10source_code_info\x18\t \x01(\v2\x1f.google.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\n" +
|
"\x10source_code_info\x18\t \x01(\v2\x1f.google.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\n" +
|
||||||
"\x06syntax\x18\f \x01(\tR\x06syntax\x122\n" +
|
"\x06syntax\x18\f \x01(\tR\x06syntax\x122\n" +
|
||||||
"\aedition\x18\x0e \x01(\x0e2\x18.google.protobuf.EditionR\aedition\"\xb9\x06\n" +
|
"\aedition\x18\x0e \x01(\x0e2\x18.google.protobuf.EditionR\aedition\"\xfc\x06\n" +
|
||||||
"\x0fDescriptorProto\x12\x12\n" +
|
"\x0fDescriptorProto\x12\x12\n" +
|
||||||
"\x04name\x18\x01 \x01(\tR\x04name\x12;\n" +
|
"\x04name\x18\x01 \x01(\tR\x04name\x12;\n" +
|
||||||
"\x05field\x18\x02 \x03(\v2%.google.protobuf.FieldDescriptorProtoR\x05field\x12C\n" +
|
"\x05field\x18\x02 \x03(\v2%.google.protobuf.FieldDescriptorProtoR\x05field\x12C\n" +
|
||||||
|
@ -4493,7 +4701,10 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
|
||||||
"\aoptions\x18\a \x01(\v2\x1f.google.protobuf.MessageOptionsR\aoptions\x12U\n" +
|
"\aoptions\x18\a \x01(\v2\x1f.google.protobuf.MessageOptionsR\aoptions\x12U\n" +
|
||||||
"\x0ereserved_range\x18\t \x03(\v2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\x12#\n" +
|
"\x0ereserved_range\x18\t \x03(\v2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\x12#\n" +
|
||||||
"\rreserved_name\x18\n" +
|
"\rreserved_name\x18\n" +
|
||||||
" \x03(\tR\freservedName\x1az\n" +
|
" \x03(\tR\freservedName\x12A\n" +
|
||||||
|
"\n" +
|
||||||
|
"visibility\x18\v \x01(\x0e2!.google.protobuf.SymbolVisibilityR\n" +
|
||||||
|
"visibility\x1az\n" +
|
||||||
"\x0eExtensionRange\x12\x14\n" +
|
"\x0eExtensionRange\x12\x14\n" +
|
||||||
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" +
|
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" +
|
||||||
"\x03end\x18\x02 \x01(\x05R\x03end\x12@\n" +
|
"\x03end\x18\x02 \x01(\x05R\x03end\x12@\n" +
|
||||||
|
@ -4562,13 +4773,16 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
|
||||||
"\x0eLABEL_REQUIRED\x10\x02\"c\n" +
|
"\x0eLABEL_REQUIRED\x10\x02\"c\n" +
|
||||||
"\x14OneofDescriptorProto\x12\x12\n" +
|
"\x14OneofDescriptorProto\x12\x12\n" +
|
||||||
"\x04name\x18\x01 \x01(\tR\x04name\x127\n" +
|
"\x04name\x18\x01 \x01(\tR\x04name\x127\n" +
|
||||||
"\aoptions\x18\x02 \x01(\v2\x1d.google.protobuf.OneofOptionsR\aoptions\"\xe3\x02\n" +
|
"\aoptions\x18\x02 \x01(\v2\x1d.google.protobuf.OneofOptionsR\aoptions\"\xa6\x03\n" +
|
||||||
"\x13EnumDescriptorProto\x12\x12\n" +
|
"\x13EnumDescriptorProto\x12\x12\n" +
|
||||||
"\x04name\x18\x01 \x01(\tR\x04name\x12?\n" +
|
"\x04name\x18\x01 \x01(\tR\x04name\x12?\n" +
|
||||||
"\x05value\x18\x02 \x03(\v2).google.protobuf.EnumValueDescriptorProtoR\x05value\x126\n" +
|
"\x05value\x18\x02 \x03(\v2).google.protobuf.EnumValueDescriptorProtoR\x05value\x126\n" +
|
||||||
"\aoptions\x18\x03 \x01(\v2\x1c.google.protobuf.EnumOptionsR\aoptions\x12]\n" +
|
"\aoptions\x18\x03 \x01(\v2\x1c.google.protobuf.EnumOptionsR\aoptions\x12]\n" +
|
||||||
"\x0ereserved_range\x18\x04 \x03(\v26.google.protobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\x12#\n" +
|
"\x0ereserved_range\x18\x04 \x03(\v26.google.protobuf.EnumDescriptorProto.EnumReservedRangeR\rreservedRange\x12#\n" +
|
||||||
"\rreserved_name\x18\x05 \x03(\tR\freservedName\x1a;\n" +
|
"\rreserved_name\x18\x05 \x03(\tR\freservedName\x12A\n" +
|
||||||
|
"\n" +
|
||||||
|
"visibility\x18\x06 \x01(\x0e2!.google.protobuf.SymbolVisibilityR\n" +
|
||||||
|
"visibility\x1a;\n" +
|
||||||
"\x11EnumReservedRange\x12\x14\n" +
|
"\x11EnumReservedRange\x12\x14\n" +
|
||||||
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" +
|
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" +
|
||||||
"\x03end\x18\x02 \x01(\x05R\x03end\"\x83\x01\n" +
|
"\x03end\x18\x02 \x01(\x05R\x03end\"\x83\x01\n" +
|
||||||
|
@ -4728,7 +4942,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
|
||||||
"\x0faggregate_value\x18\b \x01(\tR\x0eaggregateValue\x1aJ\n" +
|
"\x0faggregate_value\x18\b \x01(\tR\x0eaggregateValue\x1aJ\n" +
|
||||||
"\bNamePart\x12\x1b\n" +
|
"\bNamePart\x12\x1b\n" +
|
||||||
"\tname_part\x18\x01 \x02(\tR\bnamePart\x12!\n" +
|
"\tname_part\x18\x01 \x02(\tR\bnamePart\x12!\n" +
|
||||||
"\fis_extension\x18\x02 \x02(\bR\visExtension\"\xae\f\n" +
|
"\fis_extension\x18\x02 \x02(\bR\visExtension\"\x8e\x0f\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
"FeatureSet\x12\x91\x01\n" +
|
"FeatureSet\x12\x91\x01\n" +
|
||||||
"\x0efield_presence\x18\x01 \x01(\x0e2).google.protobuf.FeatureSet.FieldPresenceB?\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\bEXPLICIT\x18\x84\a\xa2\x01\r\x12\bIMPLICIT\x18\xe7\a\xa2\x01\r\x12\bEXPLICIT\x18\xe8\a\xb2\x01\x03\b\xe8\aR\rfieldPresence\x12l\n" +
|
"\x0efield_presence\x18\x01 \x01(\x0e2).google.protobuf.FeatureSet.FieldPresenceB?\x88\x01\x01\x98\x01\x04\x98\x01\x01\xa2\x01\r\x12\bEXPLICIT\x18\x84\a\xa2\x01\r\x12\bIMPLICIT\x18\xe7\a\xa2\x01\r\x12\bEXPLICIT\x18\xe8\a\xb2\x01\x03\b\xe8\aR\rfieldPresence\x12l\n" +
|
||||||
|
@ -4739,7 +4953,18 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
|
||||||
"\vjson_format\x18\x06 \x01(\x0e2&.google.protobuf.FeatureSet.JsonFormatB9\x88\x01\x01\x98\x01\x03\x98\x01\x06\x98\x01\x01\xa2\x01\x17\x12\x12LEGACY_BEST_EFFORT\x18\x84\a\xa2\x01\n" +
|
"\vjson_format\x18\x06 \x01(\x0e2&.google.protobuf.FeatureSet.JsonFormatB9\x88\x01\x01\x98\x01\x03\x98\x01\x06\x98\x01\x01\xa2\x01\x17\x12\x12LEGACY_BEST_EFFORT\x18\x84\a\xa2\x01\n" +
|
||||||
"\x12\x05ALLOW\x18\xe7\a\xb2\x01\x03\b\xe8\aR\n" +
|
"\x12\x05ALLOW\x18\xe7\a\xb2\x01\x03\b\xe8\aR\n" +
|
||||||
"jsonFormat\x12\xab\x01\n" +
|
"jsonFormat\x12\xab\x01\n" +
|
||||||
"\x14enforce_naming_style\x18\a \x01(\x0e2..google.protobuf.FeatureSet.EnforceNamingStyleBI\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\a\x98\x01\b\x98\x01\t\xa2\x01\x11\x12\fSTYLE_LEGACY\x18\x84\a\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x12enforceNamingStyle\"\\\n" +
|
"\x14enforce_naming_style\x18\a \x01(\x0e2..google.protobuf.FeatureSet.EnforceNamingStyleBI\x88\x01\x02\x98\x01\x01\x98\x01\x02\x98\x01\x03\x98\x01\x04\x98\x01\x05\x98\x01\x06\x98\x01\a\x98\x01\b\x98\x01\t\xa2\x01\x11\x12\fSTYLE_LEGACY\x18\x84\a\xa2\x01\x0e\x12\tSTYLE2024\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x12enforceNamingStyle\x12\xb9\x01\n" +
|
||||||
|
"\x19default_symbol_visibility\x18\b \x01(\x0e2E.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibilityB6\x88\x01\x02\x98\x01\x01\xa2\x01\x0f\x12\n" +
|
||||||
|
"EXPORT_ALL\x18\x84\a\xa2\x01\x15\x12\x10EXPORT_TOP_LEVEL\x18\xe9\a\xb2\x01\x03\b\xe9\aR\x17defaultSymbolVisibility\x1a\xa1\x01\n" +
|
||||||
|
"\x11VisibilityFeature\"\x81\x01\n" +
|
||||||
|
"\x17DefaultSymbolVisibility\x12%\n" +
|
||||||
|
"!DEFAULT_SYMBOL_VISIBILITY_UNKNOWN\x10\x00\x12\x0e\n" +
|
||||||
|
"\n" +
|
||||||
|
"EXPORT_ALL\x10\x01\x12\x14\n" +
|
||||||
|
"\x10EXPORT_TOP_LEVEL\x10\x02\x12\r\n" +
|
||||||
|
"\tLOCAL_ALL\x10\x03\x12\n" +
|
||||||
|
"\n" +
|
||||||
|
"\x06STRICT\x10\x04J\b\b\x01\x10\x80\x80\x80\x80\x02\"\\\n" +
|
||||||
"\rFieldPresence\x12\x1a\n" +
|
"\rFieldPresence\x12\x1a\n" +
|
||||||
"\x16FIELD_PRESENCE_UNKNOWN\x10\x00\x12\f\n" +
|
"\x16FIELD_PRESENCE_UNKNOWN\x10\x00\x12\f\n" +
|
||||||
"\bEXPLICIT\x10\x01\x12\f\n" +
|
"\bEXPLICIT\x10\x01\x12\f\n" +
|
||||||
|
@ -4817,7 +5042,11 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
|
||||||
"\x17EDITION_99997_TEST_ONLY\x10\x9d\x8d\x06\x12\x1d\n" +
|
"\x17EDITION_99997_TEST_ONLY\x10\x9d\x8d\x06\x12\x1d\n" +
|
||||||
"\x17EDITION_99998_TEST_ONLY\x10\x9e\x8d\x06\x12\x1d\n" +
|
"\x17EDITION_99998_TEST_ONLY\x10\x9e\x8d\x06\x12\x1d\n" +
|
||||||
"\x17EDITION_99999_TEST_ONLY\x10\x9f\x8d\x06\x12\x13\n" +
|
"\x17EDITION_99999_TEST_ONLY\x10\x9f\x8d\x06\x12\x13\n" +
|
||||||
"\vEDITION_MAX\x10\xff\xff\xff\xff\aB~\n" +
|
"\vEDITION_MAX\x10\xff\xff\xff\xff\a*U\n" +
|
||||||
|
"\x10SymbolVisibility\x12\x14\n" +
|
||||||
|
"\x10VISIBILITY_UNSET\x10\x00\x12\x14\n" +
|
||||||
|
"\x10VISIBILITY_LOCAL\x10\x01\x12\x15\n" +
|
||||||
|
"\x11VISIBILITY_EXPORT\x10\x02B~\n" +
|
||||||
"\x13com.google.protobufB\x10DescriptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.Reflection"
|
"\x13com.google.protobufB\x10DescriptorProtosH\x01Z-google.golang.org/protobuf/types/descriptorpb\xf8\x01\x01\xa2\x02\x03GPB\xaa\x02\x1aGoogle.Protobuf.Reflection"
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -4832,145 +5061,151 @@ func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte {
|
||||||
return file_google_protobuf_descriptor_proto_rawDescData
|
return file_google_protobuf_descriptor_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 18)
|
var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 20)
|
||||||
var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
|
var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
|
||||||
var file_google_protobuf_descriptor_proto_goTypes = []any{
|
var file_google_protobuf_descriptor_proto_goTypes = []any{
|
||||||
(Edition)(0), // 0: google.protobuf.Edition
|
(Edition)(0), // 0: google.protobuf.Edition
|
||||||
(ExtensionRangeOptions_VerificationState)(0), // 1: google.protobuf.ExtensionRangeOptions.VerificationState
|
(SymbolVisibility)(0), // 1: google.protobuf.SymbolVisibility
|
||||||
(FieldDescriptorProto_Type)(0), // 2: google.protobuf.FieldDescriptorProto.Type
|
(ExtensionRangeOptions_VerificationState)(0), // 2: google.protobuf.ExtensionRangeOptions.VerificationState
|
||||||
(FieldDescriptorProto_Label)(0), // 3: google.protobuf.FieldDescriptorProto.Label
|
(FieldDescriptorProto_Type)(0), // 3: google.protobuf.FieldDescriptorProto.Type
|
||||||
(FileOptions_OptimizeMode)(0), // 4: google.protobuf.FileOptions.OptimizeMode
|
(FieldDescriptorProto_Label)(0), // 4: google.protobuf.FieldDescriptorProto.Label
|
||||||
(FieldOptions_CType)(0), // 5: google.protobuf.FieldOptions.CType
|
(FileOptions_OptimizeMode)(0), // 5: google.protobuf.FileOptions.OptimizeMode
|
||||||
(FieldOptions_JSType)(0), // 6: google.protobuf.FieldOptions.JSType
|
(FieldOptions_CType)(0), // 6: google.protobuf.FieldOptions.CType
|
||||||
(FieldOptions_OptionRetention)(0), // 7: google.protobuf.FieldOptions.OptionRetention
|
(FieldOptions_JSType)(0), // 7: google.protobuf.FieldOptions.JSType
|
||||||
(FieldOptions_OptionTargetType)(0), // 8: google.protobuf.FieldOptions.OptionTargetType
|
(FieldOptions_OptionRetention)(0), // 8: google.protobuf.FieldOptions.OptionRetention
|
||||||
(MethodOptions_IdempotencyLevel)(0), // 9: google.protobuf.MethodOptions.IdempotencyLevel
|
(FieldOptions_OptionTargetType)(0), // 9: google.protobuf.FieldOptions.OptionTargetType
|
||||||
(FeatureSet_FieldPresence)(0), // 10: google.protobuf.FeatureSet.FieldPresence
|
(MethodOptions_IdempotencyLevel)(0), // 10: google.protobuf.MethodOptions.IdempotencyLevel
|
||||||
(FeatureSet_EnumType)(0), // 11: google.protobuf.FeatureSet.EnumType
|
(FeatureSet_FieldPresence)(0), // 11: google.protobuf.FeatureSet.FieldPresence
|
||||||
(FeatureSet_RepeatedFieldEncoding)(0), // 12: google.protobuf.FeatureSet.RepeatedFieldEncoding
|
(FeatureSet_EnumType)(0), // 12: google.protobuf.FeatureSet.EnumType
|
||||||
(FeatureSet_Utf8Validation)(0), // 13: google.protobuf.FeatureSet.Utf8Validation
|
(FeatureSet_RepeatedFieldEncoding)(0), // 13: google.protobuf.FeatureSet.RepeatedFieldEncoding
|
||||||
(FeatureSet_MessageEncoding)(0), // 14: google.protobuf.FeatureSet.MessageEncoding
|
(FeatureSet_Utf8Validation)(0), // 14: google.protobuf.FeatureSet.Utf8Validation
|
||||||
(FeatureSet_JsonFormat)(0), // 15: google.protobuf.FeatureSet.JsonFormat
|
(FeatureSet_MessageEncoding)(0), // 15: google.protobuf.FeatureSet.MessageEncoding
|
||||||
(FeatureSet_EnforceNamingStyle)(0), // 16: google.protobuf.FeatureSet.EnforceNamingStyle
|
(FeatureSet_JsonFormat)(0), // 16: google.protobuf.FeatureSet.JsonFormat
|
||||||
(GeneratedCodeInfo_Annotation_Semantic)(0), // 17: google.protobuf.GeneratedCodeInfo.Annotation.Semantic
|
(FeatureSet_EnforceNamingStyle)(0), // 17: google.protobuf.FeatureSet.EnforceNamingStyle
|
||||||
(*FileDescriptorSet)(nil), // 18: google.protobuf.FileDescriptorSet
|
(FeatureSet_VisibilityFeature_DefaultSymbolVisibility)(0), // 18: google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility
|
||||||
(*FileDescriptorProto)(nil), // 19: google.protobuf.FileDescriptorProto
|
(GeneratedCodeInfo_Annotation_Semantic)(0), // 19: google.protobuf.GeneratedCodeInfo.Annotation.Semantic
|
||||||
(*DescriptorProto)(nil), // 20: google.protobuf.DescriptorProto
|
(*FileDescriptorSet)(nil), // 20: google.protobuf.FileDescriptorSet
|
||||||
(*ExtensionRangeOptions)(nil), // 21: google.protobuf.ExtensionRangeOptions
|
(*FileDescriptorProto)(nil), // 21: google.protobuf.FileDescriptorProto
|
||||||
(*FieldDescriptorProto)(nil), // 22: google.protobuf.FieldDescriptorProto
|
(*DescriptorProto)(nil), // 22: google.protobuf.DescriptorProto
|
||||||
(*OneofDescriptorProto)(nil), // 23: google.protobuf.OneofDescriptorProto
|
(*ExtensionRangeOptions)(nil), // 23: google.protobuf.ExtensionRangeOptions
|
||||||
(*EnumDescriptorProto)(nil), // 24: google.protobuf.EnumDescriptorProto
|
(*FieldDescriptorProto)(nil), // 24: google.protobuf.FieldDescriptorProto
|
||||||
(*EnumValueDescriptorProto)(nil), // 25: google.protobuf.EnumValueDescriptorProto
|
(*OneofDescriptorProto)(nil), // 25: google.protobuf.OneofDescriptorProto
|
||||||
(*ServiceDescriptorProto)(nil), // 26: google.protobuf.ServiceDescriptorProto
|
(*EnumDescriptorProto)(nil), // 26: google.protobuf.EnumDescriptorProto
|
||||||
(*MethodDescriptorProto)(nil), // 27: google.protobuf.MethodDescriptorProto
|
(*EnumValueDescriptorProto)(nil), // 27: google.protobuf.EnumValueDescriptorProto
|
||||||
(*FileOptions)(nil), // 28: google.protobuf.FileOptions
|
(*ServiceDescriptorProto)(nil), // 28: google.protobuf.ServiceDescriptorProto
|
||||||
(*MessageOptions)(nil), // 29: google.protobuf.MessageOptions
|
(*MethodDescriptorProto)(nil), // 29: google.protobuf.MethodDescriptorProto
|
||||||
(*FieldOptions)(nil), // 30: google.protobuf.FieldOptions
|
(*FileOptions)(nil), // 30: google.protobuf.FileOptions
|
||||||
(*OneofOptions)(nil), // 31: google.protobuf.OneofOptions
|
(*MessageOptions)(nil), // 31: google.protobuf.MessageOptions
|
||||||
(*EnumOptions)(nil), // 32: google.protobuf.EnumOptions
|
(*FieldOptions)(nil), // 32: google.protobuf.FieldOptions
|
||||||
(*EnumValueOptions)(nil), // 33: google.protobuf.EnumValueOptions
|
(*OneofOptions)(nil), // 33: google.protobuf.OneofOptions
|
||||||
(*ServiceOptions)(nil), // 34: google.protobuf.ServiceOptions
|
(*EnumOptions)(nil), // 34: google.protobuf.EnumOptions
|
||||||
(*MethodOptions)(nil), // 35: google.protobuf.MethodOptions
|
(*EnumValueOptions)(nil), // 35: google.protobuf.EnumValueOptions
|
||||||
(*UninterpretedOption)(nil), // 36: google.protobuf.UninterpretedOption
|
(*ServiceOptions)(nil), // 36: google.protobuf.ServiceOptions
|
||||||
(*FeatureSet)(nil), // 37: google.protobuf.FeatureSet
|
(*MethodOptions)(nil), // 37: google.protobuf.MethodOptions
|
||||||
(*FeatureSetDefaults)(nil), // 38: google.protobuf.FeatureSetDefaults
|
(*UninterpretedOption)(nil), // 38: google.protobuf.UninterpretedOption
|
||||||
(*SourceCodeInfo)(nil), // 39: google.protobuf.SourceCodeInfo
|
(*FeatureSet)(nil), // 39: google.protobuf.FeatureSet
|
||||||
(*GeneratedCodeInfo)(nil), // 40: google.protobuf.GeneratedCodeInfo
|
(*FeatureSetDefaults)(nil), // 40: google.protobuf.FeatureSetDefaults
|
||||||
(*DescriptorProto_ExtensionRange)(nil), // 41: google.protobuf.DescriptorProto.ExtensionRange
|
(*SourceCodeInfo)(nil), // 41: google.protobuf.SourceCodeInfo
|
||||||
(*DescriptorProto_ReservedRange)(nil), // 42: google.protobuf.DescriptorProto.ReservedRange
|
(*GeneratedCodeInfo)(nil), // 42: google.protobuf.GeneratedCodeInfo
|
||||||
(*ExtensionRangeOptions_Declaration)(nil), // 43: google.protobuf.ExtensionRangeOptions.Declaration
|
(*DescriptorProto_ExtensionRange)(nil), // 43: google.protobuf.DescriptorProto.ExtensionRange
|
||||||
(*EnumDescriptorProto_EnumReservedRange)(nil), // 44: google.protobuf.EnumDescriptorProto.EnumReservedRange
|
(*DescriptorProto_ReservedRange)(nil), // 44: google.protobuf.DescriptorProto.ReservedRange
|
||||||
(*FieldOptions_EditionDefault)(nil), // 45: google.protobuf.FieldOptions.EditionDefault
|
(*ExtensionRangeOptions_Declaration)(nil), // 45: google.protobuf.ExtensionRangeOptions.Declaration
|
||||||
(*FieldOptions_FeatureSupport)(nil), // 46: google.protobuf.FieldOptions.FeatureSupport
|
(*EnumDescriptorProto_EnumReservedRange)(nil), // 46: google.protobuf.EnumDescriptorProto.EnumReservedRange
|
||||||
(*UninterpretedOption_NamePart)(nil), // 47: google.protobuf.UninterpretedOption.NamePart
|
(*FieldOptions_EditionDefault)(nil), // 47: google.protobuf.FieldOptions.EditionDefault
|
||||||
(*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 48: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
|
(*FieldOptions_FeatureSupport)(nil), // 48: google.protobuf.FieldOptions.FeatureSupport
|
||||||
(*SourceCodeInfo_Location)(nil), // 49: google.protobuf.SourceCodeInfo.Location
|
(*UninterpretedOption_NamePart)(nil), // 49: google.protobuf.UninterpretedOption.NamePart
|
||||||
(*GeneratedCodeInfo_Annotation)(nil), // 50: google.protobuf.GeneratedCodeInfo.Annotation
|
(*FeatureSet_VisibilityFeature)(nil), // 50: google.protobuf.FeatureSet.VisibilityFeature
|
||||||
|
(*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 51: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
|
||||||
|
(*SourceCodeInfo_Location)(nil), // 52: google.protobuf.SourceCodeInfo.Location
|
||||||
|
(*GeneratedCodeInfo_Annotation)(nil), // 53: google.protobuf.GeneratedCodeInfo.Annotation
|
||||||
}
|
}
|
||||||
var file_google_protobuf_descriptor_proto_depIdxs = []int32{
|
var file_google_protobuf_descriptor_proto_depIdxs = []int32{
|
||||||
19, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
|
21, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
|
||||||
20, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
|
22, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
|
||||||
24, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
|
26, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
|
||||||
26, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto
|
28, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto
|
||||||
22, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
|
24, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
|
||||||
28, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions
|
30, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions
|
||||||
39, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo
|
41, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo
|
||||||
0, // 7: google.protobuf.FileDescriptorProto.edition:type_name -> google.protobuf.Edition
|
0, // 7: google.protobuf.FileDescriptorProto.edition:type_name -> google.protobuf.Edition
|
||||||
22, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto
|
24, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto
|
||||||
22, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
|
24, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
|
||||||
20, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto
|
22, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto
|
||||||
24, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
|
26, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
|
||||||
41, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange
|
43, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange
|
||||||
23, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto
|
25, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto
|
||||||
29, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions
|
31, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions
|
||||||
42, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange
|
44, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange
|
||||||
36, // 16: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
1, // 16: google.protobuf.DescriptorProto.visibility:type_name -> google.protobuf.SymbolVisibility
|
||||||
43, // 17: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration
|
38, // 17: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||||
37, // 18: google.protobuf.ExtensionRangeOptions.features:type_name -> google.protobuf.FeatureSet
|
45, // 18: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration
|
||||||
1, // 19: google.protobuf.ExtensionRangeOptions.verification:type_name -> google.protobuf.ExtensionRangeOptions.VerificationState
|
39, // 19: google.protobuf.ExtensionRangeOptions.features:type_name -> google.protobuf.FeatureSet
|
||||||
3, // 20: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label
|
2, // 20: google.protobuf.ExtensionRangeOptions.verification:type_name -> google.protobuf.ExtensionRangeOptions.VerificationState
|
||||||
2, // 21: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type
|
4, // 21: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label
|
||||||
30, // 22: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions
|
3, // 22: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type
|
||||||
31, // 23: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions
|
32, // 23: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions
|
||||||
25, // 24: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto
|
33, // 24: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions
|
||||||
32, // 25: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions
|
27, // 25: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto
|
||||||
44, // 26: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange
|
34, // 26: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions
|
||||||
33, // 27: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions
|
46, // 27: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange
|
||||||
27, // 28: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto
|
1, // 28: google.protobuf.EnumDescriptorProto.visibility:type_name -> google.protobuf.SymbolVisibility
|
||||||
34, // 29: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions
|
35, // 29: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions
|
||||||
35, // 30: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions
|
29, // 30: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto
|
||||||
4, // 31: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode
|
36, // 31: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions
|
||||||
37, // 32: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet
|
37, // 32: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions
|
||||||
36, // 33: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
5, // 33: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode
|
||||||
37, // 34: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet
|
39, // 34: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet
|
||||||
36, // 35: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
38, // 35: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||||
5, // 36: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType
|
39, // 36: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet
|
||||||
6, // 37: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType
|
38, // 37: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||||
7, // 38: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention
|
6, // 38: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType
|
||||||
8, // 39: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType
|
7, // 39: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType
|
||||||
45, // 40: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault
|
8, // 40: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention
|
||||||
37, // 41: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet
|
9, // 41: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType
|
||||||
46, // 42: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
|
47, // 42: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault
|
||||||
36, // 43: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
39, // 43: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet
|
||||||
37, // 44: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet
|
48, // 44: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
|
||||||
36, // 45: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
38, // 45: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||||
37, // 46: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet
|
39, // 46: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet
|
||||||
36, // 47: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
38, // 47: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||||
37, // 48: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet
|
39, // 48: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet
|
||||||
46, // 49: google.protobuf.EnumValueOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
|
38, // 49: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||||
36, // 50: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
39, // 50: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet
|
||||||
37, // 51: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet
|
48, // 51: google.protobuf.EnumValueOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
|
||||||
36, // 52: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
38, // 52: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||||
9, // 53: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
|
39, // 53: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet
|
||||||
37, // 54: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet
|
38, // 54: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||||
36, // 55: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
10, // 55: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
|
||||||
47, // 56: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
|
39, // 56: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet
|
||||||
10, // 57: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence
|
38, // 57: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||||
11, // 58: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType
|
49, // 58: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
|
||||||
12, // 59: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding
|
11, // 59: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence
|
||||||
13, // 60: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation
|
12, // 60: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType
|
||||||
14, // 61: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding
|
13, // 61: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding
|
||||||
15, // 62: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat
|
14, // 62: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation
|
||||||
16, // 63: google.protobuf.FeatureSet.enforce_naming_style:type_name -> google.protobuf.FeatureSet.EnforceNamingStyle
|
15, // 63: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding
|
||||||
48, // 64: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
|
16, // 64: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat
|
||||||
0, // 65: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition
|
17, // 65: google.protobuf.FeatureSet.enforce_naming_style:type_name -> google.protobuf.FeatureSet.EnforceNamingStyle
|
||||||
0, // 66: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition
|
18, // 66: google.protobuf.FeatureSet.default_symbol_visibility:type_name -> google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility
|
||||||
49, // 67: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
|
51, // 67: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
|
||||||
50, // 68: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
|
0, // 68: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition
|
||||||
21, // 69: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
|
0, // 69: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition
|
||||||
0, // 70: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition
|
52, // 70: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
|
||||||
0, // 71: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition
|
53, // 71: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
|
||||||
0, // 72: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition
|
23, // 72: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
|
||||||
0, // 73: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition
|
0, // 73: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition
|
||||||
0, // 74: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition
|
0, // 74: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition
|
||||||
37, // 75: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet
|
0, // 75: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition
|
||||||
37, // 76: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet
|
0, // 76: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition
|
||||||
17, // 77: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
|
0, // 77: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition
|
||||||
78, // [78:78] is the sub-list for method output_type
|
39, // 78: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet
|
||||||
78, // [78:78] is the sub-list for method input_type
|
39, // 79: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet
|
||||||
78, // [78:78] is the sub-list for extension type_name
|
19, // 80: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
|
||||||
78, // [78:78] is the sub-list for extension extendee
|
81, // [81:81] is the sub-list for method output_type
|
||||||
0, // [0:78] is the sub-list for field type_name
|
81, // [81:81] is the sub-list for method input_type
|
||||||
|
81, // [81:81] is the sub-list for extension type_name
|
||||||
|
81, // [81:81] is the sub-list for extension extendee
|
||||||
|
0, // [0:81] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_google_protobuf_descriptor_proto_init() }
|
func init() { file_google_protobuf_descriptor_proto_init() }
|
||||||
|
@ -4983,8 +5218,8 @@ func file_google_protobuf_descriptor_proto_init() {
|
||||||
File: protoimpl.DescBuilder{
|
File: protoimpl.DescBuilder{
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_protobuf_descriptor_proto_rawDesc), len(file_google_protobuf_descriptor_proto_rawDesc)),
|
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_protobuf_descriptor_proto_rawDesc), len(file_google_protobuf_descriptor_proto_rawDesc)),
|
||||||
NumEnums: 18,
|
NumEnums: 20,
|
||||||
NumMessages: 33,
|
NumMessages: 34,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 0,
|
NumServices: 0,
|
||||||
},
|
},
|
||||||
|
|
|
@ -14,7 +14,7 @@ github.com/emicklei/go-restful/v3/log
|
||||||
# github.com/fxamacker/cbor/v2 v2.7.0
|
# github.com/fxamacker/cbor/v2 v2.7.0
|
||||||
## explicit; go 1.17
|
## explicit; go 1.17
|
||||||
github.com/fxamacker/cbor/v2
|
github.com/fxamacker/cbor/v2
|
||||||
# github.com/go-logr/logr v1.4.2
|
# github.com/go-logr/logr v1.4.3
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
github.com/go-logr/logr
|
github.com/go-logr/logr
|
||||||
# github.com/go-ole/go-ole v1.2.6
|
# github.com/go-ole/go-ole v1.2.6
|
||||||
|
@ -63,7 +63,7 @@ github.com/josharian/intern
|
||||||
# github.com/json-iterator/go v1.1.12
|
# github.com/json-iterator/go v1.1.12
|
||||||
## explicit; go 1.12
|
## explicit; go 1.12
|
||||||
github.com/json-iterator/go
|
github.com/json-iterator/go
|
||||||
# github.com/longhorn/go-common-libs v0.0.0-20250712065607-11215ac4de96
|
# github.com/longhorn/go-common-libs v0.0.0-20250809060702-aec53ac032f0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
github.com/longhorn/go-common-libs/exec
|
github.com/longhorn/go-common-libs/exec
|
||||||
github.com/longhorn/go-common-libs/io
|
github.com/longhorn/go-common-libs/io
|
||||||
|
@ -127,10 +127,10 @@ github.com/x448/float16
|
||||||
# github.com/yusufpapurcu/wmi v1.2.4
|
# github.com/yusufpapurcu/wmi v1.2.4
|
||||||
## explicit; go 1.16
|
## explicit; go 1.16
|
||||||
github.com/yusufpapurcu/wmi
|
github.com/yusufpapurcu/wmi
|
||||||
# golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc
|
# golang.org/x/exp v0.0.0-20250808145144-a408d31f581a
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
golang.org/x/exp/constraints
|
golang.org/x/exp/constraints
|
||||||
# golang.org/x/net v0.42.0
|
# golang.org/x/net v0.43.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
golang.org/x/net/context
|
golang.org/x/net/context
|
||||||
golang.org/x/net/http/httpguts
|
golang.org/x/net/http/httpguts
|
||||||
|
@ -140,20 +140,20 @@ golang.org/x/net/idna
|
||||||
golang.org/x/net/internal/httpcommon
|
golang.org/x/net/internal/httpcommon
|
||||||
golang.org/x/net/internal/timeseries
|
golang.org/x/net/internal/timeseries
|
||||||
golang.org/x/net/trace
|
golang.org/x/net/trace
|
||||||
# golang.org/x/oauth2 v0.28.0
|
# golang.org/x/oauth2 v0.30.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
golang.org/x/oauth2
|
golang.org/x/oauth2
|
||||||
golang.org/x/oauth2/internal
|
golang.org/x/oauth2/internal
|
||||||
# golang.org/x/sys v0.34.0
|
# golang.org/x/sys v0.35.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
golang.org/x/sys/plan9
|
golang.org/x/sys/plan9
|
||||||
golang.org/x/sys/unix
|
golang.org/x/sys/unix
|
||||||
golang.org/x/sys/windows
|
golang.org/x/sys/windows
|
||||||
golang.org/x/sys/windows/registry
|
golang.org/x/sys/windows/registry
|
||||||
# golang.org/x/term v0.33.0
|
# golang.org/x/term v0.34.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
golang.org/x/term
|
golang.org/x/term
|
||||||
# golang.org/x/text v0.27.0
|
# golang.org/x/text v0.28.0
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
golang.org/x/text/secure/bidirule
|
golang.org/x/text/secure/bidirule
|
||||||
golang.org/x/text/transform
|
golang.org/x/text/transform
|
||||||
|
@ -162,10 +162,10 @@ golang.org/x/text/unicode/norm
|
||||||
# golang.org/x/time v0.9.0
|
# golang.org/x/time v0.9.0
|
||||||
## explicit; go 1.18
|
## explicit; go 1.18
|
||||||
golang.org/x/time/rate
|
golang.org/x/time/rate
|
||||||
# google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463
|
# google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
google.golang.org/genproto/googleapis/rpc/status
|
google.golang.org/genproto/googleapis/rpc/status
|
||||||
# google.golang.org/grpc v1.73.0
|
# google.golang.org/grpc v1.74.2
|
||||||
## explicit; go 1.23.0
|
## explicit; go 1.23.0
|
||||||
google.golang.org/grpc
|
google.golang.org/grpc
|
||||||
google.golang.org/grpc/attributes
|
google.golang.org/grpc/attributes
|
||||||
|
@ -232,7 +232,7 @@ google.golang.org/grpc/serviceconfig
|
||||||
google.golang.org/grpc/stats
|
google.golang.org/grpc/stats
|
||||||
google.golang.org/grpc/status
|
google.golang.org/grpc/status
|
||||||
google.golang.org/grpc/tap
|
google.golang.org/grpc/tap
|
||||||
# google.golang.org/protobuf v1.36.6
|
# google.golang.org/protobuf v1.36.7
|
||||||
## explicit; go 1.22
|
## explicit; go 1.22
|
||||||
google.golang.org/protobuf/encoding/protojson
|
google.golang.org/protobuf/encoding/protojson
|
||||||
google.golang.org/protobuf/encoding/prototext
|
google.golang.org/protobuf/encoding/prototext
|
||||||
|
@ -281,7 +281,7 @@ gopkg.in/inf.v0
|
||||||
# gopkg.in/yaml.v3 v3.0.1
|
# gopkg.in/yaml.v3 v3.0.1
|
||||||
## explicit
|
## explicit
|
||||||
gopkg.in/yaml.v3
|
gopkg.in/yaml.v3
|
||||||
# k8s.io/api v0.33.2 => k8s.io/api v0.33.2
|
# k8s.io/api v0.33.3 => k8s.io/api v0.33.3
|
||||||
## explicit; go 1.24.0
|
## explicit; go 1.24.0
|
||||||
k8s.io/api/admissionregistration/v1
|
k8s.io/api/admissionregistration/v1
|
||||||
k8s.io/api/admissionregistration/v1alpha1
|
k8s.io/api/admissionregistration/v1alpha1
|
||||||
|
@ -340,7 +340,7 @@ k8s.io/api/storage/v1
|
||||||
k8s.io/api/storage/v1alpha1
|
k8s.io/api/storage/v1alpha1
|
||||||
k8s.io/api/storage/v1beta1
|
k8s.io/api/storage/v1beta1
|
||||||
k8s.io/api/storagemigration/v1alpha1
|
k8s.io/api/storagemigration/v1alpha1
|
||||||
# k8s.io/apimachinery v0.33.2 => k8s.io/apimachinery v0.33.2
|
# k8s.io/apimachinery v0.33.3 => k8s.io/apimachinery v0.33.3
|
||||||
## explicit; go 1.24.0
|
## explicit; go 1.24.0
|
||||||
k8s.io/apimachinery/pkg/api/equality
|
k8s.io/apimachinery/pkg/api/equality
|
||||||
k8s.io/apimachinery/pkg/api/errors
|
k8s.io/apimachinery/pkg/api/errors
|
||||||
|
@ -393,7 +393,7 @@ k8s.io/apimachinery/pkg/version
|
||||||
k8s.io/apimachinery/pkg/watch
|
k8s.io/apimachinery/pkg/watch
|
||||||
k8s.io/apimachinery/third_party/forked/golang/json
|
k8s.io/apimachinery/third_party/forked/golang/json
|
||||||
k8s.io/apimachinery/third_party/forked/golang/reflect
|
k8s.io/apimachinery/third_party/forked/golang/reflect
|
||||||
# k8s.io/client-go v0.33.2 => k8s.io/client-go v0.33.2
|
# k8s.io/client-go v0.33.3 => k8s.io/client-go v0.33.3
|
||||||
## explicit; go 1.24.0
|
## explicit; go 1.24.0
|
||||||
k8s.io/client-go/applyconfigurations/admissionregistration/v1
|
k8s.io/client-go/applyconfigurations/admissionregistration/v1
|
||||||
k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1
|
k8s.io/client-go/applyconfigurations/admissionregistration/v1alpha1
|
||||||
|
@ -549,10 +549,10 @@ k8s.io/kube-openapi/pkg/schemaconv
|
||||||
k8s.io/kube-openapi/pkg/spec3
|
k8s.io/kube-openapi/pkg/spec3
|
||||||
k8s.io/kube-openapi/pkg/util/proto
|
k8s.io/kube-openapi/pkg/util/proto
|
||||||
k8s.io/kube-openapi/pkg/validation/spec
|
k8s.io/kube-openapi/pkg/validation/spec
|
||||||
# k8s.io/kubernetes v1.33.2
|
# k8s.io/kubernetes v1.33.3
|
||||||
## explicit; go 1.24.0
|
## explicit; go 1.24.0
|
||||||
k8s.io/kubernetes/pkg/volume/util/hostutil
|
k8s.io/kubernetes/pkg/volume/util/hostutil
|
||||||
# k8s.io/mount-utils v0.33.2 => k8s.io/mount-utils v0.33.2
|
# k8s.io/mount-utils v0.33.3 => k8s.io/mount-utils v0.33.3
|
||||||
## explicit; go 1.24.0
|
## explicit; go 1.24.0
|
||||||
k8s.io/mount-utils
|
k8s.io/mount-utils
|
||||||
# k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
|
# k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
|
||||||
|
@ -584,32 +584,32 @@ sigs.k8s.io/structured-merge-diff/v4/value
|
||||||
## explicit; go 1.12
|
## explicit; go 1.12
|
||||||
sigs.k8s.io/yaml
|
sigs.k8s.io/yaml
|
||||||
sigs.k8s.io/yaml/goyaml.v2
|
sigs.k8s.io/yaml/goyaml.v2
|
||||||
# k8s.io/api => k8s.io/api v0.33.2
|
# k8s.io/api => k8s.io/api v0.33.3
|
||||||
# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.33.2
|
# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.33.3
|
||||||
# k8s.io/apimachinery => k8s.io/apimachinery v0.33.2
|
# k8s.io/apimachinery => k8s.io/apimachinery v0.33.3
|
||||||
# k8s.io/apiserver => k8s.io/apiserver v0.33.2
|
# k8s.io/apiserver => k8s.io/apiserver v0.33.3
|
||||||
# k8s.io/cli-runtime => k8s.io/cli-runtime v0.33.2
|
# k8s.io/cli-runtime => k8s.io/cli-runtime v0.33.3
|
||||||
# k8s.io/client-go => k8s.io/client-go v0.33.2
|
# k8s.io/client-go => k8s.io/client-go v0.33.3
|
||||||
# k8s.io/cloud-provider => k8s.io/cloud-provider v0.33.2
|
# k8s.io/cloud-provider => k8s.io/cloud-provider v0.33.3
|
||||||
# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.33.2
|
# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.33.3
|
||||||
# k8s.io/code-generator => k8s.io/code-generator v0.33.2
|
# k8s.io/code-generator => k8s.io/code-generator v0.33.3
|
||||||
# k8s.io/component-base => k8s.io/component-base v0.33.2
|
# k8s.io/component-base => k8s.io/component-base v0.33.3
|
||||||
# k8s.io/component-helpers => k8s.io/component-helpers v0.33.2
|
# k8s.io/component-helpers => k8s.io/component-helpers v0.33.3
|
||||||
# k8s.io/controller-manager => k8s.io/controller-manager v0.33.2
|
# k8s.io/controller-manager => k8s.io/controller-manager v0.33.3
|
||||||
# k8s.io/cri-api => k8s.io/cri-api v0.33.2
|
# k8s.io/cri-api => k8s.io/cri-api v0.33.3
|
||||||
# k8s.io/cri-client => k8s.io/cri-client v0.33.2
|
# k8s.io/cri-client => k8s.io/cri-client v0.33.3
|
||||||
# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.33.2
|
# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.33.3
|
||||||
# k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.33.2
|
# k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.33.3
|
||||||
# k8s.io/endpointslice => k8s.io/endpointslice v0.33.2
|
# k8s.io/endpointslice => k8s.io/endpointslice v0.33.3
|
||||||
# k8s.io/kms => k8s.io/kms v0.33.2
|
# k8s.io/kms => k8s.io/kms v0.33.3
|
||||||
# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.33.2
|
# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.33.3
|
||||||
# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.33.2
|
# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.33.3
|
||||||
# k8s.io/kube-proxy => k8s.io/kube-proxy v0.33.2
|
# k8s.io/kube-proxy => k8s.io/kube-proxy v0.33.3
|
||||||
# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.33.2
|
# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.33.3
|
||||||
# k8s.io/kubectl => k8s.io/kubectl v0.33.2
|
# k8s.io/kubectl => k8s.io/kubectl v0.33.3
|
||||||
# k8s.io/kubelet => k8s.io/kubelet v0.33.2
|
# k8s.io/kubelet => k8s.io/kubelet v0.33.3
|
||||||
# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.30.14
|
# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.30.14
|
||||||
# k8s.io/metrics => k8s.io/metrics v0.33.2
|
# k8s.io/metrics => k8s.io/metrics v0.33.3
|
||||||
# k8s.io/mount-utils => k8s.io/mount-utils v0.33.2
|
# k8s.io/mount-utils => k8s.io/mount-utils v0.33.3
|
||||||
# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.33.2
|
# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.33.3
|
||||||
# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.33.2
|
# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.33.3
|
||||||
|
|
Loading…
Reference in New Issue