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
|
||||
|
||||
toolchain go1.24.5
|
||||
toolchain go1.24.6
|
||||
|
||||
// Replace directives are required for dependencies in this section because:
|
||||
// - 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
|
||||
// necessary. However, it is better to include all of them for consistency.
|
||||
replace (
|
||||
k8s.io/api => k8s.io/api v0.33.2
|
||||
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.33.2
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.33.2
|
||||
k8s.io/apiserver => k8s.io/apiserver v0.33.2
|
||||
k8s.io/cli-runtime => k8s.io/cli-runtime v0.33.2
|
||||
k8s.io/client-go => k8s.io/client-go v0.33.2
|
||||
k8s.io/cloud-provider => k8s.io/cloud-provider v0.33.2
|
||||
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.33.2
|
||||
k8s.io/code-generator => k8s.io/code-generator v0.33.2
|
||||
k8s.io/component-base => k8s.io/component-base v0.33.2
|
||||
k8s.io/component-helpers => k8s.io/component-helpers v0.33.2
|
||||
k8s.io/controller-manager => k8s.io/controller-manager v0.33.2
|
||||
k8s.io/cri-api => k8s.io/cri-api v0.33.2
|
||||
k8s.io/cri-client => k8s.io/cri-client v0.33.2
|
||||
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.33.2
|
||||
k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.33.2
|
||||
k8s.io/endpointslice => k8s.io/endpointslice v0.33.2
|
||||
k8s.io/kms => k8s.io/kms v0.33.2
|
||||
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.33.2
|
||||
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.33.2
|
||||
k8s.io/kube-proxy => k8s.io/kube-proxy v0.33.2
|
||||
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.33.2
|
||||
k8s.io/kubectl => k8s.io/kubectl v0.33.2
|
||||
k8s.io/kubelet => k8s.io/kubelet v0.33.2
|
||||
k8s.io/api => k8s.io/api v0.33.3
|
||||
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.33.3
|
||||
k8s.io/apimachinery => k8s.io/apimachinery v0.33.3
|
||||
k8s.io/apiserver => k8s.io/apiserver v0.33.3
|
||||
k8s.io/cli-runtime => k8s.io/cli-runtime v0.33.3
|
||||
k8s.io/client-go => k8s.io/client-go v0.33.3
|
||||
k8s.io/cloud-provider => k8s.io/cloud-provider v0.33.3
|
||||
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.33.3
|
||||
k8s.io/code-generator => k8s.io/code-generator v0.33.3
|
||||
k8s.io/component-base => k8s.io/component-base v0.33.3
|
||||
k8s.io/component-helpers => k8s.io/component-helpers v0.33.3
|
||||
k8s.io/controller-manager => k8s.io/controller-manager v0.33.3
|
||||
k8s.io/cri-api => k8s.io/cri-api v0.33.3
|
||||
k8s.io/cri-client => k8s.io/cri-client v0.33.3
|
||||
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.3
|
||||
k8s.io/endpointslice => k8s.io/endpointslice v0.33.3
|
||||
k8s.io/kms => k8s.io/kms v0.33.3
|
||||
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.33.3
|
||||
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.33.3
|
||||
k8s.io/kube-proxy => k8s.io/kube-proxy v0.33.3
|
||||
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.33.3
|
||||
k8s.io/kubectl => k8s.io/kubectl v0.33.3
|
||||
k8s.io/kubelet => k8s.io/kubelet v0.33.3
|
||||
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.30.14
|
||||
k8s.io/metrics => k8s.io/metrics v0.33.2
|
||||
k8s.io/mount-utils => k8s.io/mount-utils v0.33.2
|
||||
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.33.2
|
||||
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.33.2
|
||||
k8s.io/metrics => k8s.io/metrics v0.33.3
|
||||
k8s.io/mount-utils => k8s.io/mount-utils v0.33.3
|
||||
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.33.3
|
||||
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.33.3
|
||||
)
|
||||
|
||||
require (
|
||||
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/mitchellh/go-ps v1.0.0
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
github.com/urfave/cli v1.22.17
|
||||
golang.org/x/net v0.42.0
|
||||
golang.org/x/sys v0.34.0
|
||||
google.golang.org/grpc v1.73.0
|
||||
google.golang.org/protobuf v1.36.6
|
||||
k8s.io/api v0.33.2
|
||||
k8s.io/apimachinery v0.33.2
|
||||
k8s.io/client-go v0.33.2
|
||||
k8s.io/kubernetes v1.33.2
|
||||
k8s.io/mount-utils v0.33.2
|
||||
golang.org/x/net v0.43.0
|
||||
golang.org/x/sys v0.35.0
|
||||
google.golang.org/grpc v1.74.2
|
||||
google.golang.org/protobuf v1.36.7
|
||||
k8s.io/api v0.33.3
|
||||
k8s.io/apimachinery v0.33.3
|
||||
k8s.io/client-go v0.33.3
|
||||
k8s.io/kubernetes v1.33.3
|
||||
k8s.io/mount-utils v0.33.3
|
||||
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/emicklei/go-restful/v3 v3.11.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-openapi/jsonpointer v0.21.0 // 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/x448/float16 v0.8.4 // indirect
|
||||
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
||||
golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc // indirect
|
||||
golang.org/x/oauth2 v0.28.0 // indirect
|
||||
golang.org/x/term v0.33.0 // indirect
|
||||
golang.org/x/text v0.27.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250808145144-a408d31f581a // indirect
|
||||
golang.org/x/oauth2 v0.30.0 // indirect
|
||||
golang.org/x/term v0.34.0 // indirect
|
||||
golang.org/x/text v0.28.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/inf.v0 v0.9.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/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
|
||||
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.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
|
||||
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/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||
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.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
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-20250712065607-11215ac4de96/go.mod h1:WJowu2xRMEZ2B9K+SPQCUQpFoiC6yZiAHLZx2cR34QE=
|
||||
github.com/longhorn/go-common-libs v0.0.0-20250809060702-aec53ac032f0 h1:AwMOBDw2ZwQb6rlUh8eHJVaaoUNq82160klizoo+l6o=
|
||||
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/go.mod h1:3bhH8iUZGZT3kA/B1DYMGzpdzfacqeexOt4SHo4/C2I=
|
||||
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=
|
||||
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/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
|
||||
go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
|
||||
go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M=
|
||||
go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE=
|
||||
go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
|
||||
go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w=
|
||||
go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs=
|
||||
go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
|
||||
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
|
||||
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
|
||||
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
|
||||
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
|
||||
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
|
||||
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
|
||||
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
|
||||
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-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
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.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
|
||||
golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc h1:TS73t7x3KarrNd5qAipmspBDS1rkMcgVG/fS1aRb4Rc=
|
||||
golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc/go.mod h1:A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc=
|
||||
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
|
||||
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
|
||||
golang.org/x/exp v0.0.0-20250808145144-a408d31f581a h1:Y+7uR/b1Mw2iSXZ3G//1haIiSElDQZ8KWh0h+sZPG90=
|
||||
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.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-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-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
|
||||
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
|
||||
golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc=
|
||||
golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
|
||||
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
|
||||
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
|
||||
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
|
||||
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-20190911185100-cd5d95a43a6e/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-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.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
|
||||
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg=
|
||||
golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0=
|
||||
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
|
||||
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
|
||||
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.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
|
||||
golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
|
||||
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
|
||||
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/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-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-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0=
|
||||
golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw=
|
||||
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
|
||||
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-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-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-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
|
||||
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
|
||||
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
|
||||
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
|
||||
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
|
||||
google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4=
|
||||
google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM=
|
||||
google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A=
|
||||
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 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
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.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
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.2/go.mod h1:fhrbphQJSM2cXzCWgqU29xLDuks4mu7ti9vveEnpSXs=
|
||||
k8s.io/apimachinery v0.33.2 h1:IHFVhqg59mb8PJWTLi8m1mAoepkUNYmptHsV+Z1m5jY=
|
||||
k8s.io/apimachinery v0.33.2/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
|
||||
k8s.io/client-go v0.33.2 h1:z8CIcc0P581x/J1ZYf4CNzRKxRvQAwoAolYPbtQes+E=
|
||||
k8s.io/client-go v0.33.2/go.mod h1:9mCgT4wROvL948w6f6ArJNb7yQd7QsvqavDeZHvNmHo=
|
||||
k8s.io/api v0.33.3 h1:SRd5t//hhkI1buzxb288fy2xvjubstenEKL9K51KBI8=
|
||||
k8s.io/api v0.33.3/go.mod h1:01Y/iLUjNBM3TAvypct7DIj0M0NIZc+PzAHCIo0CYGE=
|
||||
k8s.io/apimachinery v0.33.3 h1:4ZSrmNa0c/ZpZJhAgRdcsFcZOw1PQU1bALVQ0B3I5LA=
|
||||
k8s.io/apimachinery v0.33.3/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
|
||||
k8s.io/client-go v0.33.3 h1:M5AfDnKfYmVJif92ngN532gFqakcGi6RvaOF16efrpA=
|
||||
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/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/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
|
||||
k8s.io/kubernetes v1.33.2 h1:Vk3hsCaazyMQ6CXhu029AEPlBoYsEnD8oEIC0bP2pWQ=
|
||||
k8s.io/kubernetes v1.33.2/go.mod h1:nrt8sldmckKz2fCZhgRX3SKfS2e+CzXATPv6ITNkU00=
|
||||
k8s.io/mount-utils v0.33.2 h1:mZAFhoGs/MwJziVlUpA072vqMhXRc0LGl/W3wybLP20=
|
||||
k8s.io/mount-utils v0.33.2/go.mod h1:1JR4rKymg8B8bCPo618hpSAdrpO6XLh0Acqok/xVwPE=
|
||||
k8s.io/kubernetes v1.33.3 h1:dBx5Z2ZhR8kNzAwCoCz4j1niUbUrNUDVxeSj4/Ienu0=
|
||||
k8s.io/kubernetes v1.33.3/go.mod h1:nrt8sldmckKz2fCZhgRX3SKfS2e+CzXATPv6ITNkU00=
|
||||
k8s.io/mount-utils v0.33.3 h1:Q1jsnqdS4LdtJSYSXgiQv/XNrRHQncLk3gMYjKNSZrE=
|
||||
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/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8=
|
||||
|
|
|
@ -1,26 +1,28 @@
|
|||
version: "2"
|
||||
|
||||
run:
|
||||
timeout: 1m
|
||||
tests: true
|
||||
|
||||
linters:
|
||||
disable-all: true
|
||||
enable:
|
||||
default: none
|
||||
enable: # please keep this alphabetized
|
||||
- asasalint
|
||||
- asciicheck
|
||||
- copyloopvar
|
||||
- dupl
|
||||
- errcheck
|
||||
- forcetypeassert
|
||||
- goconst
|
||||
- gocritic
|
||||
- gofmt
|
||||
- goimports
|
||||
- gosimple
|
||||
- govet
|
||||
- ineffassign
|
||||
- misspell
|
||||
- musttag
|
||||
- revive
|
||||
- staticcheck
|
||||
- typecheck
|
||||
- unused
|
||||
|
||||
issues:
|
||||
exclude-use-default: false
|
||||
max-issues-per-linter: 0
|
||||
max-same-issues: 10
|
||||
|
|
|
@ -11,8 +11,6 @@
|
|||
// requires Go 1.6 or later)
|
||||
//
|
||||
// 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"
|
||||
|
||||
import (
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
// Use of this source code is governed by a BSD-style
|
||||
// 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
|
||||
|
|
|
@ -13,7 +13,7 @@ import (
|
|||
)
|
||||
|
||||
// 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
|
||||
// from PEM container before conversion. It only supports PEM
|
||||
// containers with no passphrase.
|
||||
|
|
|
@ -10,7 +10,6 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"math"
|
||||
"mime"
|
||||
"net/http"
|
||||
|
@ -26,9 +25,9 @@ import (
|
|||
// the requests to access protected resources on the OAuth 2.0
|
||||
// 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
|
||||
// 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 {
|
||||
// AccessToken is the token that authorizes and authenticates
|
||||
// the requests.
|
||||
|
@ -50,9 +49,16 @@ type Token struct {
|
|||
// mechanisms for that TokenSource will not be used.
|
||||
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
|
||||
// when updating a token.
|
||||
Raw interface{}
|
||||
Raw any
|
||||
}
|
||||
|
||||
// tokenJSON is the struct representing the HTTP response from OAuth2
|
||||
|
@ -99,14 +105,6 @@ func (e *expirationTime) UnmarshalJSON(b []byte) error {
|
|||
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.
|
||||
type AuthStyle int
|
||||
|
||||
|
@ -143,6 +141,11 @@ func (lc *LazyAuthStyleCache) Get() *AuthStyleCache {
|
|||
return c
|
||||
}
|
||||
|
||||
type authStyleCacheKey struct {
|
||||
url string
|
||||
clientID string
|
||||
}
|
||||
|
||||
// AuthStyleCache is the set of tokenURLs we've successfully used via
|
||||
// RetrieveToken and which style auth we ended up using.
|
||||
// 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.
|
||||
type AuthStyleCache struct {
|
||||
mu sync.Mutex
|
||||
m map[string]AuthStyle // keyed by tokenURL
|
||||
m map[authStyleCacheKey]AuthStyle
|
||||
}
|
||||
|
||||
// lookupAuthStyle reports which auth style we last used with tokenURL
|
||||
// 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()
|
||||
defer c.mu.Unlock()
|
||||
style, ok = c.m[tokenURL]
|
||||
style, ok = c.m[authStyleCacheKey{tokenURL, clientID}]
|
||||
return
|
||||
}
|
||||
|
||||
// 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()
|
||||
defer c.mu.Unlock()
|
||||
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
|
||||
|
@ -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) {
|
||||
needsAuthStyleProbe := authStyle == 0
|
||||
needsAuthStyleProbe := authStyle == AuthStyleUnknown
|
||||
if needsAuthStyleProbe {
|
||||
if style, ok := styleCache.lookupAuthStyle(tokenURL); ok {
|
||||
if style, ok := styleCache.lookupAuthStyle(tokenURL, clientID); ok {
|
||||
authStyle = style
|
||||
needsAuthStyleProbe = false
|
||||
} else {
|
||||
|
@ -242,7 +245,7 @@ func RetrieveToken(ctx context.Context, clientID, clientSecret, tokenURL string,
|
|||
token, err = doTokenRoundTrip(ctx, req)
|
||||
}
|
||||
if needsAuthStyleProbe && err == nil {
|
||||
styleCache.setAuthStyle(tokenURL, authStyle)
|
||||
styleCache.setAuthStyle(tokenURL, clientID, authStyle)
|
||||
}
|
||||
// Don't overwrite `RefreshToken` with an empty value
|
||||
// if this was a token refreshing request.
|
||||
|
@ -257,7 +260,7 @@ func doTokenRoundTrip(ctx context.Context, req *http.Request) (*Token, error) {
|
|||
if err != nil {
|
||||
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()
|
||||
if err != nil {
|
||||
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,
|
||||
RefreshToken: tj.RefreshToken,
|
||||
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
|
||||
}
|
||||
|
|
|
@ -9,8 +9,8 @@ import (
|
|||
"net/http"
|
||||
)
|
||||
|
||||
// HTTPClient is the context key to use with golang.org/x/net/context's
|
||||
// WithValue function to associate an *http.Client value with a context.
|
||||
// HTTPClient is the context key to use with [context.WithValue]
|
||||
// to associate an [*http.Client] value with a context.
|
||||
var HTTPClient ContextKey
|
||||
|
||||
// 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
|
||||
// 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()
|
||||
|
||||
// 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
|
||||
// client application information and the server's endpoint URLs.
|
||||
// For the client credentials 2-legged OAuth2 flow, see the clientcredentials
|
||||
// package (https://golang.org/x/oauth2/clientcredentials).
|
||||
// For the client credentials 2-legged OAuth2 flow, see the
|
||||
// [golang.org/x/oauth2/clientcredentials] package.
|
||||
type Config struct {
|
||||
// ClientID is the application's ID.
|
||||
ClientID string
|
||||
|
@ -46,7 +46,7 @@ type Config struct {
|
|||
// ClientSecret is the application's secret.
|
||||
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
|
||||
// often available via site-specific packages, such as
|
||||
// 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) }
|
||||
|
||||
// SetAuthURLParam builds an AuthCodeOption which passes key/value parameters
|
||||
// SetAuthURLParam builds an [AuthCodeOption] which passes key/value parameters
|
||||
// to a provider's authorization endpoint.
|
||||
func SetAuthURLParam(key, value string) AuthCodeOption {
|
||||
return setParam{key, value}
|
||||
|
@ -148,8 +148,8 @@ func SetAuthURLParam(key, value string) AuthCodeOption {
|
|||
// request and callback. The authorization server includes this value when
|
||||
// redirecting the user agent back to the client.
|
||||
//
|
||||
// Opts may include AccessTypeOnline or AccessTypeOffline, as well
|
||||
// as ApprovalForce.
|
||||
// Opts may include [AccessTypeOnline] or [AccessTypeOffline], as well
|
||||
// as [ApprovalForce].
|
||||
//
|
||||
// To protect against CSRF attacks, opts should include a PKCE challenge
|
||||
// (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."
|
||||
// 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) {
|
||||
v := url.Values{
|
||||
"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
|
||||
// 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
|
||||
// calling Exchange, be sure to validate FormValue("state") if you are
|
||||
// The code will be in the [http.Request.FormValue]("code"). Before
|
||||
// calling Exchange, be sure to validate [http.Request.FormValue]("state") if you are
|
||||
// using it to protect against CSRF attacks.
|
||||
//
|
||||
// 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))
|
||||
}
|
||||
|
||||
// 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.
|
||||
//
|
||||
// Most users will use Config.Client instead.
|
||||
// Most users will use [Config.Client] instead.
|
||||
func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource {
|
||||
tkr := &tokenRefresher{
|
||||
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.
|
||||
type tokenRefresher struct {
|
||||
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
|
||||
// refresh the current token (using r.Context for HTTP client
|
||||
// information) and return the new one.
|
||||
// refresh the current token and return the new one.
|
||||
func (s *reuseTokenSource) Token() (*Token, error) {
|
||||
s.mu.Lock()
|
||||
defer s.mu.Unlock()
|
||||
|
@ -322,7 +321,7 @@ func (s *reuseTokenSource) Token() (*Token, error) {
|
|||
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
|
||||
// useful for tokens that never expire.
|
||||
func StaticTokenSource(t *Token) TokenSource {
|
||||
|
@ -338,16 +337,16 @@ func (s staticTokenSource) Token() (*Token, error) {
|
|||
return s.t, nil
|
||||
}
|
||||
|
||||
// HTTPClient is the context key to use with golang.org/x/net/context's
|
||||
// WithValue function to associate an *http.Client value with a context.
|
||||
// HTTPClient is the context key to use with [context.WithValue]
|
||||
// to associate a [*http.Client] value with a context.
|
||||
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.
|
||||
//
|
||||
// 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
|
||||
// *http.Client returned from NewClient.
|
||||
// [*http.Client] returned from NewClient.
|
||||
//
|
||||
// As a special case, if src is nil, a non-OAuth2 client is returned
|
||||
// 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.
|
||||
// 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
|
||||
// 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
|
||||
// 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 {
|
||||
// Don't wrap a reuseTokenSource in itself. That would work,
|
||||
// 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
|
||||
// TokenSource returned by ReuseTokenSource, except the expiry buffer is
|
||||
// ReuseTokenSourceWithExpiry returns a [TokenSource] that acts in the same manner as the
|
||||
// [TokenSource] returned by [ReuseTokenSource], except the expiry buffer is
|
||||
// configurable. The expiration time of a token is calculated as
|
||||
// t.Expiry.Add(-earlyExpiry).
|
||||
func ReuseTokenSourceWithExpiry(t *Token, src TokenSource, earlyExpiry time.Duration) TokenSource {
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// Copyright 2023 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 oauth2
|
||||
|
||||
import (
|
||||
|
@ -20,9 +21,9 @@ const (
|
|||
// This follows recommendations in RFC 7636.
|
||||
//
|
||||
// A fresh verifier should be generated for each authorization.
|
||||
// S256ChallengeOption(verifier) should then be passed to Config.AuthCodeURL
|
||||
// (or Config.DeviceAuth) and VerifierOption(verifier) to Config.Exchange
|
||||
// (or Config.DeviceAccessToken).
|
||||
// The resulting verifier should be passed to [Config.AuthCodeURL] or [Config.DeviceAuth]
|
||||
// with [S256ChallengeOption], and to [Config.Exchange] or [Config.DeviceAccessToken]
|
||||
// with [VerifierOption].
|
||||
func GenerateVerifier() string {
|
||||
// "RECOMMENDED that the output of a suitable random number generator be
|
||||
// used to create a 32-octet sequence. The octet sequence is then
|
||||
|
@ -36,22 +37,22 @@ func GenerateVerifier() string {
|
|||
return base64.RawURLEncoding.EncodeToString(data)
|
||||
}
|
||||
|
||||
// VerifierOption returns a PKCE code verifier AuthCodeOption. It should be
|
||||
// passed to Config.Exchange or Config.DeviceAccessToken only.
|
||||
// VerifierOption returns a PKCE code verifier [AuthCodeOption]. It should only be
|
||||
// passed to [Config.Exchange] or [Config.DeviceAccessToken].
|
||||
func VerifierOption(verifier string) AuthCodeOption {
|
||||
return setParam{k: codeVerifierKey, v: verifier}
|
||||
}
|
||||
|
||||
// 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 {
|
||||
sha := sha256.Sum256([]byte(verifier))
|
||||
return base64.RawURLEncoding.EncodeToString(sha[:])
|
||||
}
|
||||
|
||||
// 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.
|
||||
func S256ChallengeOption(verifier string) AuthCodeOption {
|
||||
return challengeOption{
|
||||
|
|
|
@ -44,7 +44,7 @@ type Token struct {
|
|||
|
||||
// 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
|
||||
// mechanisms for that TokenSource will not be used.
|
||||
Expiry time.Time `json:"expiry,omitempty"`
|
||||
|
@ -58,7 +58,7 @@ type Token struct {
|
|||
|
||||
// raw optionally contains extra metadata from the server
|
||||
// when updating a token.
|
||||
raw interface{}
|
||||
raw any
|
||||
|
||||
// expiryDelta is used to calculate when a token is considered
|
||||
// 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
|
||||
// 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.
|
||||
func (t *Token) SetAuthHeader(r *http.Request) {
|
||||
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
|
||||
// implementing derivative OAuth2 flows.
|
||||
func (t *Token) WithExtra(extra interface{}) *Token {
|
||||
func (t *Token) WithExtra(extra any) *Token {
|
||||
t2 := new(Token)
|
||||
*t2 = *t
|
||||
t2.raw = extra
|
||||
|
@ -105,8 +105,8 @@ func (t *Token) WithExtra(extra interface{}) *Token {
|
|||
// Extra returns an extra field.
|
||||
// Extra fields are key-value pairs returned by the server as a
|
||||
// part of the token retrieval response.
|
||||
func (t *Token) Extra(key string) interface{} {
|
||||
if raw, ok := t.raw.(map[string]interface{}); ok {
|
||||
func (t *Token) Extra(key string) any {
|
||||
if raw, ok := t.raw.(map[string]any); ok {
|
||||
return raw[key]
|
||||
}
|
||||
|
||||
|
@ -163,13 +163,14 @@ func tokenFromInternal(t *internal.Token) *Token {
|
|||
TokenType: t.TokenType,
|
||||
RefreshToken: t.RefreshToken,
|
||||
Expiry: t.Expiry,
|
||||
ExpiresIn: t.ExpiresIn,
|
||||
raw: t.Raw,
|
||||
}
|
||||
}
|
||||
|
||||
// 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
|
||||
// with an error..
|
||||
// with an 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())
|
||||
if err != nil {
|
||||
|
|
|
@ -11,12 +11,12 @@ import (
|
|||
"sync"
|
||||
)
|
||||
|
||||
// Transport is an http.RoundTripper that makes OAuth 2.0 HTTP requests,
|
||||
// wrapping a base RoundTripper and adding an Authorization header
|
||||
// with a token from the supplied Sources.
|
||||
// Transport is an [http.RoundTripper] that makes OAuth 2.0 HTTP requests,
|
||||
// wrapping a base [http.RoundTripper] and adding an Authorization header
|
||||
// with a token from the supplied [TokenSource].
|
||||
//
|
||||
// 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 {
|
||||
// Source supplies the token to add to outgoing requests'
|
||||
// Authorization headers.
|
||||
|
@ -47,7 +47,7 @@ func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
req2 := cloneRequest(req) // per RoundTripper contract
|
||||
req2 := req.Clone(req.Context())
|
||||
token.SetAuthHeader(req2)
|
||||
|
||||
// req.Body is assumed to be closed by the base RoundTripper.
|
||||
|
@ -73,17 +73,3 @@ func (t *Transport) base() http.RoundTripper {
|
|||
}
|
||||
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 _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='
|
||||
|
|
|
@ -602,14 +602,9 @@ func Connectx(fd int, srcIf uint32, srcAddr, dstAddr Sockaddr, associd SaeAssocI
|
|||
return
|
||||
}
|
||||
|
||||
// sys connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (err error)
|
||||
const minIovec = 8
|
||||
|
||||
func Readv(fd int, iovs [][]byte) (n int, err error) {
|
||||
if !darwinKernelVersionMin(11, 0, 0) {
|
||||
return 0, ENOSYS
|
||||
}
|
||||
|
||||
iovecs := make([]Iovec, 0, minIovec)
|
||||
iovecs = appendBytes(iovecs, iovs)
|
||||
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) {
|
||||
if !darwinKernelVersionMin(11, 0, 0) {
|
||||
return 0, ENOSYS
|
||||
}
|
||||
iovecs := make([]Iovec, 0, minIovec)
|
||||
iovecs = appendBytes(iovecs, iovs)
|
||||
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) {
|
||||
if !darwinKernelVersionMin(11, 0, 0) {
|
||||
return 0, ENOSYS
|
||||
}
|
||||
|
||||
iovecs := make([]Iovec, 0, minIovec)
|
||||
iovecs = appendBytes(iovecs, iovs)
|
||||
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) {
|
||||
if !darwinKernelVersionMin(11, 0, 0) {
|
||||
return 0, ENOSYS
|
||||
}
|
||||
|
||||
iovecs := make([]Iovec, 0, minIovec)
|
||||
iovecs = appendBytes(iovecs, iovs)
|
||||
if raceenabled {
|
||||
|
@ -707,45 +691,7 @@ func readvRacedetect(iovecs []Iovec, n int, err error) {
|
|||
}
|
||||
}
|
||||
|
||||
func darwinMajorMinPatch() (maj, min, patch int, 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 connectx(fd int, endpoints *SaEndpoints, associd SaeAssocID, flags uint32, iov []Iovec, n *uintptr, connid *SaeConnID) (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)
|
||||
|
|
|
@ -328,6 +328,8 @@ const (
|
|||
AUDIT_KERNEL = 0x7d0
|
||||
AUDIT_KERNEL_OTHER = 0x524
|
||||
AUDIT_KERN_MODULE = 0x532
|
||||
AUDIT_LANDLOCK_ACCESS = 0x58f
|
||||
AUDIT_LANDLOCK_DOMAIN = 0x590
|
||||
AUDIT_LAST_FEATURE = 0x1
|
||||
AUDIT_LAST_KERN_ANOM_MSG = 0x707
|
||||
AUDIT_LAST_USER_MSG = 0x4af
|
||||
|
@ -492,6 +494,7 @@ const (
|
|||
BPF_F_BEFORE = 0x8
|
||||
BPF_F_ID = 0x20
|
||||
BPF_F_NETFILTER_IP_DEFRAG = 0x1
|
||||
BPF_F_PREORDER = 0x40
|
||||
BPF_F_QUERY_EFFECTIVE = 0x1
|
||||
BPF_F_REDIRECT_FLAGS = 0x19
|
||||
BPF_F_REPLACE = 0x4
|
||||
|
@ -528,6 +531,7 @@ const (
|
|||
BPF_LDX = 0x1
|
||||
BPF_LEN = 0x80
|
||||
BPF_LL_OFF = -0x200000
|
||||
BPF_LOAD_ACQ = 0x100
|
||||
BPF_LSH = 0x60
|
||||
BPF_MAJOR_VERSION = 0x1
|
||||
BPF_MAXINSNS = 0x1000
|
||||
|
@ -555,6 +559,7 @@ const (
|
|||
BPF_RET = 0x6
|
||||
BPF_RSH = 0x70
|
||||
BPF_ST = 0x2
|
||||
BPF_STORE_REL = 0x110
|
||||
BPF_STX = 0x3
|
||||
BPF_SUB = 0x10
|
||||
BPF_TAG_SIZE = 0x8
|
||||
|
@ -844,9 +849,9 @@ const (
|
|||
DM_UUID_FLAG = 0x4000
|
||||
DM_UUID_LEN = 0x81
|
||||
DM_VERSION = 0xc138fd00
|
||||
DM_VERSION_EXTRA = "-ioctl (2025-01-17)"
|
||||
DM_VERSION_EXTRA = "-ioctl (2025-04-28)"
|
||||
DM_VERSION_MAJOR = 0x4
|
||||
DM_VERSION_MINOR = 0x31
|
||||
DM_VERSION_MINOR = 0x32
|
||||
DM_VERSION_PATCHLEVEL = 0x0
|
||||
DT_BLK = 0x6
|
||||
DT_CHR = 0x2
|
||||
|
@ -937,9 +942,6 @@ const (
|
|||
EPOLL_CTL_MOD = 0x3
|
||||
EPOLL_IOC_TYPE = 0x8a
|
||||
EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2
|
||||
ESP_V4_FLOW = 0xa
|
||||
ESP_V6_FLOW = 0xc
|
||||
ETHER_FLOW = 0x12
|
||||
ETHTOOL_BUSINFO_LEN = 0x20
|
||||
ETHTOOL_EROMVERS_LEN = 0x20
|
||||
ETHTOOL_FAMILY_NAME = "ethtool"
|
||||
|
@ -1213,6 +1215,7 @@ const (
|
|||
FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2
|
||||
FAN_EVENT_INFO_TYPE_ERROR = 0x5
|
||||
FAN_EVENT_INFO_TYPE_FID = 0x1
|
||||
FAN_EVENT_INFO_TYPE_MNT = 0x7
|
||||
FAN_EVENT_INFO_TYPE_NEW_DFID_NAME = 0xc
|
||||
FAN_EVENT_INFO_TYPE_OLD_DFID_NAME = 0xa
|
||||
FAN_EVENT_INFO_TYPE_PIDFD = 0x4
|
||||
|
@ -1231,9 +1234,12 @@ const (
|
|||
FAN_MARK_IGNORED_SURV_MODIFY = 0x40
|
||||
FAN_MARK_IGNORE_SURV = 0x440
|
||||
FAN_MARK_INODE = 0x0
|
||||
FAN_MARK_MNTNS = 0x110
|
||||
FAN_MARK_MOUNT = 0x10
|
||||
FAN_MARK_ONLYDIR = 0x8
|
||||
FAN_MARK_REMOVE = 0x2
|
||||
FAN_MNT_ATTACH = 0x1000000
|
||||
FAN_MNT_DETACH = 0x2000000
|
||||
FAN_MODIFY = 0x2
|
||||
FAN_MOVE = 0xc0
|
||||
FAN_MOVED_FROM = 0x40
|
||||
|
@ -1255,6 +1261,7 @@ const (
|
|||
FAN_REPORT_DIR_FID = 0x400
|
||||
FAN_REPORT_FD_ERROR = 0x2000
|
||||
FAN_REPORT_FID = 0x200
|
||||
FAN_REPORT_MNT = 0x4000
|
||||
FAN_REPORT_NAME = 0x800
|
||||
FAN_REPORT_PIDFD = 0x80
|
||||
FAN_REPORT_TARGET_FID = 0x1000
|
||||
|
@ -1274,6 +1281,7 @@ const (
|
|||
FIB_RULE_PERMANENT = 0x1
|
||||
FIB_RULE_UNRESOLVED = 0x4
|
||||
FIDEDUPERANGE = 0xc0189436
|
||||
FSCRYPT_ADD_KEY_FLAG_HW_WRAPPED = 0x1
|
||||
FSCRYPT_KEY_DESCRIPTOR_SIZE = 0x8
|
||||
FSCRYPT_KEY_DESC_PREFIX = "fscrypt:"
|
||||
FSCRYPT_KEY_DESC_PREFIX_SIZE = 0x8
|
||||
|
@ -1582,7 +1590,6 @@ const (
|
|||
IPV6_DONTFRAG = 0x3e
|
||||
IPV6_DROP_MEMBERSHIP = 0x15
|
||||
IPV6_DSTOPTS = 0x3b
|
||||
IPV6_FLOW = 0x11
|
||||
IPV6_FREEBIND = 0x4e
|
||||
IPV6_HDRINCL = 0x24
|
||||
IPV6_HOPLIMIT = 0x34
|
||||
|
@ -1633,7 +1640,6 @@ const (
|
|||
IPV6_TRANSPARENT = 0x4b
|
||||
IPV6_UNICAST_HOPS = 0x10
|
||||
IPV6_UNICAST_IF = 0x4c
|
||||
IPV6_USER_FLOW = 0xe
|
||||
IPV6_V6ONLY = 0x1a
|
||||
IPV6_VERSION = 0x60
|
||||
IPV6_VERSION_MASK = 0xf0
|
||||
|
@ -1695,7 +1701,6 @@ const (
|
|||
IP_TTL = 0x2
|
||||
IP_UNBLOCK_SOURCE = 0x25
|
||||
IP_UNICAST_IF = 0x32
|
||||
IP_USER_FLOW = 0xd
|
||||
IP_XFRM_POLICY = 0x11
|
||||
ISOFS_SUPER_MAGIC = 0x9660
|
||||
ISTRIP = 0x20
|
||||
|
@ -1817,7 +1822,11 @@ const (
|
|||
LANDLOCK_ACCESS_FS_WRITE_FILE = 0x2
|
||||
LANDLOCK_ACCESS_NET_BIND_TCP = 0x1
|
||||
LANDLOCK_ACCESS_NET_CONNECT_TCP = 0x2
|
||||
LANDLOCK_CREATE_RULESET_ERRATA = 0x2
|
||||
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_SIGNAL = 0x2
|
||||
LINUX_REBOOT_CMD_CAD_OFF = 0x0
|
||||
|
@ -2493,6 +2502,10 @@ const (
|
|||
PR_FP_EXC_UND = 0x40000
|
||||
PR_FP_MODE_FR = 0x1
|
||||
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_CHILD_SUBREAPER = 0x25
|
||||
PR_GET_DUMPABLE = 0x3
|
||||
|
@ -2652,6 +2665,10 @@ const (
|
|||
PR_TAGGED_ADDR_ENABLE = 0x1
|
||||
PR_TASK_PERF_EVENTS_DISABLE = 0x1f
|
||||
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_TIMESTAMP = 0x1
|
||||
PR_TSC_ENABLE = 0x1
|
||||
|
@ -2732,6 +2749,7 @@ const (
|
|||
PTRACE_SETREGSET = 0x4205
|
||||
PTRACE_SETSIGINFO = 0x4203
|
||||
PTRACE_SETSIGMASK = 0x420b
|
||||
PTRACE_SET_SYSCALL_INFO = 0x4212
|
||||
PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210
|
||||
PTRACE_SINGLESTEP = 0x9
|
||||
PTRACE_SYSCALL = 0x18
|
||||
|
@ -2982,6 +3000,7 @@ const (
|
|||
RTPROT_NTK = 0xf
|
||||
RTPROT_OPENR = 0x63
|
||||
RTPROT_OSPF = 0xbc
|
||||
RTPROT_OVN = 0x54
|
||||
RTPROT_RA = 0x9
|
||||
RTPROT_REDIRECT = 0x1
|
||||
RTPROT_RIP = 0xbd
|
||||
|
@ -3336,7 +3355,7 @@ const (
|
|||
TASKSTATS_GENL_NAME = "TASKSTATS"
|
||||
TASKSTATS_GENL_VERSION = 0x1
|
||||
TASKSTATS_TYPE_MAX = 0x6
|
||||
TASKSTATS_VERSION = 0xf
|
||||
TASKSTATS_VERSION = 0x10
|
||||
TCIFLUSH = 0x0
|
||||
TCIOFF = 0x2
|
||||
TCIOFLUSH = 0x2
|
||||
|
@ -3406,8 +3425,6 @@ const (
|
|||
TCP_TX_DELAY = 0x25
|
||||
TCP_ULP = 0x1f
|
||||
TCP_USER_TIMEOUT = 0x12
|
||||
TCP_V4_FLOW = 0x1
|
||||
TCP_V6_FLOW = 0x5
|
||||
TCP_WINDOW_CLAMP = 0xa
|
||||
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||
TFD_TIMER_ABSTIME = 0x1
|
||||
|
@ -3530,8 +3547,6 @@ const (
|
|||
UDP_NO_CHECK6_RX = 0x66
|
||||
UDP_NO_CHECK6_TX = 0x65
|
||||
UDP_SEGMENT = 0x67
|
||||
UDP_V4_FLOW = 0x2
|
||||
UDP_V6_FLOW = 0x6
|
||||
UMOUNT_NOFOLLOW = 0x8
|
||||
USBDEVICE_SUPER_MAGIC = 0x9fa2
|
||||
UTIME_NOW = 0x3fffffff
|
||||
|
@ -3574,7 +3589,7 @@ const (
|
|||
WDIOS_TEMPPANIC = 0x4
|
||||
WDIOS_UNKNOWN = -0x1
|
||||
WEXITED = 0x4
|
||||
WGALLOWEDIP_A_MAX = 0x3
|
||||
WGALLOWEDIP_A_MAX = 0x4
|
||||
WGDEVICE_A_MAX = 0x8
|
||||
WGPEER_A_MAX = 0xa
|
||||
WG_CMD_MAX = 0x1
|
||||
|
@ -3688,6 +3703,7 @@ const (
|
|||
XDP_SHARED_UMEM = 0x1
|
||||
XDP_STATISTICS = 0x7
|
||||
XDP_TXMD_FLAGS_CHECKSUM = 0x2
|
||||
XDP_TXMD_FLAGS_LAUNCH_TIME = 0x4
|
||||
XDP_TXMD_FLAGS_TIMESTAMP = 0x1
|
||||
XDP_TX_METADATA = 0x2
|
||||
XDP_TX_RING = 0x3
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||
ECCGETLAYOUT = 0x81484d11
|
||||
ECCGETSTATS = 0x80104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -360,6 +361,7 @@ const (
|
|||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x10
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x11
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||
ECCGETLAYOUT = 0x81484d11
|
||||
ECCGETSTATS = 0x80104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -361,6 +362,7 @@ const (
|
|||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x10
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x11
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||
ECCGETLAYOUT = 0x81484d11
|
||||
ECCGETSTATS = 0x80104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -366,6 +367,7 @@ const (
|
|||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x10
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x11
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||
ECCGETLAYOUT = 0x81484d11
|
||||
ECCGETSTATS = 0x80104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -359,6 +360,7 @@ const (
|
|||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x10
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x11
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||
ECCGETLAYOUT = 0x81484d11
|
||||
ECCGETSTATS = 0x80104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -353,6 +354,7 @@ const (
|
|||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x10
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x11
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||
ECCGETLAYOUT = 0x41484d11
|
||||
ECCGETSTATS = 0x40104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -359,6 +360,7 @@ const (
|
|||
SO_OOBINLINE = 0x100
|
||||
SO_PASSCRED = 0x11
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x12
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||
ECCGETLAYOUT = 0x41484d11
|
||||
ECCGETSTATS = 0x40104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -359,6 +360,7 @@ const (
|
|||
SO_OOBINLINE = 0x100
|
||||
SO_PASSCRED = 0x11
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x12
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||
ECCGETLAYOUT = 0x41484d11
|
||||
ECCGETSTATS = 0x40104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -359,6 +360,7 @@ const (
|
|||
SO_OOBINLINE = 0x100
|
||||
SO_PASSCRED = 0x11
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x12
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||
ECCGETLAYOUT = 0x41484d11
|
||||
ECCGETSTATS = 0x40104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -359,6 +360,7 @@ const (
|
|||
SO_OOBINLINE = 0x100
|
||||
SO_PASSCRED = 0x11
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x12
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x300
|
||||
CSIZE = 0x300
|
||||
CSTOPB = 0x400
|
||||
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||
ECCGETLAYOUT = 0x41484d11
|
||||
ECCGETSTATS = 0x40104d12
|
||||
ECHOCTL = 0x40
|
||||
|
@ -414,6 +415,7 @@ const (
|
|||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x14
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x15
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x300
|
||||
CSIZE = 0x300
|
||||
CSTOPB = 0x400
|
||||
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||
ECCGETLAYOUT = 0x41484d11
|
||||
ECCGETSTATS = 0x40104d12
|
||||
ECHOCTL = 0x40
|
||||
|
@ -418,6 +419,7 @@ const (
|
|||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x14
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x15
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x300
|
||||
CSIZE = 0x300
|
||||
CSTOPB = 0x400
|
||||
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||
ECCGETLAYOUT = 0x41484d11
|
||||
ECCGETSTATS = 0x40104d12
|
||||
ECHOCTL = 0x40
|
||||
|
@ -418,6 +419,7 @@ const (
|
|||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x14
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x15
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||
ECCGETLAYOUT = 0x81484d11
|
||||
ECCGETSTATS = 0x80104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -350,6 +351,7 @@ const (
|
|||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x10
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x11
|
||||
|
|
|
@ -68,6 +68,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0xfd12
|
||||
ECCGETLAYOUT = 0x81484d11
|
||||
ECCGETSTATS = 0x80104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -422,6 +423,7 @@ const (
|
|||
SO_OOBINLINE = 0xa
|
||||
SO_PASSCRED = 0x10
|
||||
SO_PASSPIDFD = 0x4c
|
||||
SO_PASSRIGHTS = 0x53
|
||||
SO_PASSSEC = 0x22
|
||||
SO_PEEK_OFF = 0x2a
|
||||
SO_PEERCRED = 0x11
|
||||
|
|
|
@ -71,6 +71,7 @@ const (
|
|||
CS8 = 0x30
|
||||
CSIZE = 0x30
|
||||
CSTOPB = 0x40
|
||||
DM_MPATH_PROBE_PATHS = 0x2000fd12
|
||||
ECCGETLAYOUT = 0x41484d11
|
||||
ECCGETSTATS = 0x40104d12
|
||||
ECHOCTL = 0x200
|
||||
|
@ -461,6 +462,7 @@ const (
|
|||
SO_OOBINLINE = 0x100
|
||||
SO_PASSCRED = 0x2
|
||||
SO_PASSPIDFD = 0x55
|
||||
SO_PASSRIGHTS = 0x5c
|
||||
SO_PASSSEC = 0x1f
|
||||
SO_PEEK_OFF = 0x26
|
||||
SO_PEERCRED = 0x40
|
||||
|
|
|
@ -462,4 +462,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -385,4 +385,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -426,4 +426,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -329,4 +329,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -325,4 +325,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -446,4 +446,5 @@ const (
|
|||
SYS_GETXATTRAT = 4464
|
||||
SYS_LISTXATTRAT = 4465
|
||||
SYS_REMOVEXATTRAT = 4466
|
||||
SYS_OPEN_TREE_ATTR = 4467
|
||||
)
|
||||
|
|
|
@ -376,4 +376,5 @@ const (
|
|||
SYS_GETXATTRAT = 5464
|
||||
SYS_LISTXATTRAT = 5465
|
||||
SYS_REMOVEXATTRAT = 5466
|
||||
SYS_OPEN_TREE_ATTR = 5467
|
||||
)
|
||||
|
|
|
@ -376,4 +376,5 @@ const (
|
|||
SYS_GETXATTRAT = 5464
|
||||
SYS_LISTXATTRAT = 5465
|
||||
SYS_REMOVEXATTRAT = 5466
|
||||
SYS_OPEN_TREE_ATTR = 5467
|
||||
)
|
||||
|
|
|
@ -446,4 +446,5 @@ const (
|
|||
SYS_GETXATTRAT = 4464
|
||||
SYS_LISTXATTRAT = 4465
|
||||
SYS_REMOVEXATTRAT = 4466
|
||||
SYS_OPEN_TREE_ATTR = 4467
|
||||
)
|
||||
|
|
|
@ -453,4 +453,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -425,4 +425,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -425,4 +425,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -330,4 +330,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -391,4 +391,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -404,4 +404,5 @@ const (
|
|||
SYS_GETXATTRAT = 464
|
||||
SYS_LISTXATTRAT = 465
|
||||
SYS_REMOVEXATTRAT = 466
|
||||
SYS_OPEN_TREE_ATTR = 467
|
||||
)
|
||||
|
|
|
@ -115,7 +115,9 @@ type Statx_t struct {
|
|||
Atomic_write_unit_max uint32
|
||||
Atomic_write_segments_max uint32
|
||||
Dio_read_offset_align uint32
|
||||
_ [9]uint64
|
||||
Atomic_write_unit_max_opt uint32
|
||||
_ [1]uint32
|
||||
_ [8]uint64
|
||||
}
|
||||
|
||||
type Fsid struct {
|
||||
|
@ -199,7 +201,8 @@ type FscryptAddKeyArg struct {
|
|||
Key_spec FscryptKeySpecifier
|
||||
Raw_size uint32
|
||||
Key_id uint32
|
||||
_ [8]uint32
|
||||
Flags uint32
|
||||
_ [7]uint32
|
||||
}
|
||||
|
||||
type FscryptRemoveKeyArg struct {
|
||||
|
@ -2317,6 +2320,11 @@ const (
|
|||
NFT_CT_AVGPKT = 0x10
|
||||
NFT_CT_ZONE = 0x11
|
||||
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_DREG = 0x1
|
||||
NFTA_CT_KEY = 0x2
|
||||
|
@ -2597,8 +2605,8 @@ const (
|
|||
SOF_TIMESTAMPING_BIND_PHC = 0x8000
|
||||
SOF_TIMESTAMPING_OPT_ID_TCP = 0x10000
|
||||
|
||||
SOF_TIMESTAMPING_LAST = 0x20000
|
||||
SOF_TIMESTAMPING_MASK = 0x3ffff
|
||||
SOF_TIMESTAMPING_LAST = 0x40000
|
||||
SOF_TIMESTAMPING_MASK = 0x7ffff
|
||||
|
||||
SCM_TSTAMP_SND = 0x0
|
||||
SCM_TSTAMP_SCHED = 0x1
|
||||
|
@ -4044,7 +4052,7 @@ const (
|
|||
ETHTOOL_A_TSINFO_PHC_INDEX = 0x5
|
||||
ETHTOOL_A_TSINFO_STATS = 0x6
|
||||
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_HEADER = 0x1
|
||||
ETHTOOL_A_CABLE_TEST_MAX = 0x1
|
||||
|
@ -4130,6 +4138,19 @@ const (
|
|||
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
|
||||
|
||||
type EthtoolDrvinfo struct {
|
||||
|
@ -4780,7 +4801,7 @@ const (
|
|||
NL80211_ATTR_MAC_HINT = 0xc8
|
||||
NL80211_ATTR_MAC_MASK = 0xd7
|
||||
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_CSA_COUNTERS = 0xce
|
||||
NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS = 0x143
|
||||
|
@ -5414,7 +5435,7 @@ const (
|
|||
NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf
|
||||
NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe
|
||||
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_NO_10MHZ = 0x11
|
||||
NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc
|
||||
|
@ -5530,7 +5551,7 @@ const (
|
|||
NL80211_MAX_SUPP_SELECTORS = 0x80
|
||||
NL80211_MBSSID_CONFIG_ATTR_EMA = 0x5
|
||||
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_INTERFACES = 0x1
|
||||
NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX = 0x4
|
||||
|
|
|
@ -282,19 +282,13 @@ type Taskstats struct {
|
|||
Ac_exitcode uint32
|
||||
Ac_flag uint8
|
||||
Ac_nice uint8
|
||||
_ [4]byte
|
||||
_ [6]byte
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]int8
|
||||
|
@ -330,17 +324,11 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
_ [4]byte
|
||||
Ac_tgetime uint64
|
||||
|
@ -348,10 +336,22 @@ type Taskstats struct {
|
|||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -300,16 +300,10 @@ type Taskstats struct {
|
|||
Ac_nice uint8
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]int8
|
||||
|
@ -344,27 +338,33 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
Ac_tgetime uint64
|
||||
Ac_exe_dev uint64
|
||||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -91,7 +91,7 @@ type Stat_t struct {
|
|||
Gid uint32
|
||||
Rdev uint64
|
||||
_ uint16
|
||||
_ [4]byte
|
||||
_ [6]byte
|
||||
Size int64
|
||||
Blksize int32
|
||||
_ [4]byte
|
||||
|
@ -273,19 +273,13 @@ type Taskstats struct {
|
|||
Ac_exitcode uint32
|
||||
Ac_flag uint8
|
||||
Ac_nice uint8
|
||||
_ [4]byte
|
||||
_ [6]byte
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]uint8
|
||||
|
@ -321,17 +315,11 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
_ [4]byte
|
||||
Ac_tgetime uint64
|
||||
|
@ -339,10 +327,22 @@ type Taskstats struct {
|
|||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -279,16 +279,10 @@ type Taskstats struct {
|
|||
Ac_nice uint8
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]int8
|
||||
|
@ -323,27 +317,33 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
Ac_tgetime uint64
|
||||
Ac_exe_dev uint64
|
||||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -280,16 +280,10 @@ type Taskstats struct {
|
|||
Ac_nice uint8
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]int8
|
||||
|
@ -324,27 +318,33 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
Ac_tgetime uint64
|
||||
Ac_exe_dev uint64
|
||||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -278,19 +278,13 @@ type Taskstats struct {
|
|||
Ac_exitcode uint32
|
||||
Ac_flag uint8
|
||||
Ac_nice uint8
|
||||
_ [4]byte
|
||||
_ [6]byte
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]int8
|
||||
|
@ -326,17 +320,11 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
_ [4]byte
|
||||
Ac_tgetime uint64
|
||||
|
@ -344,10 +332,22 @@ type Taskstats struct {
|
|||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -282,16 +282,10 @@ type Taskstats struct {
|
|||
Ac_nice uint8
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]int8
|
||||
|
@ -326,27 +320,33 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
Ac_tgetime uint64
|
||||
Ac_exe_dev uint64
|
||||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -282,16 +282,10 @@ type Taskstats struct {
|
|||
Ac_nice uint8
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]int8
|
||||
|
@ -326,27 +320,33 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
Ac_tgetime uint64
|
||||
Ac_exe_dev uint64
|
||||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -278,19 +278,13 @@ type Taskstats struct {
|
|||
Ac_exitcode uint32
|
||||
Ac_flag uint8
|
||||
Ac_nice uint8
|
||||
_ [4]byte
|
||||
_ [6]byte
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]int8
|
||||
|
@ -326,17 +320,11 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
_ [4]byte
|
||||
Ac_tgetime uint64
|
||||
|
@ -344,10 +332,22 @@ type Taskstats struct {
|
|||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -90,7 +90,7 @@ type Stat_t struct {
|
|||
Gid uint32
|
||||
Rdev uint64
|
||||
_ uint16
|
||||
_ [4]byte
|
||||
_ [6]byte
|
||||
Size int64
|
||||
Blksize int32
|
||||
_ [4]byte
|
||||
|
@ -285,19 +285,13 @@ type Taskstats struct {
|
|||
Ac_exitcode uint32
|
||||
Ac_flag uint8
|
||||
Ac_nice uint8
|
||||
_ [4]byte
|
||||
_ [6]byte
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]uint8
|
||||
|
@ -333,17 +327,11 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
_ [4]byte
|
||||
Ac_tgetime uint64
|
||||
|
@ -351,10 +339,22 @@ type Taskstats struct {
|
|||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -289,16 +289,10 @@ type Taskstats struct {
|
|||
Ac_nice uint8
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]uint8
|
||||
|
@ -333,27 +327,33 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
Ac_tgetime uint64
|
||||
Ac_exe_dev uint64
|
||||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -289,16 +289,10 @@ type Taskstats struct {
|
|||
Ac_nice uint8
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]uint8
|
||||
|
@ -333,27 +327,33 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
Ac_tgetime uint64
|
||||
Ac_exe_dev uint64
|
||||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -307,16 +307,10 @@ type Taskstats struct {
|
|||
Ac_nice uint8
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]uint8
|
||||
|
@ -351,27 +345,33 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
Ac_tgetime uint64
|
||||
Ac_exe_dev uint64
|
||||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -302,16 +302,10 @@ type Taskstats struct {
|
|||
Ac_nice uint8
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]int8
|
||||
|
@ -346,27 +340,33 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
Ac_tgetime uint64
|
||||
Ac_exe_dev uint64
|
||||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -284,16 +284,10 @@ type Taskstats struct {
|
|||
Ac_nice uint8
|
||||
Cpu_count uint64
|
||||
Cpu_delay_total uint64
|
||||
Cpu_delay_max uint64
|
||||
Cpu_delay_min uint64
|
||||
Blkio_count uint64
|
||||
Blkio_delay_total uint64
|
||||
Blkio_delay_max uint64
|
||||
Blkio_delay_min uint64
|
||||
Swapin_count uint64
|
||||
Swapin_delay_total uint64
|
||||
Swapin_delay_max uint64
|
||||
Swapin_delay_min uint64
|
||||
Cpu_run_real_total uint64
|
||||
Cpu_run_virtual_total uint64
|
||||
Ac_comm [32]int8
|
||||
|
@ -328,27 +322,33 @@ type Taskstats struct {
|
|||
Cpu_scaled_run_real_total uint64
|
||||
Freepages_count uint64
|
||||
Freepages_delay_total uint64
|
||||
Freepages_delay_max uint64
|
||||
Freepages_delay_min uint64
|
||||
Thrashing_count uint64
|
||||
Thrashing_delay_total uint64
|
||||
Thrashing_delay_max uint64
|
||||
Thrashing_delay_min uint64
|
||||
Ac_btime64 uint64
|
||||
Compact_count uint64
|
||||
Compact_delay_total uint64
|
||||
Compact_delay_max uint64
|
||||
Compact_delay_min uint64
|
||||
Ac_tgid uint32
|
||||
Ac_tgetime uint64
|
||||
Ac_exe_dev uint64
|
||||
Ac_exe_inode uint64
|
||||
Wpcopy_count uint64
|
||||
Wpcopy_delay_total uint64
|
||||
Wpcopy_delay_max uint64
|
||||
Wpcopy_delay_min uint64
|
||||
Irq_count 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_min uint64
|
||||
}
|
||||
|
|
|
@ -20,12 +20,14 @@ func isTerminal(fd int) bool {
|
|||
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) {
|
||||
var st uint32
|
||||
if err := windows.GetConsoleMode(windows.Handle(fd), &st); err != nil {
|
||||
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
|
||||
if err := windows.SetConsoleMode(windows.Handle(fd), raw); err != nil {
|
||||
return nil, err
|
||||
|
|
|
@ -146,6 +146,7 @@ const (
|
|||
keyCtrlD = 4
|
||||
keyCtrlU = 21
|
||||
keyEnter = '\r'
|
||||
keyLF = '\n'
|
||||
keyEscape = 27
|
||||
keyBackspace = 127
|
||||
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
|
||||
// that the user has entered.
|
||||
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)
|
||||
return
|
||||
}
|
||||
|
@ -567,7 +568,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) {
|
|||
t.setLine(runes, len(runes))
|
||||
}
|
||||
}
|
||||
case keyEnter:
|
||||
case keyEnter, keyLF:
|
||||
t.moveCursorToPos(len(t.line))
|
||||
t.queue([]rune("\r\n"))
|
||||
line = string(t.line)
|
||||
|
@ -812,6 +813,10 @@ func (t *Terminal) readLine() (line string, err error) {
|
|||
if !t.pasteActive {
|
||||
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)
|
||||
}
|
||||
if len(rest) > 0 {
|
||||
|
|
|
@ -360,6 +360,10 @@ type Balancer interface {
|
|||
// call SubConn.Shutdown for its existing SubConns; however, this will be
|
||||
// required in a future release, so it is recommended.
|
||||
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
|
||||
|
@ -367,8 +371,8 @@ type Balancer interface {
|
|||
// the ClientConn is idle. If unimplemented, ClientConn.Connect will cause
|
||||
// all SubConns to connect.
|
||||
//
|
||||
// Notice: it will be required for all balancers to implement this in a future
|
||||
// release.
|
||||
// Deprecated: All balancers must implement this interface. This interface will
|
||||
// be removed in a future release.
|
||||
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
|
||||
|
|
|
@ -45,7 +45,15 @@ type ChildState struct {
|
|||
|
||||
// Balancer exposes only the ExitIdler interface of the child LB policy.
|
||||
// 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
|
||||
|
@ -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,
|
||||
// and a picker with round robin behavior with all the child states present if
|
||||
// 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
|
||||
// avoid deadlocks due to synchronous balancer state updates.
|
||||
func (bw *balancerWrapper) ExitIdle() {
|
||||
if ei, ok := bw.child.(balancer.ExitIdler); ok {
|
||||
go func() {
|
||||
bw.es.childMu.Lock()
|
||||
if !bw.isClosed {
|
||||
ei.ExitIdle()
|
||||
}
|
||||
bw.es.childMu.Unlock()
|
||||
}()
|
||||
}
|
||||
go func() {
|
||||
bw.es.childMu.Lock()
|
||||
if !bw.isClosed {
|
||||
bw.child.ExitIdle()
|
||||
}
|
||||
bw.es.childMu.Unlock()
|
||||
}()
|
||||
}
|
||||
|
||||
// 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{})
|
||||
}
|
||||
|
||||
type (
|
||||
// enableHealthListenerKeyType is a unique key type used in resolver
|
||||
// attributes to indicate whether the health listener usage is enabled.
|
||||
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{}
|
||||
)
|
||||
// enableHealthListenerKeyType is a unique key type used in resolver
|
||||
// attributes to indicate whether the health listener usage is enabled.
|
||||
type enableHealthListenerKeyType struct{}
|
||||
|
||||
var (
|
||||
logger = grpclog.Component("pick-first-leaf-lb")
|
||||
|
@ -149,17 +140,6 @@ func EnableHealthListener(state resolver.State) resolver.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 {
|
||||
serviceconfig.LoadBalancingConfig `json:"-"`
|
||||
|
||||
|
@ -186,7 +166,6 @@ type scData struct {
|
|||
}
|
||||
|
||||
func (b *pickfirstBalancer) newSCData(addr resolver.Address) (*scData, error) {
|
||||
addr.BalancerAttributes = addr.BalancerAttributes.WithValue(managedByPickfirstKeyType{}, true)
|
||||
sd := &scData{
|
||||
rawConnectivityState: connectivity.Idle,
|
||||
effectiveState: connectivity.Idle,
|
||||
|
|
|
@ -70,10 +70,3 @@ func (b *rrBalancer) UpdateClientConnState(ccs balancer.ClientConnState) error {
|
|||
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 {
|
||||
return newFuncDialOption(func(o *dialOptions) {
|
||||
o.copts.InitialWindowSize = s
|
||||
o.copts.StaticWindowSize = true
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -222,6 +223,26 @@ func WithInitialWindowSize(s int32) DialOption {
|
|||
func WithInitialConnWindowSize(s int32) DialOption {
|
||||
return newFuncDialOption(func(o *dialOptions) {
|
||||
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{}
|
||||
|
||||
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) {
|
||||
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 {
|
||||
return status.Errorf(codes.Unimplemented, "method Watch not implemented")
|
||||
return status.Error(codes.Unimplemented, "method Watch not implemented")
|
||||
}
|
||||
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
|
||||
// Balancer field happens in SwitchTo, which completes before this can be
|
||||
// called.
|
||||
if ei, ok := balToUpdate.Balancer.(balancer.ExitIdler); ok {
|
||||
ei.ExitIdle()
|
||||
return
|
||||
}
|
||||
gsb.mu.Lock()
|
||||
defer gsb.mu.Unlock()
|
||||
for sc := range balToUpdate.subconns {
|
||||
sc.Connect()
|
||||
}
|
||||
balToUpdate.ExitIdle()
|
||||
}
|
||||
|
||||
// updateSubConnState forwards the update to the appropriate child.
|
||||
|
|
|
@ -33,10 +33,6 @@ var (
|
|||
// "GRPC_RING_HASH_CAP". This does not override the default bounds
|
||||
// checking which NACKs configs specifying ring sizes > 8*1024*1024 (~8M).
|
||||
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
|
||||
// handshakes that can be performed.
|
||||
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)
|
||||
}
|
||||
|
||||
// itemNodePool is used to reduce heap allocations.
|
||||
var itemNodePool = sync.Pool{
|
||||
New: func() any {
|
||||
return &itemNode{}
|
||||
},
|
||||
}
|
||||
|
||||
type itemNode struct {
|
||||
it any
|
||||
next *itemNode
|
||||
|
@ -51,7 +58,9 @@ type itemList struct {
|
|||
}
|
||||
|
||||
func (il *itemList) enqueue(i any) {
|
||||
n := &itemNode{it: i}
|
||||
n := itemNodePool.Get().(*itemNode)
|
||||
n.next = nil
|
||||
n.it = i
|
||||
if il.tail == nil {
|
||||
il.head, il.tail = n, n
|
||||
return
|
||||
|
@ -71,7 +80,9 @@ func (il *itemList) dequeue() any {
|
|||
return nil
|
||||
}
|
||||
i := il.head.it
|
||||
temp := il.head
|
||||
il.head = il.head.next
|
||||
itemNodePool.Put(temp)
|
||||
if il.head == nil {
|
||||
il.tail = nil
|
||||
}
|
||||
|
@ -146,10 +157,11 @@ type earlyAbortStream struct {
|
|||
func (*earlyAbortStream) isTransportResponseFrame() bool { return false }
|
||||
|
||||
type dataFrame struct {
|
||||
streamID uint32
|
||||
endStream bool
|
||||
h []byte
|
||||
reader mem.Reader
|
||||
streamID uint32
|
||||
endStream bool
|
||||
h []byte
|
||||
data mem.BufferSlice
|
||||
processing bool
|
||||
// onEachWrite is called every time
|
||||
// a part of data is written out.
|
||||
onEachWrite func()
|
||||
|
@ -234,6 +246,7 @@ type outStream struct {
|
|||
itl *itemList
|
||||
bytesOutStanding int
|
||||
wq *writeQuota
|
||||
reader mem.Reader
|
||||
|
||||
next *outStream
|
||||
prev *outStream
|
||||
|
@ -461,7 +474,9 @@ func (c *controlBuffer) finish() {
|
|||
v.onOrphaned(ErrConnClosing)
|
||||
}
|
||||
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) {
|
||||
str := &outStream{
|
||||
id: h.streamID,
|
||||
state: empty,
|
||||
itl: &itemList{},
|
||||
wq: h.wq,
|
||||
id: h.streamID,
|
||||
state: empty,
|
||||
itl: &itemList{},
|
||||
wq: h.wq,
|
||||
reader: mem.BufferSlice{}.Reader(),
|
||||
}
|
||||
l.estdStreams[h.streamID] = str
|
||||
}
|
||||
|
@ -685,10 +701,11 @@ func (l *loopyWriter) headerHandler(h *headerFrame) error {
|
|||
}
|
||||
// Case 2: Client wants to originate stream.
|
||||
str := &outStream{
|
||||
id: h.streamID,
|
||||
state: empty,
|
||||
itl: &itemList{},
|
||||
wq: h.wq,
|
||||
id: h.streamID,
|
||||
state: empty,
|
||||
itl: &itemList{},
|
||||
wq: h.wq,
|
||||
reader: mem.BufferSlice{}.Reader(),
|
||||
}
|
||||
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
|
||||
// not be established yet.
|
||||
delete(l.estdStreams, c.streamID)
|
||||
str.reader.Close()
|
||||
str.deleteSelf()
|
||||
for head := str.itl.dequeueAll(); head != nil; head = head.next {
|
||||
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 {
|
||||
return true, nil
|
||||
}
|
||||
reader := str.reader
|
||||
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
|
||||
// multiple HTTP2 data frames.
|
||||
// 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
|
||||
// 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
|
||||
if err := l.framer.fr.WriteData(dataItem.streamID, dataItem.endStream, nil); err != nil {
|
||||
return false, err
|
||||
}
|
||||
str.itl.dequeue() // remove the empty data item from stream
|
||||
_ = dataItem.reader.Close()
|
||||
_ = reader.Close()
|
||||
if str.itl.isEmpty() {
|
||||
str.state = empty
|
||||
} 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
|
||||
hSize := min(maxSize, len(dataItem.h))
|
||||
dSize := min(maxSize-hSize, dataItem.reader.Remaining())
|
||||
remainingBytes := len(dataItem.h) + dataItem.reader.Remaining() - hSize - dSize
|
||||
dSize := min(maxSize-hSize, reader.Remaining())
|
||||
remainingBytes := len(dataItem.h) + reader.Remaining() - hSize - dSize
|
||||
size := hSize + dSize
|
||||
|
||||
var buf *[]byte
|
||||
|
@ -993,7 +1019,7 @@ func (l *loopyWriter) processData() (bool, error) {
|
|||
defer pool.Put(buf)
|
||||
|
||||
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
|
||||
|
@ -1014,7 +1040,7 @@ func (l *loopyWriter) processData() (bool, error) {
|
|||
dataItem.h = dataItem.h[hSize:]
|
||||
|
||||
if remainingBytes == 0 { // All the data from that message was written out.
|
||||
_ = dataItem.reader.Close()
|
||||
_ = reader.Close()
|
||||
str.itl.dequeue()
|
||||
}
|
||||
if str.itl.isEmpty() {
|
||||
|
|
|
@ -309,11 +309,9 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
|
|||
scheme = "https"
|
||||
}
|
||||
}
|
||||
dynamicWindow := true
|
||||
icwz := int32(initialWindowSize)
|
||||
if opts.InitialConnWindowSize >= defaultWindowSize {
|
||||
icwz = opts.InitialConnWindowSize
|
||||
dynamicWindow = false
|
||||
}
|
||||
writeBufSize := opts.WriteBufferSize
|
||||
readBufSize := opts.ReadBufferSize
|
||||
|
@ -381,9 +379,8 @@ func NewHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
|
|||
t.controlBuf = newControlBuffer(t.ctxDone)
|
||||
if opts.InitialWindowSize >= defaultWindowSize {
|
||||
t.initialWindowSize = opts.InitialWindowSize
|
||||
dynamicWindow = false
|
||||
}
|
||||
if dynamicWindow {
|
||||
if !opts.StaticWindowSize {
|
||||
t.bdpEst = &bdpEstimator{
|
||||
bdp: initialWindowSize,
|
||||
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
|
||||
// should proceed only if Write returns nil.
|
||||
func (t *http2Client) write(s *ClientStream, hdr []byte, data mem.BufferSlice, opts *WriteOptions) error {
|
||||
reader := data.Reader()
|
||||
|
||||
if opts.Last {
|
||||
// If it's the last message, update stream state.
|
||||
if !s.compareAndSwapState(streamActive, streamWriteDone) {
|
||||
_ = reader.Close()
|
||||
return errStreamDone
|
||||
}
|
||||
} else if s.getState() != streamActive {
|
||||
_ = reader.Close()
|
||||
return errStreamDone
|
||||
}
|
||||
df := &dataFrame{
|
||||
streamID: s.id,
|
||||
endStream: opts.Last,
|
||||
h: hdr,
|
||||
reader: reader,
|
||||
data: data,
|
||||
}
|
||||
if hdr != nil || df.reader.Remaining() != 0 { // If it's not an empty data frame, check quota.
|
||||
if err := s.wq.get(int32(len(hdr) + df.reader.Remaining())); err != nil {
|
||||
_ = reader.Close()
|
||||
dataLen := data.Len()
|
||||
if hdr != nil || dataLen != 0 { // If it's not an empty data frame, check quota.
|
||||
if err := s.wq.get(int32(len(hdr) + dataLen)); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
data.Ref()
|
||||
if err := t.controlBuf.put(df); err != nil {
|
||||
_ = reader.Close()
|
||||
data.Free()
|
||||
return err
|
||||
}
|
||||
t.incrMsgSent()
|
||||
|
|
|
@ -132,6 +132,10 @@ type http2Server struct {
|
|||
maxStreamID uint32 // max stream ID ever seen
|
||||
|
||||
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
|
||||
|
@ -176,16 +180,13 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
|
|||
Val: config.MaxStreams,
|
||||
})
|
||||
}
|
||||
dynamicWindow := true
|
||||
iwz := int32(initialWindowSize)
|
||||
if config.InitialWindowSize >= defaultWindowSize {
|
||||
iwz = config.InitialWindowSize
|
||||
dynamicWindow = false
|
||||
}
|
||||
icwz := int32(initialWindowSize)
|
||||
if config.InitialConnWindowSize >= defaultWindowSize {
|
||||
icwz = config.InitialConnWindowSize
|
||||
dynamicWindow = false
|
||||
}
|
||||
if iwz != defaultWindowSize {
|
||||
isettings = append(isettings, http2.Setting{
|
||||
|
@ -266,6 +267,9 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
|
|||
initialWindowSize: iwz,
|
||||
bufferPool: config.BufferPool,
|
||||
}
|
||||
t.setResetPingStrikes = func() {
|
||||
atomic.StoreUint32(&t.resetPingStrikes, 1)
|
||||
}
|
||||
var czSecurity credentials.ChannelzSecurityValue
|
||||
if au, ok := authInfo.(credentials.ChannelzSecurityInfo); ok {
|
||||
czSecurity = au.GetSecurityValue()
|
||||
|
@ -285,7 +289,7 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
|
|||
t.logger = prefixLoggerForServerTransport(t)
|
||||
|
||||
t.controlBuf = newControlBuffer(t.done)
|
||||
if dynamicWindow {
|
||||
if !config.StaticWindowSize {
|
||||
t.bdpEst = &bdpEstimator{
|
||||
bdp: initialWindowSize,
|
||||
updateFlowControl: t.updateFlowControl,
|
||||
|
@ -596,10 +600,25 @@ func (t *http2Server) operateHeaders(ctx context.Context, frame *http2.MetaHeade
|
|||
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
|
||||
if len(t.activeStreams) == 1 {
|
||||
t.idle = time.Time{}
|
||||
}
|
||||
|
||||
// Start a timer to close the stream on reaching the deadline.
|
||||
if timeoutSet {
|
||||
// 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
|
||||
}
|
||||
|
||||
func (t *http2Server) setResetPingStrikes() {
|
||||
atomic.StoreUint32(&t.resetPingStrikes, 1)
|
||||
}
|
||||
|
||||
func (t *http2Server) writeHeaderLocked(s *ServerStream) error {
|
||||
// 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.
|
||||
|
@ -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
|
||||
// is returns if it fails (e.g., framing error, transport 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 err := t.writeHeader(s, nil); err != nil {
|
||||
_ = reader.Close()
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
// Writing headers checks for this condition.
|
||||
if s.getState() == streamDone {
|
||||
_ = reader.Close()
|
||||
return t.streamContextErr(s)
|
||||
}
|
||||
}
|
||||
|
@ -1150,15 +1161,16 @@ func (t *http2Server) write(s *ServerStream, hdr []byte, data mem.BufferSlice, _
|
|||
df := &dataFrame{
|
||||
streamID: s.id,
|
||||
h: hdr,
|
||||
reader: reader,
|
||||
data: data,
|
||||
onEachWrite: t.setResetPingStrikes,
|
||||
}
|
||||
if err := s.wq.get(int32(len(hdr) + df.reader.Remaining())); err != nil {
|
||||
_ = reader.Close()
|
||||
dataLen := data.Len()
|
||||
if err := s.wq.get(int32(len(hdr) + dataLen)); err != nil {
|
||||
return t.streamContextErr(s)
|
||||
}
|
||||
data.Ref()
|
||||
if err := t.controlBuf.put(df); err != nil {
|
||||
_ = reader.Close()
|
||||
data.Free()
|
||||
return err
|
||||
}
|
||||
t.incrMsgSent()
|
||||
|
|
|
@ -200,9 +200,6 @@ func decodeTimeout(s string) (time.Duration, error) {
|
|||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if t == 0 {
|
||||
return 0, fmt.Errorf("transport: timeout must be positive: %q", s)
|
||||
}
|
||||
const maxHours = math.MaxInt64 / uint64(time.Hour)
|
||||
if d == time.Hour && t > maxHours {
|
||||
// This timeout would overflow math.MaxInt64; clamp it.
|
||||
|
|
|
@ -466,6 +466,7 @@ type ServerConfig struct {
|
|||
MaxHeaderListSize *uint32
|
||||
HeaderTableSize *uint32
|
||||
BufferPool mem.BufferPool
|
||||
StaticWindowSize bool
|
||||
}
|
||||
|
||||
// ConnectOptions covers all relevant options for communicating with the server.
|
||||
|
@ -504,6 +505,8 @@ type ConnectOptions struct {
|
|||
MaxHeaderListSize *uint32
|
||||
// The mem.BufferPool to use when reading/writing to the wire.
|
||||
BufferPool mem.BufferPool
|
||||
// StaticWindowSize controls whether dynamic window sizing is enabled.
|
||||
StaticWindowSize bool
|
||||
}
|
||||
|
||||
// WriteOptions provides additional hints and information for message
|
||||
|
|
|
@ -137,6 +137,9 @@ type Reader interface {
|
|||
Close() error
|
||||
// Remaining returns the number of unread bytes remaining in the slice.
|
||||
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 {
|
||||
|
@ -150,6 +153,14 @@ func (r *sliceReader) Remaining() int {
|
|||
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 {
|
||||
r.data.Free()
|
||||
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{}
|
||||
|
||||
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() {}
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ type ServerReflectionServer interface {
|
|||
type UnimplementedServerReflectionServer struct{}
|
||||
|
||||
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() {}
|
||||
|
||||
|
|
|
@ -179,6 +179,7 @@ type serverOptions struct {
|
|||
numServerWorkers uint32
|
||||
bufferPool mem.BufferPool
|
||||
waitForHandlers bool
|
||||
staticWindowSize bool
|
||||
}
|
||||
|
||||
var defaultServerOptions = serverOptions{
|
||||
|
@ -279,6 +280,7 @@ func ReadBufferSize(s int) ServerOption {
|
|||
func InitialWindowSize(s int32) ServerOption {
|
||||
return newFuncServerOption(func(o *serverOptions) {
|
||||
o.initialWindowSize = s
|
||||
o.staticWindowSize = true
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -287,6 +289,29 @@ func InitialWindowSize(s int32) ServerOption {
|
|||
func InitialConnWindowSize(s int32) ServerOption {
|
||||
return newFuncServerOption(func(o *serverOptions) {
|
||||
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,
|
||||
HeaderTableSize: s.opts.headerTableSize,
|
||||
BufferPool: s.opts.bufferPool,
|
||||
StaticWindowSize: s.opts.staticWindowSize,
|
||||
}
|
||||
st, err := transport.NewServerTransport(c, config)
|
||||
if err != nil {
|
||||
|
|
|
@ -1171,7 +1171,7 @@ func (a *csAttempt) recvMsg(m any, payInfo *payloadInfo) (err error) {
|
|||
} else if err != nil {
|
||||
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) {
|
||||
|
@ -1495,7 +1495,7 @@ func (as *addrConnStream) RecvMsg(m any) (err error) {
|
|||
} else if err != nil {
|
||||
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) {
|
||||
|
|
|
@ -19,4 +19,4 @@
|
|||
package grpc
|
||||
|
||||
// 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 {
|
||||
// This computes 1 + (bits.Len64(v)-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.
|
||||
|
|
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:
|
||||
// EnforceNamingStyle is enforced in protoc, languages other than C++
|
||||
// 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:
|
||||
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
|
||||
)
|
||||
|
||||
// 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.
|
||||
const (
|
||||
FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet"
|
||||
|
@ -65,6 +78,7 @@ const (
|
|||
FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency"
|
||||
FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_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_EnumType_field_name protoreflect.Name = "enum_type"
|
||||
FileDescriptorProto_Service_field_name protoreflect.Name = "service"
|
||||
|
@ -79,6 +93,7 @@ const (
|
|||
FileDescriptorProto_Dependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency"
|
||||
FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_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_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type"
|
||||
FileDescriptorProto_Service_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.service"
|
||||
|
@ -96,6 +111,7 @@ const (
|
|||
FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3
|
||||
FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10
|
||||
FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11
|
||||
FileDescriptorProto_OptionDependency_field_number protoreflect.FieldNumber = 15
|
||||
FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4
|
||||
FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5
|
||||
FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6
|
||||
|
@ -124,6 +140,7 @@ const (
|
|||
DescriptorProto_Options_field_name protoreflect.Name = "options"
|
||||
DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
|
||||
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_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_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range"
|
||||
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.
|
||||
|
@ -149,6 +167,7 @@ const (
|
|||
DescriptorProto_Options_field_number protoreflect.FieldNumber = 7
|
||||
DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9
|
||||
DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10
|
||||
DescriptorProto_Visibility_field_number protoreflect.FieldNumber = 11
|
||||
)
|
||||
|
||||
// Names for google.protobuf.DescriptorProto.ExtensionRange.
|
||||
|
@ -388,12 +407,14 @@ const (
|
|||
EnumDescriptorProto_Options_field_name protoreflect.Name = "options"
|
||||
EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
|
||||
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_Value_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value"
|
||||
EnumDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options"
|
||||
EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range"
|
||||
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.
|
||||
|
@ -403,6 +424,7 @@ const (
|
|||
EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3
|
||||
EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4
|
||||
EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5
|
||||
EnumDescriptorProto_Visibility_field_number protoreflect.FieldNumber = 6
|
||||
)
|
||||
|
||||
// Names for google.protobuf.EnumDescriptorProto.EnumReservedRange.
|
||||
|
@ -1008,32 +1030,35 @@ const (
|
|||
|
||||
// Field names for google.protobuf.FeatureSet.
|
||||
const (
|
||||
FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence"
|
||||
FeatureSet_EnumType_field_name protoreflect.Name = "enum_type"
|
||||
FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding"
|
||||
FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation"
|
||||
FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding"
|
||||
FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format"
|
||||
FeatureSet_EnforceNamingStyle_field_name protoreflect.Name = "enforce_naming_style"
|
||||
FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence"
|
||||
FeatureSet_EnumType_field_name protoreflect.Name = "enum_type"
|
||||
FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding"
|
||||
FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation"
|
||||
FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding"
|
||||
FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format"
|
||||
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_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type"
|
||||
FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding"
|
||||
FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation"
|
||||
FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding"
|
||||
FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format"
|
||||
FeatureSet_EnforceNamingStyle_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enforce_naming_style"
|
||||
FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence"
|
||||
FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type"
|
||||
FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding"
|
||||
FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation"
|
||||
FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding"
|
||||
FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format"
|
||||
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.
|
||||
const (
|
||||
FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1
|
||||
FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2
|
||||
FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3
|
||||
FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4
|
||||
FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5
|
||||
FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6
|
||||
FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7
|
||||
FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1
|
||||
FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2
|
||||
FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3
|
||||
FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4
|
||||
FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5
|
||||
FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6
|
||||
FeatureSet_EnforceNamingStyle_field_number protoreflect.FieldNumber = 7
|
||||
FeatureSet_DefaultSymbolVisibility_field_number protoreflect.FieldNumber = 8
|
||||
)
|
||||
|
||||
// Full and short names for google.protobuf.FeatureSet.FieldPresence.
|
||||
|
@ -1128,6 +1153,27 @@ const (
|
|||
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.
|
||||
const (
|
||||
FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults"
|
||||
|
|
|
@ -11,6 +11,7 @@ import (
|
|||
|
||||
"google.golang.org/protobuf/encoding/protowire"
|
||||
"google.golang.org/protobuf/internal/encoding/messageset"
|
||||
"google.golang.org/protobuf/internal/filedesc"
|
||||
"google.golang.org/protobuf/internal/order"
|
||||
"google.golang.org/protobuf/reflect/protoreflect"
|
||||
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.
|
||||
|
||||
var hasPresence bool
|
||||
hasPresence, cf.isLazy = usePresenceForField(si, fd)
|
||||
hasPresence, cf.isLazy = filedesc.UsePresenceForField(fd)
|
||||
|
||||
if hasPresence {
|
||||
cf.presenceIndex, mi.presenceSize = presenceIndex(mi.Desc, fd)
|
||||
|
|
|
@ -11,6 +11,7 @@ import (
|
|||
"strings"
|
||||
"sync/atomic"
|
||||
|
||||
"google.golang.org/protobuf/internal/filedesc"
|
||||
"google.golang.org/protobuf/reflect/protoreflect"
|
||||
)
|
||||
|
||||
|
@ -53,7 +54,7 @@ func opaqueInitHook(mi *MessageInfo) bool {
|
|||
fd := fds.Get(i)
|
||||
fs := si.fieldsByNumber[fd.Number()]
|
||||
var fi fieldInfo
|
||||
usePresence, _ := usePresenceForField(si, fd)
|
||||
usePresence, _ := filedesc.UsePresenceForField(fd)
|
||||
|
||||
switch {
|
||||
case fd.ContainingOneof() != nil && !fd.ContainingOneof().IsSynthetic():
|
||||
|
@ -343,17 +344,15 @@ func (mi *MessageInfo) fieldInfoForMessageListOpaqueNoPresence(si opaqueStructIn
|
|||
if p.IsNil() {
|
||||
return false
|
||||
}
|
||||
sp := p.Apply(fieldOffset).AtomicGetPointer()
|
||||
if sp.IsNil() {
|
||||
rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
|
||||
if rv.IsNil() {
|
||||
return false
|
||||
}
|
||||
rv := sp.AsValueOf(fs.Type.Elem())
|
||||
return rv.Elem().Len() > 0
|
||||
},
|
||||
clear: func(p pointer) {
|
||||
sp := p.Apply(fieldOffset).AtomicGetPointer()
|
||||
if !sp.IsNil() {
|
||||
rv := sp.AsValueOf(fs.Type.Elem())
|
||||
rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
|
||||
if !rv.IsNil() {
|
||||
rv.Elem().Set(reflect.Zero(rv.Type().Elem()))
|
||||
}
|
||||
},
|
||||
|
@ -361,11 +360,10 @@ func (mi *MessageInfo) fieldInfoForMessageListOpaqueNoPresence(si opaqueStructIn
|
|||
if p.IsNil() {
|
||||
return conv.Zero()
|
||||
}
|
||||
sp := p.Apply(fieldOffset).AtomicGetPointer()
|
||||
if sp.IsNil() {
|
||||
rv := p.Apply(fieldOffset).AsValueOf(fs.Type).Elem()
|
||||
if rv.IsNil() {
|
||||
return conv.Zero()
|
||||
}
|
||||
rv := sp.AsValueOf(fs.Type.Elem())
|
||||
if rv.Elem().Len() == 0 {
|
||||
return conv.Zero()
|
||||
}
|
||||
|
@ -598,30 +596,3 @@ func (mi *MessageInfo) clearPresent(p pointer, index uint32) {
|
|||
func (mi *MessageInfo) present(p pointer, index uint32) bool {
|
||||
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.
|
||||
func (p presence) Present(num uint32) bool {
|
||||
if p.P == nil {
|
||||
return false
|
||||
}
|
||||
return Export{}.Present(p.toElem(num), num)
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ import (
|
|||
const (
|
||||
Major = 1
|
||||
Minor = 36
|
||||
Patch = 6
|
||||
Patch = 7
|
||||
PreRelease = ""
|
||||
)
|
||||
|
||||
|
|
|
@ -21,6 +21,8 @@ func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte {
|
|||
b = p.appendRepeatedField(b, "public_dependency", nil)
|
||||
case 11:
|
||||
b = p.appendRepeatedField(b, "weak_dependency", nil)
|
||||
case 15:
|
||||
b = p.appendRepeatedField(b, "option_dependency", nil)
|
||||
case 4:
|
||||
b = p.appendRepeatedField(b, "message_type", (*SourcePath).appendDescriptorProto)
|
||||
case 5:
|
||||
|
@ -66,6 +68,8 @@ func (p *SourcePath) appendDescriptorProto(b []byte) []byte {
|
|||
b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendDescriptorProto_ReservedRange)
|
||||
case 10:
|
||||
b = p.appendRepeatedField(b, "reserved_name", nil)
|
||||
case 11:
|
||||
b = p.appendSingularField(b, "visibility", nil)
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
@ -85,6 +89,8 @@ func (p *SourcePath) appendEnumDescriptorProto(b []byte) []byte {
|
|||
b = p.appendRepeatedField(b, "reserved_range", (*SourcePath).appendEnumDescriptorProto_EnumReservedRange)
|
||||
case 5:
|
||||
b = p.appendRepeatedField(b, "reserved_name", nil)
|
||||
case 6:
|
||||
b = p.appendSingularField(b, "visibility", nil)
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
@ -400,6 +406,8 @@ func (p *SourcePath) appendFeatureSet(b []byte) []byte {
|
|||
b = p.appendSingularField(b, "json_format", nil)
|
||||
case 7:
|
||||
b = p.appendSingularField(b, "enforce_naming_style", nil)
|
||||
case 8:
|
||||
b = p.appendSingularField(b, "default_symbol_visibility", nil)
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
|
|
@ -151,6 +151,70 @@ func (Edition) EnumDescriptor() ([]byte, []int) {
|
|||
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.
|
||||
type ExtensionRangeOptions_VerificationState int32
|
||||
|
||||
|
@ -183,11 +247,11 @@ func (x ExtensionRangeOptions_VerificationState) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[1]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[2]
|
||||
}
|
||||
|
||||
func (x ExtensionRangeOptions_VerificationState) Number() protoreflect.EnumNumber {
|
||||
|
@ -299,11 +363,11 @@ func (x FieldDescriptorProto_Type) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[2]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[3]
|
||||
}
|
||||
|
||||
func (x FieldDescriptorProto_Type) Number() protoreflect.EnumNumber {
|
||||
|
@ -362,11 +426,11 @@ func (x FieldDescriptorProto_Label) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[3]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[4]
|
||||
}
|
||||
|
||||
func (x FieldDescriptorProto_Label) Number() protoreflect.EnumNumber {
|
||||
|
@ -423,11 +487,11 @@ func (x FileOptions_OptimizeMode) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[4]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[5]
|
||||
}
|
||||
|
||||
func (x FileOptions_OptimizeMode) Number() protoreflect.EnumNumber {
|
||||
|
@ -489,11 +553,11 @@ func (x FieldOptions_CType) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[5]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[6]
|
||||
}
|
||||
|
||||
func (x FieldOptions_CType) Number() protoreflect.EnumNumber {
|
||||
|
@ -551,11 +615,11 @@ func (x FieldOptions_JSType) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[6]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[7]
|
||||
}
|
||||
|
||||
func (x FieldOptions_JSType) Number() protoreflect.EnumNumber {
|
||||
|
@ -611,11 +675,11 @@ func (x FieldOptions_OptionRetention) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[7]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[8]
|
||||
}
|
||||
|
||||
func (x FieldOptions_OptionRetention) Number() protoreflect.EnumNumber {
|
||||
|
@ -694,11 +758,11 @@ func (x FieldOptions_OptionTargetType) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[8]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[9]
|
||||
}
|
||||
|
||||
func (x FieldOptions_OptionTargetType) Number() protoreflect.EnumNumber {
|
||||
|
@ -756,11 +820,11 @@ func (x MethodOptions_IdempotencyLevel) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[9]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[10]
|
||||
}
|
||||
|
||||
func (x MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber {
|
||||
|
@ -818,11 +882,11 @@ func (x FeatureSet_FieldPresence) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[10]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[11]
|
||||
}
|
||||
|
||||
func (x FeatureSet_FieldPresence) Number() protoreflect.EnumNumber {
|
||||
|
@ -877,11 +941,11 @@ func (x FeatureSet_EnumType) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[11]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[12]
|
||||
}
|
||||
|
||||
func (x FeatureSet_EnumType) Number() protoreflect.EnumNumber {
|
||||
|
@ -936,11 +1000,11 @@ func (x FeatureSet_RepeatedFieldEncoding) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[12]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[13]
|
||||
}
|
||||
|
||||
func (x FeatureSet_RepeatedFieldEncoding) Number() protoreflect.EnumNumber {
|
||||
|
@ -995,11 +1059,11 @@ func (x FeatureSet_Utf8Validation) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[13]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[14]
|
||||
}
|
||||
|
||||
func (x FeatureSet_Utf8Validation) Number() protoreflect.EnumNumber {
|
||||
|
@ -1054,11 +1118,11 @@ func (x FeatureSet_MessageEncoding) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[14]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[15]
|
||||
}
|
||||
|
||||
func (x FeatureSet_MessageEncoding) Number() protoreflect.EnumNumber {
|
||||
|
@ -1113,11 +1177,11 @@ func (x FeatureSet_JsonFormat) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[15]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[16]
|
||||
}
|
||||
|
||||
func (x FeatureSet_JsonFormat) Number() protoreflect.EnumNumber {
|
||||
|
@ -1172,11 +1236,11 @@ func (x FeatureSet_EnforceNamingStyle) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[16]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[17]
|
||||
}
|
||||
|
||||
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}
|
||||
}
|
||||
|
||||
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
|
||||
// .proto file.
|
||||
type GeneratedCodeInfo_Annotation_Semantic int32
|
||||
|
@ -1236,11 +1371,11 @@ func (x GeneratedCodeInfo_Annotation_Semantic) String() string {
|
|||
}
|
||||
|
||||
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 {
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[17]
|
||||
return &file_google_protobuf_descriptor_proto_enumTypes[19]
|
||||
}
|
||||
|
||||
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.
|
||||
// For Google-internal migration only. Do not use.
|
||||
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.
|
||||
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"`
|
||||
|
@ -1414,6 +1552,13 @@ func (x *FileDescriptorProto) GetWeakDependency() []int32 {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (x *FileDescriptorProto) GetOptionDependency() []string {
|
||||
if x != nil {
|
||||
return x.OptionDependency
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *FileDescriptorProto) GetMessageType() []*DescriptorProto {
|
||||
if x != nil {
|
||||
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"`
|
||||
// Reserved field names, which may not be used by fields in the same message.
|
||||
// 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
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
@ -1589,6 +1736,13 @@ func (x *DescriptorProto) GetReservedName() []string {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (x *DescriptorProto) GetVisibility() SymbolVisibility {
|
||||
if x != nil && x.Visibility != nil {
|
||||
return *x.Visibility
|
||||
}
|
||||
return SymbolVisibility_VISIBILITY_UNSET
|
||||
}
|
||||
|
||||
type ExtensionRangeOptions struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// 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"`
|
||||
// Reserved enum value names, which may not be reused. A given name may only
|
||||
// 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
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
@ -1971,6 +2127,13 @@ func (x *EnumDescriptorProto) GetReservedName() []string {
|
|||
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.
|
||||
type EnumValueDescriptorProto struct {
|
||||
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
|
||||
// conflict here.
|
||||
type FeatureSet struct {
|
||||
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"`
|
||||
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"`
|
||||
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"`
|
||||
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"`
|
||||
extensionFields protoimpl.ExtensionFields
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
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"`
|
||||
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"`
|
||||
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"`
|
||||
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"`
|
||||
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"`
|
||||
extensionFields protoimpl.ExtensionFields
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *FeatureSet) Reset() {
|
||||
|
@ -3484,6 +3648,13 @@ func (x *FeatureSet) GetEnforceNamingStyle() FeatureSet_EnforceNamingStyle {
|
|||
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
|
||||
// messages are generated from FeatureSet extensions and can be used to seed
|
||||
// feature resolution. The resolution with this object becomes a simple search
|
||||
|
@ -4144,6 +4315,42 @@ func (x *UninterpretedOption_NamePart) GetIsExtension() bool {
|
|||
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
|
||||
// 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
|
||||
|
@ -4161,7 +4368,7 @@ type FeatureSetDefaults_FeatureSetEditionDefault struct {
|
|||
|
||||
func (x *FeatureSetDefaults_FeatureSetEditionDefault) Reset() {
|
||||
*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.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -4173,7 +4380,7 @@ func (x *FeatureSetDefaults_FeatureSetEditionDefault) String() string {
|
|||
func (*FeatureSetDefaults_FeatureSetEditionDefault) ProtoMessage() {}
|
||||
|
||||
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 {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -4309,7 +4516,7 @@ type SourceCodeInfo_Location struct {
|
|||
|
||||
func (x *SourceCodeInfo_Location) Reset() {
|
||||
*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.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -4321,7 +4528,7 @@ func (x *SourceCodeInfo_Location) String() string {
|
|||
func (*SourceCodeInfo_Location) ProtoMessage() {}
|
||||
|
||||
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 {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -4393,7 +4600,7 @@ type GeneratedCodeInfo_Annotation struct {
|
|||
|
||||
func (x *GeneratedCodeInfo_Annotation) Reset() {
|
||||
*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.StoreMessageInfo(mi)
|
||||
}
|
||||
|
@ -4405,7 +4612,7 @@ func (x *GeneratedCodeInfo_Annotation) String() string {
|
|||
func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
|
||||
|
||||
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 {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
|
@ -4462,7 +4669,7 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
|
|||
"\n" +
|
||||
" google/protobuf/descriptor.proto\x12\x0fgoogle.protobuf\"[\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" +
|
||||
"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
|
||||
"\apackage\x18\x02 \x01(\tR\apackage\x12\x1e\n" +
|
||||
|
@ -4471,7 +4678,8 @@ const file_google_protobuf_descriptor_proto_rawDesc = "" +
|
|||
"dependency\x12+\n" +
|
||||
"\x11public_dependency\x18\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" +
|
||||
"\tenum_type\x18\x05 \x03(\v2$.google.protobuf.EnumDescriptorProtoR\benumType\x12A\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" +
|
||||
"\x10source_code_info\x18\t \x01(\v2\x1f.google.protobuf.SourceCodeInfoR\x0esourceCodeInfo\x12\x16\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" +
|
||||
"\x04name\x18\x01 \x01(\tR\x04name\x12;\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" +
|
||||
"\x0ereserved_range\x18\t \x03(\v2..google.protobuf.DescriptorProto.ReservedRangeR\rreservedRange\x12#\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" +
|
||||
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\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" +
|
||||
"\x14OneofDescriptorProto\x12\x12\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" +
|
||||
"\x04name\x18\x01 \x01(\tR\x04name\x12?\n" +
|
||||
"\x05value\x18\x02 \x03(\v2).google.protobuf.EnumValueDescriptorProtoR\x05value\x126\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" +
|
||||
"\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" +
|
||||
"\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\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" +
|
||||
"\bNamePart\x12\x1b\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" +
|
||||
"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" +
|
||||
|
@ -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" +
|
||||
"\x12\x05ALLOW\x18\xe7\a\xb2\x01\x03\b\xe8\aR\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" +
|
||||
"\x16FIELD_PRESENCE_UNKNOWN\x10\x00\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_99998_TEST_ONLY\x10\x9e\x8d\x06\x12\x1d\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"
|
||||
|
||||
var (
|
||||
|
@ -4832,145 +5061,151 @@ func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte {
|
|||
return file_google_protobuf_descriptor_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 18)
|
||||
var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
|
||||
var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 20)
|
||||
var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
|
||||
var file_google_protobuf_descriptor_proto_goTypes = []any{
|
||||
(Edition)(0), // 0: google.protobuf.Edition
|
||||
(ExtensionRangeOptions_VerificationState)(0), // 1: google.protobuf.ExtensionRangeOptions.VerificationState
|
||||
(FieldDescriptorProto_Type)(0), // 2: google.protobuf.FieldDescriptorProto.Type
|
||||
(FieldDescriptorProto_Label)(0), // 3: google.protobuf.FieldDescriptorProto.Label
|
||||
(FileOptions_OptimizeMode)(0), // 4: google.protobuf.FileOptions.OptimizeMode
|
||||
(FieldOptions_CType)(0), // 5: google.protobuf.FieldOptions.CType
|
||||
(FieldOptions_JSType)(0), // 6: google.protobuf.FieldOptions.JSType
|
||||
(FieldOptions_OptionRetention)(0), // 7: google.protobuf.FieldOptions.OptionRetention
|
||||
(FieldOptions_OptionTargetType)(0), // 8: google.protobuf.FieldOptions.OptionTargetType
|
||||
(MethodOptions_IdempotencyLevel)(0), // 9: google.protobuf.MethodOptions.IdempotencyLevel
|
||||
(FeatureSet_FieldPresence)(0), // 10: google.protobuf.FeatureSet.FieldPresence
|
||||
(FeatureSet_EnumType)(0), // 11: google.protobuf.FeatureSet.EnumType
|
||||
(FeatureSet_RepeatedFieldEncoding)(0), // 12: google.protobuf.FeatureSet.RepeatedFieldEncoding
|
||||
(FeatureSet_Utf8Validation)(0), // 13: google.protobuf.FeatureSet.Utf8Validation
|
||||
(FeatureSet_MessageEncoding)(0), // 14: google.protobuf.FeatureSet.MessageEncoding
|
||||
(FeatureSet_JsonFormat)(0), // 15: google.protobuf.FeatureSet.JsonFormat
|
||||
(FeatureSet_EnforceNamingStyle)(0), // 16: google.protobuf.FeatureSet.EnforceNamingStyle
|
||||
(GeneratedCodeInfo_Annotation_Semantic)(0), // 17: google.protobuf.GeneratedCodeInfo.Annotation.Semantic
|
||||
(*FileDescriptorSet)(nil), // 18: google.protobuf.FileDescriptorSet
|
||||
(*FileDescriptorProto)(nil), // 19: google.protobuf.FileDescriptorProto
|
||||
(*DescriptorProto)(nil), // 20: google.protobuf.DescriptorProto
|
||||
(*ExtensionRangeOptions)(nil), // 21: google.protobuf.ExtensionRangeOptions
|
||||
(*FieldDescriptorProto)(nil), // 22: google.protobuf.FieldDescriptorProto
|
||||
(*OneofDescriptorProto)(nil), // 23: google.protobuf.OneofDescriptorProto
|
||||
(*EnumDescriptorProto)(nil), // 24: google.protobuf.EnumDescriptorProto
|
||||
(*EnumValueDescriptorProto)(nil), // 25: google.protobuf.EnumValueDescriptorProto
|
||||
(*ServiceDescriptorProto)(nil), // 26: google.protobuf.ServiceDescriptorProto
|
||||
(*MethodDescriptorProto)(nil), // 27: google.protobuf.MethodDescriptorProto
|
||||
(*FileOptions)(nil), // 28: google.protobuf.FileOptions
|
||||
(*MessageOptions)(nil), // 29: google.protobuf.MessageOptions
|
||||
(*FieldOptions)(nil), // 30: google.protobuf.FieldOptions
|
||||
(*OneofOptions)(nil), // 31: google.protobuf.OneofOptions
|
||||
(*EnumOptions)(nil), // 32: google.protobuf.EnumOptions
|
||||
(*EnumValueOptions)(nil), // 33: google.protobuf.EnumValueOptions
|
||||
(*ServiceOptions)(nil), // 34: google.protobuf.ServiceOptions
|
||||
(*MethodOptions)(nil), // 35: google.protobuf.MethodOptions
|
||||
(*UninterpretedOption)(nil), // 36: google.protobuf.UninterpretedOption
|
||||
(*FeatureSet)(nil), // 37: google.protobuf.FeatureSet
|
||||
(*FeatureSetDefaults)(nil), // 38: google.protobuf.FeatureSetDefaults
|
||||
(*SourceCodeInfo)(nil), // 39: google.protobuf.SourceCodeInfo
|
||||
(*GeneratedCodeInfo)(nil), // 40: google.protobuf.GeneratedCodeInfo
|
||||
(*DescriptorProto_ExtensionRange)(nil), // 41: google.protobuf.DescriptorProto.ExtensionRange
|
||||
(*DescriptorProto_ReservedRange)(nil), // 42: google.protobuf.DescriptorProto.ReservedRange
|
||||
(*ExtensionRangeOptions_Declaration)(nil), // 43: google.protobuf.ExtensionRangeOptions.Declaration
|
||||
(*EnumDescriptorProto_EnumReservedRange)(nil), // 44: google.protobuf.EnumDescriptorProto.EnumReservedRange
|
||||
(*FieldOptions_EditionDefault)(nil), // 45: google.protobuf.FieldOptions.EditionDefault
|
||||
(*FieldOptions_FeatureSupport)(nil), // 46: google.protobuf.FieldOptions.FeatureSupport
|
||||
(*UninterpretedOption_NamePart)(nil), // 47: google.protobuf.UninterpretedOption.NamePart
|
||||
(*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 48: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
|
||||
(*SourceCodeInfo_Location)(nil), // 49: google.protobuf.SourceCodeInfo.Location
|
||||
(*GeneratedCodeInfo_Annotation)(nil), // 50: google.protobuf.GeneratedCodeInfo.Annotation
|
||||
(Edition)(0), // 0: google.protobuf.Edition
|
||||
(SymbolVisibility)(0), // 1: google.protobuf.SymbolVisibility
|
||||
(ExtensionRangeOptions_VerificationState)(0), // 2: google.protobuf.ExtensionRangeOptions.VerificationState
|
||||
(FieldDescriptorProto_Type)(0), // 3: google.protobuf.FieldDescriptorProto.Type
|
||||
(FieldDescriptorProto_Label)(0), // 4: google.protobuf.FieldDescriptorProto.Label
|
||||
(FileOptions_OptimizeMode)(0), // 5: google.protobuf.FileOptions.OptimizeMode
|
||||
(FieldOptions_CType)(0), // 6: google.protobuf.FieldOptions.CType
|
||||
(FieldOptions_JSType)(0), // 7: google.protobuf.FieldOptions.JSType
|
||||
(FieldOptions_OptionRetention)(0), // 8: google.protobuf.FieldOptions.OptionRetention
|
||||
(FieldOptions_OptionTargetType)(0), // 9: google.protobuf.FieldOptions.OptionTargetType
|
||||
(MethodOptions_IdempotencyLevel)(0), // 10: google.protobuf.MethodOptions.IdempotencyLevel
|
||||
(FeatureSet_FieldPresence)(0), // 11: google.protobuf.FeatureSet.FieldPresence
|
||||
(FeatureSet_EnumType)(0), // 12: google.protobuf.FeatureSet.EnumType
|
||||
(FeatureSet_RepeatedFieldEncoding)(0), // 13: google.protobuf.FeatureSet.RepeatedFieldEncoding
|
||||
(FeatureSet_Utf8Validation)(0), // 14: google.protobuf.FeatureSet.Utf8Validation
|
||||
(FeatureSet_MessageEncoding)(0), // 15: google.protobuf.FeatureSet.MessageEncoding
|
||||
(FeatureSet_JsonFormat)(0), // 16: google.protobuf.FeatureSet.JsonFormat
|
||||
(FeatureSet_EnforceNamingStyle)(0), // 17: google.protobuf.FeatureSet.EnforceNamingStyle
|
||||
(FeatureSet_VisibilityFeature_DefaultSymbolVisibility)(0), // 18: google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility
|
||||
(GeneratedCodeInfo_Annotation_Semantic)(0), // 19: google.protobuf.GeneratedCodeInfo.Annotation.Semantic
|
||||
(*FileDescriptorSet)(nil), // 20: google.protobuf.FileDescriptorSet
|
||||
(*FileDescriptorProto)(nil), // 21: google.protobuf.FileDescriptorProto
|
||||
(*DescriptorProto)(nil), // 22: google.protobuf.DescriptorProto
|
||||
(*ExtensionRangeOptions)(nil), // 23: google.protobuf.ExtensionRangeOptions
|
||||
(*FieldDescriptorProto)(nil), // 24: google.protobuf.FieldDescriptorProto
|
||||
(*OneofDescriptorProto)(nil), // 25: google.protobuf.OneofDescriptorProto
|
||||
(*EnumDescriptorProto)(nil), // 26: google.protobuf.EnumDescriptorProto
|
||||
(*EnumValueDescriptorProto)(nil), // 27: google.protobuf.EnumValueDescriptorProto
|
||||
(*ServiceDescriptorProto)(nil), // 28: google.protobuf.ServiceDescriptorProto
|
||||
(*MethodDescriptorProto)(nil), // 29: google.protobuf.MethodDescriptorProto
|
||||
(*FileOptions)(nil), // 30: google.protobuf.FileOptions
|
||||
(*MessageOptions)(nil), // 31: google.protobuf.MessageOptions
|
||||
(*FieldOptions)(nil), // 32: google.protobuf.FieldOptions
|
||||
(*OneofOptions)(nil), // 33: google.protobuf.OneofOptions
|
||||
(*EnumOptions)(nil), // 34: google.protobuf.EnumOptions
|
||||
(*EnumValueOptions)(nil), // 35: google.protobuf.EnumValueOptions
|
||||
(*ServiceOptions)(nil), // 36: google.protobuf.ServiceOptions
|
||||
(*MethodOptions)(nil), // 37: google.protobuf.MethodOptions
|
||||
(*UninterpretedOption)(nil), // 38: google.protobuf.UninterpretedOption
|
||||
(*FeatureSet)(nil), // 39: google.protobuf.FeatureSet
|
||||
(*FeatureSetDefaults)(nil), // 40: google.protobuf.FeatureSetDefaults
|
||||
(*SourceCodeInfo)(nil), // 41: google.protobuf.SourceCodeInfo
|
||||
(*GeneratedCodeInfo)(nil), // 42: google.protobuf.GeneratedCodeInfo
|
||||
(*DescriptorProto_ExtensionRange)(nil), // 43: google.protobuf.DescriptorProto.ExtensionRange
|
||||
(*DescriptorProto_ReservedRange)(nil), // 44: google.protobuf.DescriptorProto.ReservedRange
|
||||
(*ExtensionRangeOptions_Declaration)(nil), // 45: google.protobuf.ExtensionRangeOptions.Declaration
|
||||
(*EnumDescriptorProto_EnumReservedRange)(nil), // 46: google.protobuf.EnumDescriptorProto.EnumReservedRange
|
||||
(*FieldOptions_EditionDefault)(nil), // 47: google.protobuf.FieldOptions.EditionDefault
|
||||
(*FieldOptions_FeatureSupport)(nil), // 48: google.protobuf.FieldOptions.FeatureSupport
|
||||
(*UninterpretedOption_NamePart)(nil), // 49: google.protobuf.UninterpretedOption.NamePart
|
||||
(*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{
|
||||
19, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
|
||||
20, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
|
||||
24, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
|
||||
26, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto
|
||||
22, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
|
||||
28, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions
|
||||
39, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo
|
||||
21, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
|
||||
22, // 1: google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
|
||||
26, // 2: google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
|
||||
28, // 3: google.protobuf.FileDescriptorProto.service:type_name -> google.protobuf.ServiceDescriptorProto
|
||||
24, // 4: google.protobuf.FileDescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
|
||||
30, // 5: google.protobuf.FileDescriptorProto.options:type_name -> google.protobuf.FileOptions
|
||||
41, // 6: google.protobuf.FileDescriptorProto.source_code_info:type_name -> google.protobuf.SourceCodeInfo
|
||||
0, // 7: google.protobuf.FileDescriptorProto.edition:type_name -> google.protobuf.Edition
|
||||
22, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto
|
||||
22, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
|
||||
20, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto
|
||||
24, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
|
||||
41, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange
|
||||
23, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto
|
||||
29, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions
|
||||
42, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange
|
||||
36, // 16: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
43, // 17: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration
|
||||
37, // 18: google.protobuf.ExtensionRangeOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
1, // 19: google.protobuf.ExtensionRangeOptions.verification:type_name -> google.protobuf.ExtensionRangeOptions.VerificationState
|
||||
3, // 20: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label
|
||||
2, // 21: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type
|
||||
30, // 22: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions
|
||||
31, // 23: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions
|
||||
25, // 24: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto
|
||||
32, // 25: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions
|
||||
44, // 26: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange
|
||||
33, // 27: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions
|
||||
27, // 28: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto
|
||||
34, // 29: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions
|
||||
35, // 30: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions
|
||||
4, // 31: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode
|
||||
37, // 32: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
36, // 33: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
37, // 34: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
36, // 35: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
5, // 36: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType
|
||||
6, // 37: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType
|
||||
7, // 38: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention
|
||||
8, // 39: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType
|
||||
45, // 40: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault
|
||||
37, // 41: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
46, // 42: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
|
||||
36, // 43: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
37, // 44: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
36, // 45: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
37, // 46: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
36, // 47: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
37, // 48: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
46, // 49: google.protobuf.EnumValueOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
|
||||
36, // 50: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
37, // 51: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
36, // 52: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
9, // 53: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
|
||||
37, // 54: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
36, // 55: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
47, // 56: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
|
||||
10, // 57: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence
|
||||
11, // 58: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType
|
||||
12, // 59: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding
|
||||
13, // 60: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation
|
||||
14, // 61: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding
|
||||
15, // 62: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat
|
||||
16, // 63: google.protobuf.FeatureSet.enforce_naming_style:type_name -> google.protobuf.FeatureSet.EnforceNamingStyle
|
||||
48, // 64: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
|
||||
0, // 65: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition
|
||||
0, // 66: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition
|
||||
49, // 67: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
|
||||
50, // 68: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
|
||||
21, // 69: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
|
||||
0, // 70: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition
|
||||
0, // 71: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition
|
||||
0, // 72: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition
|
||||
0, // 73: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition
|
||||
0, // 74: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition
|
||||
37, // 75: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet
|
||||
37, // 76: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet
|
||||
17, // 77: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
|
||||
78, // [78:78] is the sub-list for method output_type
|
||||
78, // [78:78] is the sub-list for method input_type
|
||||
78, // [78:78] is the sub-list for extension type_name
|
||||
78, // [78:78] is the sub-list for extension extendee
|
||||
0, // [0:78] is the sub-list for field type_name
|
||||
24, // 8: google.protobuf.DescriptorProto.field:type_name -> google.protobuf.FieldDescriptorProto
|
||||
24, // 9: google.protobuf.DescriptorProto.extension:type_name -> google.protobuf.FieldDescriptorProto
|
||||
22, // 10: google.protobuf.DescriptorProto.nested_type:type_name -> google.protobuf.DescriptorProto
|
||||
26, // 11: google.protobuf.DescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
|
||||
43, // 12: google.protobuf.DescriptorProto.extension_range:type_name -> google.protobuf.DescriptorProto.ExtensionRange
|
||||
25, // 13: google.protobuf.DescriptorProto.oneof_decl:type_name -> google.protobuf.OneofDescriptorProto
|
||||
31, // 14: google.protobuf.DescriptorProto.options:type_name -> google.protobuf.MessageOptions
|
||||
44, // 15: google.protobuf.DescriptorProto.reserved_range:type_name -> google.protobuf.DescriptorProto.ReservedRange
|
||||
1, // 16: google.protobuf.DescriptorProto.visibility:type_name -> google.protobuf.SymbolVisibility
|
||||
38, // 17: google.protobuf.ExtensionRangeOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
45, // 18: google.protobuf.ExtensionRangeOptions.declaration:type_name -> google.protobuf.ExtensionRangeOptions.Declaration
|
||||
39, // 19: google.protobuf.ExtensionRangeOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
2, // 20: google.protobuf.ExtensionRangeOptions.verification:type_name -> google.protobuf.ExtensionRangeOptions.VerificationState
|
||||
4, // 21: google.protobuf.FieldDescriptorProto.label:type_name -> google.protobuf.FieldDescriptorProto.Label
|
||||
3, // 22: google.protobuf.FieldDescriptorProto.type:type_name -> google.protobuf.FieldDescriptorProto.Type
|
||||
32, // 23: google.protobuf.FieldDescriptorProto.options:type_name -> google.protobuf.FieldOptions
|
||||
33, // 24: google.protobuf.OneofDescriptorProto.options:type_name -> google.protobuf.OneofOptions
|
||||
27, // 25: google.protobuf.EnumDescriptorProto.value:type_name -> google.protobuf.EnumValueDescriptorProto
|
||||
34, // 26: google.protobuf.EnumDescriptorProto.options:type_name -> google.protobuf.EnumOptions
|
||||
46, // 27: google.protobuf.EnumDescriptorProto.reserved_range:type_name -> google.protobuf.EnumDescriptorProto.EnumReservedRange
|
||||
1, // 28: google.protobuf.EnumDescriptorProto.visibility:type_name -> google.protobuf.SymbolVisibility
|
||||
35, // 29: google.protobuf.EnumValueDescriptorProto.options:type_name -> google.protobuf.EnumValueOptions
|
||||
29, // 30: google.protobuf.ServiceDescriptorProto.method:type_name -> google.protobuf.MethodDescriptorProto
|
||||
36, // 31: google.protobuf.ServiceDescriptorProto.options:type_name -> google.protobuf.ServiceOptions
|
||||
37, // 32: google.protobuf.MethodDescriptorProto.options:type_name -> google.protobuf.MethodOptions
|
||||
5, // 33: google.protobuf.FileOptions.optimize_for:type_name -> google.protobuf.FileOptions.OptimizeMode
|
||||
39, // 34: google.protobuf.FileOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
38, // 35: google.protobuf.FileOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
39, // 36: google.protobuf.MessageOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
38, // 37: google.protobuf.MessageOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
6, // 38: google.protobuf.FieldOptions.ctype:type_name -> google.protobuf.FieldOptions.CType
|
||||
7, // 39: google.protobuf.FieldOptions.jstype:type_name -> google.protobuf.FieldOptions.JSType
|
||||
8, // 40: google.protobuf.FieldOptions.retention:type_name -> google.protobuf.FieldOptions.OptionRetention
|
||||
9, // 41: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType
|
||||
47, // 42: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault
|
||||
39, // 43: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
48, // 44: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
|
||||
38, // 45: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
39, // 46: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
38, // 47: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
39, // 48: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
38, // 49: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
39, // 50: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
48, // 51: google.protobuf.EnumValueOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
|
||||
38, // 52: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
39, // 53: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
38, // 54: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
10, // 55: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
|
||||
39, // 56: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet
|
||||
38, // 57: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
|
||||
49, // 58: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
|
||||
11, // 59: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence
|
||||
12, // 60: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType
|
||||
13, // 61: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding
|
||||
14, // 62: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation
|
||||
15, // 63: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding
|
||||
16, // 64: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat
|
||||
17, // 65: google.protobuf.FeatureSet.enforce_naming_style:type_name -> google.protobuf.FeatureSet.EnforceNamingStyle
|
||||
18, // 66: google.protobuf.FeatureSet.default_symbol_visibility:type_name -> google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility
|
||||
51, // 67: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
|
||||
0, // 68: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition
|
||||
0, // 69: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition
|
||||
52, // 70: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
|
||||
53, // 71: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
|
||||
23, // 72: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
|
||||
0, // 73: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition
|
||||
0, // 74: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition
|
||||
0, // 75: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition
|
||||
0, // 76: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition
|
||||
0, // 77: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition
|
||||
39, // 78: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet
|
||||
39, // 79: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet
|
||||
19, // 80: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
|
||||
81, // [81:81] is the sub-list for method output_type
|
||||
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() }
|
||||
|
@ -4983,8 +5218,8 @@ func file_google_protobuf_descriptor_proto_init() {
|
|||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_protobuf_descriptor_proto_rawDesc), len(file_google_protobuf_descriptor_proto_rawDesc)),
|
||||
NumEnums: 18,
|
||||
NumMessages: 33,
|
||||
NumEnums: 20,
|
||||
NumMessages: 34,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
|
|
@ -14,7 +14,7 @@ github.com/emicklei/go-restful/v3/log
|
|||
# github.com/fxamacker/cbor/v2 v2.7.0
|
||||
## explicit; go 1.17
|
||||
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
|
||||
github.com/go-logr/logr
|
||||
# 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
|
||||
## explicit; go 1.12
|
||||
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
|
||||
github.com/longhorn/go-common-libs/exec
|
||||
github.com/longhorn/go-common-libs/io
|
||||
|
@ -127,10 +127,10 @@ github.com/x448/float16
|
|||
# github.com/yusufpapurcu/wmi v1.2.4
|
||||
## explicit; go 1.16
|
||||
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
|
||||
golang.org/x/exp/constraints
|
||||
# golang.org/x/net v0.42.0
|
||||
# golang.org/x/net v0.43.0
|
||||
## explicit; go 1.23.0
|
||||
golang.org/x/net/context
|
||||
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/timeseries
|
||||
golang.org/x/net/trace
|
||||
# golang.org/x/oauth2 v0.28.0
|
||||
# golang.org/x/oauth2 v0.30.0
|
||||
## explicit; go 1.23.0
|
||||
golang.org/x/oauth2
|
||||
golang.org/x/oauth2/internal
|
||||
# golang.org/x/sys v0.34.0
|
||||
# golang.org/x/sys v0.35.0
|
||||
## explicit; go 1.23.0
|
||||
golang.org/x/sys/plan9
|
||||
golang.org/x/sys/unix
|
||||
golang.org/x/sys/windows
|
||||
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
|
||||
golang.org/x/term
|
||||
# golang.org/x/text v0.27.0
|
||||
# golang.org/x/text v0.28.0
|
||||
## explicit; go 1.23.0
|
||||
golang.org/x/text/secure/bidirule
|
||||
golang.org/x/text/transform
|
||||
|
@ -162,10 +162,10 @@ golang.org/x/text/unicode/norm
|
|||
# golang.org/x/time v0.9.0
|
||||
## explicit; go 1.18
|
||||
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
|
||||
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
|
||||
google.golang.org/grpc
|
||||
google.golang.org/grpc/attributes
|
||||
|
@ -232,7 +232,7 @@ google.golang.org/grpc/serviceconfig
|
|||
google.golang.org/grpc/stats
|
||||
google.golang.org/grpc/status
|
||||
google.golang.org/grpc/tap
|
||||
# google.golang.org/protobuf v1.36.6
|
||||
# google.golang.org/protobuf v1.36.7
|
||||
## explicit; go 1.22
|
||||
google.golang.org/protobuf/encoding/protojson
|
||||
google.golang.org/protobuf/encoding/prototext
|
||||
|
@ -281,7 +281,7 @@ gopkg.in/inf.v0
|
|||
# gopkg.in/yaml.v3 v3.0.1
|
||||
## explicit
|
||||
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
|
||||
k8s.io/api/admissionregistration/v1
|
||||
k8s.io/api/admissionregistration/v1alpha1
|
||||
|
@ -340,7 +340,7 @@ k8s.io/api/storage/v1
|
|||
k8s.io/api/storage/v1alpha1
|
||||
k8s.io/api/storage/v1beta1
|
||||
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
|
||||
k8s.io/apimachinery/pkg/api/equality
|
||||
k8s.io/apimachinery/pkg/api/errors
|
||||
|
@ -393,7 +393,7 @@ k8s.io/apimachinery/pkg/version
|
|||
k8s.io/apimachinery/pkg/watch
|
||||
k8s.io/apimachinery/third_party/forked/golang/json
|
||||
k8s.io/apimachinery/third_party/forked/golang/reflect
|
||||
# k8s.io/client-go v0.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
|
||||
k8s.io/client-go/applyconfigurations/admissionregistration/v1
|
||||
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/util/proto
|
||||
k8s.io/kube-openapi/pkg/validation/spec
|
||||
# k8s.io/kubernetes v1.33.2
|
||||
# k8s.io/kubernetes v1.33.3
|
||||
## explicit; go 1.24.0
|
||||
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
|
||||
k8s.io/mount-utils
|
||||
# k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
|
||||
|
@ -584,32 +584,32 @@ sigs.k8s.io/structured-merge-diff/v4/value
|
|||
## explicit; go 1.12
|
||||
sigs.k8s.io/yaml
|
||||
sigs.k8s.io/yaml/goyaml.v2
|
||||
# k8s.io/api => k8s.io/api v0.33.2
|
||||
# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.33.2
|
||||
# k8s.io/apimachinery => k8s.io/apimachinery v0.33.2
|
||||
# k8s.io/apiserver => k8s.io/apiserver v0.33.2
|
||||
# k8s.io/cli-runtime => k8s.io/cli-runtime v0.33.2
|
||||
# k8s.io/client-go => k8s.io/client-go v0.33.2
|
||||
# k8s.io/cloud-provider => k8s.io/cloud-provider v0.33.2
|
||||
# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.33.2
|
||||
# k8s.io/code-generator => k8s.io/code-generator v0.33.2
|
||||
# k8s.io/component-base => k8s.io/component-base v0.33.2
|
||||
# k8s.io/component-helpers => k8s.io/component-helpers v0.33.2
|
||||
# k8s.io/controller-manager => k8s.io/controller-manager v0.33.2
|
||||
# k8s.io/cri-api => k8s.io/cri-api v0.33.2
|
||||
# k8s.io/cri-client => k8s.io/cri-client v0.33.2
|
||||
# k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.33.2
|
||||
# k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.33.2
|
||||
# k8s.io/endpointslice => k8s.io/endpointslice v0.33.2
|
||||
# k8s.io/kms => k8s.io/kms v0.33.2
|
||||
# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.33.2
|
||||
# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.33.2
|
||||
# k8s.io/kube-proxy => k8s.io/kube-proxy v0.33.2
|
||||
# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.33.2
|
||||
# k8s.io/kubectl => k8s.io/kubectl v0.33.2
|
||||
# k8s.io/kubelet => k8s.io/kubelet v0.33.2
|
||||
# k8s.io/api => k8s.io/api v0.33.3
|
||||
# k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.33.3
|
||||
# k8s.io/apimachinery => k8s.io/apimachinery v0.33.3
|
||||
# k8s.io/apiserver => k8s.io/apiserver v0.33.3
|
||||
# k8s.io/cli-runtime => k8s.io/cli-runtime v0.33.3
|
||||
# k8s.io/client-go => k8s.io/client-go v0.33.3
|
||||
# k8s.io/cloud-provider => k8s.io/cloud-provider v0.33.3
|
||||
# k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.33.3
|
||||
# k8s.io/code-generator => k8s.io/code-generator v0.33.3
|
||||
# k8s.io/component-base => k8s.io/component-base v0.33.3
|
||||
# k8s.io/component-helpers => k8s.io/component-helpers v0.33.3
|
||||
# k8s.io/controller-manager => k8s.io/controller-manager v0.33.3
|
||||
# k8s.io/cri-api => k8s.io/cri-api v0.33.3
|
||||
# k8s.io/cri-client => k8s.io/cri-client v0.33.3
|
||||
# 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.3
|
||||
# k8s.io/endpointslice => k8s.io/endpointslice v0.33.3
|
||||
# k8s.io/kms => k8s.io/kms v0.33.3
|
||||
# k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.33.3
|
||||
# k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.33.3
|
||||
# k8s.io/kube-proxy => k8s.io/kube-proxy v0.33.3
|
||||
# k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.33.3
|
||||
# k8s.io/kubectl => k8s.io/kubectl v0.33.3
|
||||
# k8s.io/kubelet => k8s.io/kubelet v0.33.3
|
||||
# k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.30.14
|
||||
# k8s.io/metrics => k8s.io/metrics v0.33.2
|
||||
# k8s.io/mount-utils => k8s.io/mount-utils v0.33.2
|
||||
# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.33.2
|
||||
# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.33.2
|
||||
# k8s.io/metrics => k8s.io/metrics v0.33.3
|
||||
# k8s.io/mount-utils => k8s.io/mount-utils v0.33.3
|
||||
# k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.33.3
|
||||
# k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.33.3
|
||||
|
|
Loading…
Reference in New Issue