Documentation ¶
Index ¶
- Constants
- Variables
- func NewRateLimitConfigClient(nodeinfo *core.Node, typedApply ApplyRateLimitConfig) client.Client
- func RegisterRateLimitDiscoveryServiceServer(s *grpc.Server, srv RateLimitDiscoveryServiceServer)
- type ApplyRateLimitConfig
- type RateLimitConfig
- func (m *RateLimitConfig) Clone() proto.Message
- func (*RateLimitConfig) Descriptor() ([]byte, []int)deprecated
- func (m *RateLimitConfig) Equal(that interface{}) bool
- func (x *RateLimitConfig) GetDescriptors() []*v1alpha1.Descriptor
- func (x *RateLimitConfig) GetDomain() string
- func (x *RateLimitConfig) GetSetDescriptors() []*v1alpha1.SetDescriptor
- func (m *RateLimitConfig) Hash(hasher hash.Hash64) (uint64, error)deprecated
- func (m *RateLimitConfig) HashUnique(hasher hash.Hash64) (uint64, error)
- func (*RateLimitConfig) ProtoMessage()
- func (x *RateLimitConfig) ProtoReflect() protoreflect.Message
- func (x *RateLimitConfig) Reset()
- func (x *RateLimitConfig) String() string
- type RateLimitConfigXdsResourceWrapper
- type RateLimitDiscoveryServiceClient
- type RateLimitDiscoveryServiceServer
- type RateLimitDiscoveryService_DeltaRateLimitConfigClient
- type RateLimitDiscoveryService_DeltaRateLimitConfigServer
- type RateLimitDiscoveryService_StreamRateLimitConfigClient
- type RateLimitDiscoveryService_StreamRateLimitConfigServer
- type UnimplementedRateLimitDiscoveryServiceServer
- func (*UnimplementedRateLimitDiscoveryServiceServer) DeltaRateLimitConfig(RateLimitDiscoveryService_DeltaRateLimitConfigServer) error
- func (*UnimplementedRateLimitDiscoveryServiceServer) FetchRateLimitConfig(context.Context, *v2.DiscoveryRequest) (*v2.DiscoveryResponse, error)
- func (*UnimplementedRateLimitDiscoveryServiceServer) StreamRateLimitConfig(RateLimitDiscoveryService_StreamRateLimitConfigServer) error
Constants ¶
const RateLimitConfigType = types.TypePrefix + "/glooe.solo.io.RateLimitConfig"
Variables ¶
var File_github_com_solo_io_gloo_projects_gloo_api_v1_enterprise_ratelimit_proto protoreflect.FileDescriptor
var RateLimitConfigTypeRecord = client.NewTypeRecord( RateLimitConfigType, func() cache.ResourceProto { return &RateLimitConfig{} }, func(r cache.ResourceProto) cache.Resource { return &RateLimitConfigXdsResourceWrapper{Resource: r.(*RateLimitConfig)} }, )
Define a type record. This is used by the generic client library.
Functions ¶
func NewRateLimitConfigClient ¶
func NewRateLimitConfigClient(nodeinfo *core.Node, typedApply ApplyRateLimitConfig) client.Client
func RegisterRateLimitDiscoveryServiceServer ¶
func RegisterRateLimitDiscoveryServiceServer(s *grpc.Server, srv RateLimitDiscoveryServiceServer)
Types ¶
type ApplyRateLimitConfig ¶
type ApplyRateLimitConfig func(version string, resources []*RateLimitConfig) error
The apply functions receives resources and returns an error if they were applied correctly. In theory the configuration can become valid in the future (i.e. eventually consistent), but I don't think we need to worry about that now As our current use cases only have one configuration resource, so no interactions are expected.
type RateLimitConfig ¶
type RateLimitConfig struct { // @solo-kit:resource.name Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` Descriptors []*v1alpha1.Descriptor `protobuf:"bytes,2,rep,name=descriptors,proto3" json:"descriptors,omitempty"` SetDescriptors []*v1alpha1.SetDescriptor `protobuf:"bytes,3,rep,name=set_descriptors,json=setDescriptors,proto3" json:"set_descriptors,omitempty"` // contains filtered or unexported fields }
@solo-kit:xds-service=RateLimitDiscoveryService @solo-kit:resource.no_references
func (*RateLimitConfig) Clone ¶ added in v1.8.24
func (m *RateLimitConfig) Clone() proto.Message
Clone function
func (*RateLimitConfig) Descriptor
deprecated
func (*RateLimitConfig) Descriptor() ([]byte, []int)
Deprecated: Use RateLimitConfig.ProtoReflect.Descriptor instead.
func (*RateLimitConfig) Equal ¶
func (m *RateLimitConfig) Equal(that interface{}) bool
Equal function
func (*RateLimitConfig) GetDescriptors ¶
func (x *RateLimitConfig) GetDescriptors() []*v1alpha1.Descriptor
func (*RateLimitConfig) GetDomain ¶
func (x *RateLimitConfig) GetDomain() string
func (*RateLimitConfig) GetSetDescriptors ¶ added in v1.6.0
func (x *RateLimitConfig) GetSetDescriptors() []*v1alpha1.SetDescriptor
func (*RateLimitConfig) Hash
deprecated
added in
v1.2.13
func (m *RateLimitConfig) Hash(hasher hash.Hash64) (uint64, error)
Hash function
Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.
func (*RateLimitConfig) HashUnique ¶ added in v1.18.0
func (m *RateLimitConfig) HashUnique(hasher hash.Hash64) (uint64, error)
HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.
func (*RateLimitConfig) ProtoMessage ¶
func (*RateLimitConfig) ProtoMessage()
func (*RateLimitConfig) ProtoReflect ¶ added in v1.6.0
func (x *RateLimitConfig) ProtoReflect() protoreflect.Message
func (*RateLimitConfig) Reset ¶
func (x *RateLimitConfig) Reset()
func (*RateLimitConfig) String ¶
func (x *RateLimitConfig) String() string
type RateLimitConfigXdsResourceWrapper ¶
type RateLimitConfigXdsResourceWrapper struct { // TODO(yuval-k): This is public for mitchellh hashstructure to work properly. consider better alternatives. Resource *RateLimitConfig }
Defined a resource - to be used by snapshot
func NewRateLimitConfigXdsResourceWrapper ¶
func NewRateLimitConfigXdsResourceWrapper(resourceProto *RateLimitConfig) *RateLimitConfigXdsResourceWrapper
func (*RateLimitConfigXdsResourceWrapper) References ¶
func (e *RateLimitConfigXdsResourceWrapper) References() []cache.XdsResourceReference
func (*RateLimitConfigXdsResourceWrapper) ResourceProto ¶
func (e *RateLimitConfigXdsResourceWrapper) ResourceProto() cache.ResourceProto
func (*RateLimitConfigXdsResourceWrapper) Self ¶
func (e *RateLimitConfigXdsResourceWrapper) Self() cache.XdsResourceReference
type RateLimitDiscoveryServiceClient ¶
type RateLimitDiscoveryServiceClient interface { StreamRateLimitConfig(ctx context.Context, opts ...grpc.CallOption) (RateLimitDiscoveryService_StreamRateLimitConfigClient, error) DeltaRateLimitConfig(ctx context.Context, opts ...grpc.CallOption) (RateLimitDiscoveryService_DeltaRateLimitConfigClient, error) FetchRateLimitConfig(ctx context.Context, in *v2.DiscoveryRequest, opts ...grpc.CallOption) (*v2.DiscoveryResponse, error) }
RateLimitDiscoveryServiceClient is the client API for RateLimitDiscoveryService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewRateLimitDiscoveryServiceClient ¶
func NewRateLimitDiscoveryServiceClient(cc grpc.ClientConnInterface) RateLimitDiscoveryServiceClient
type RateLimitDiscoveryServiceServer ¶
type RateLimitDiscoveryServiceServer interface { StreamRateLimitConfig(RateLimitDiscoveryService_StreamRateLimitConfigServer) error DeltaRateLimitConfig(RateLimitDiscoveryService_DeltaRateLimitConfigServer) error FetchRateLimitConfig(context.Context, *v2.DiscoveryRequest) (*v2.DiscoveryResponse, error) }
RateLimitDiscoveryServiceServer is the server API for RateLimitDiscoveryService service.
func NewRateLimitDiscoveryServiceServer ¶
func NewRateLimitDiscoveryServiceServer(genericServer server.Server) RateLimitDiscoveryServiceServer
type RateLimitDiscoveryService_DeltaRateLimitConfigClient ¶
type RateLimitDiscoveryService_DeltaRateLimitConfigClient interface { Send(*v2.DeltaDiscoveryRequest) error Recv() (*v2.DeltaDiscoveryResponse, error) grpc.ClientStream }
type RateLimitDiscoveryService_DeltaRateLimitConfigServer ¶
type RateLimitDiscoveryService_DeltaRateLimitConfigServer interface { Send(*v2.DeltaDiscoveryResponse) error Recv() (*v2.DeltaDiscoveryRequest, error) grpc.ServerStream }
type RateLimitDiscoveryService_StreamRateLimitConfigClient ¶
type RateLimitDiscoveryService_StreamRateLimitConfigClient interface { Send(*v2.DiscoveryRequest) error Recv() (*v2.DiscoveryResponse, error) grpc.ClientStream }
type RateLimitDiscoveryService_StreamRateLimitConfigServer ¶
type RateLimitDiscoveryService_StreamRateLimitConfigServer interface { Send(*v2.DiscoveryResponse) error Recv() (*v2.DiscoveryRequest, error) grpc.ServerStream }
type UnimplementedRateLimitDiscoveryServiceServer ¶
type UnimplementedRateLimitDiscoveryServiceServer struct { }
UnimplementedRateLimitDiscoveryServiceServer can be embedded to have forward compatible implementations.
func (*UnimplementedRateLimitDiscoveryServiceServer) DeltaRateLimitConfig ¶
func (*UnimplementedRateLimitDiscoveryServiceServer) DeltaRateLimitConfig(RateLimitDiscoveryService_DeltaRateLimitConfigServer) error
func (*UnimplementedRateLimitDiscoveryServiceServer) FetchRateLimitConfig ¶
func (*UnimplementedRateLimitDiscoveryServiceServer) FetchRateLimitConfig(context.Context, *v2.DiscoveryRequest) (*v2.DiscoveryResponse, error)
func (*UnimplementedRateLimitDiscoveryServiceServer) StreamRateLimitConfig ¶
func (*UnimplementedRateLimitDiscoveryServiceServer) StreamRateLimitConfig(RateLimitDiscoveryService_StreamRateLimitConfigServer) error
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
options
|
|
extauth/v1/kube/apis/enterprise.gloo.solo.io/v1
Package v1 is the v1 version of the API.
|
Package v1 is the v1 version of the API. |
extauth/v1/kube/client/clientset/versioned
This package has the automatically generated clientset.
|
This package has the automatically generated clientset. |
extauth/v1/kube/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
|
This package has the automatically generated fake clientset. |
extauth/v1/kube/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
|
This package contains the scheme of the automatically generated clientset. |
extauth/v1/kube/client/clientset/versioned/typed/enterprise.gloo.solo.io/v1
This package has the automatically generated typed clients.
|
This package has the automatically generated typed clients. |
extauth/v1/kube/client/clientset/versioned/typed/enterprise.gloo.solo.io/v1/fake
Package fake has the automatically generated clients.
|
Package fake has the automatically generated clients. |
graphql/v1beta1/kube/apis/enterprise.gloo.solo.io/v1beta1
Package v1beta1 is the v1beta1 version of the API.
|
Package v1beta1 is the v1beta1 version of the API. |
graphql/v1beta1/kube/apis/graphql.gloo.solo.io/v1beta1
Package v1beta1 is the v1beta1 version of the API.
|
Package v1beta1 is the v1beta1 version of the API. |