Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleSubscription ¶
func HandleSubscription[K comparable, V any]( meta Metadata, subscription <-chan watchable.Snapshot[K, V], handle func(updateFunc Update[K, V], errChans chan error), )
HandleSubscription takes a channel returned by watchable.Map.Subscribe() (or .SubscribeSubset()), and calls the given function for each initial value in the map, and for any updates.
This is better than simply iterating over snapshot.Updates because it handles the case where the watchable.Map already contains entries before .Subscribe is called.
Types ¶
type GatewayAPIStatuses ¶ added in v0.6.0
type GatewayAPIStatuses struct { GatewayStatuses watchable.Map[types.NamespacedName, *gwapiv1.GatewayStatus] HTTPRouteStatuses watchable.Map[types.NamespacedName, *gwapiv1.HTTPRouteStatus] GRPCRouteStatuses watchable.Map[types.NamespacedName, *gwapiv1.GRPCRouteStatus] TLSRouteStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.TLSRouteStatus] TCPRouteStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.TCPRouteStatus] UDPRouteStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.UDPRouteStatus] }
GatewayAPIStatuses contains gateway API resources statuses
func (*GatewayAPIStatuses) Close ¶ added in v0.6.0
func (s *GatewayAPIStatuses) Close()
type Metadata ¶ added in v0.6.0
func (Metadata) LabelValues ¶ added in v0.6.0
func (m Metadata) LabelValues() []metrics.LabelValue
type NamespacedNameAndGVK ¶ added in v1.1.0
type NamespacedNameAndGVK struct { types.NamespacedName schema.GroupVersionKind }
type PolicyStatuses ¶ added in v0.6.0
type PolicyStatuses struct { ClientTrafficPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] BackendTrafficPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] EnvoyPatchPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] SecurityPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] BackendTLSPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] EnvoyExtensionPolicyStatuses watchable.Map[types.NamespacedName, *gwapiv1a2.PolicyStatus] ExtensionPolicyStatuses watchable.Map[NamespacedNameAndGVK, *gwapiv1a2.PolicyStatus] }
PolicyStatuses contains policy related resources statuses
func (*PolicyStatuses) Close ¶ added in v0.6.0
func (p *PolicyStatuses) Close()
type ProviderResources ¶
type ProviderResources struct { // GatewayAPIResources is a map from a GatewayClass name to // a group of gateway API and other related resources. GatewayAPIResources watchable.Map[string, *gatewayapi.ControllerResources] // GatewayAPIStatuses is a group of gateway api // resource statuses maps. GatewayAPIStatuses // PolicyStatuses is a group of policy statuses maps. PolicyStatuses }
ProviderResources message
func (*ProviderResources) Close ¶ added in v0.3.0
func (p *ProviderResources) Close()
func (*ProviderResources) GetResources ¶ added in v0.3.0
func (p *ProviderResources) GetResources() []*gatewayapi.Resources
func (*ProviderResources) GetResourcesByGatewayClass ¶ added in v1.0.0
func (p *ProviderResources) GetResourcesByGatewayClass(name string) *gatewayapi.Resources
func (*ProviderResources) GetResourcesKey ¶ added in v0.3.0
func (p *ProviderResources) GetResourcesKey() string
Click to show internal directories.
Click to hide internal directories.