stream

package
v0.8.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2023 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StreamAPIExtensionPluginID = "opni.apiextensions.StreamAPIExtension"
	ServiceID                  = "apiextensions.StreamAPIExtension"
)

Variables

This section is empty.

Functions

func NewPlugin

func NewPlugin(p StreamAPIExtension) plugin.Plugin

Types

type Aggregator added in v0.8.2

type Aggregator func(reply any, msg *streamv1.BroadcastReplyList) error

Aggregator allows the user to aggregate the responses from a broadcast request, and store the result in reply.

var EmptyNothingAggregator Aggregator = func(any, *streamv1.BroadcastReplyList) error {
	return nil
}

EmptyNothingAggregator is an aggregator to use if you don't need to do any aggregation, or don't care about the response.

type Server

type Server struct {
	Desc              *grpc.ServiceDesc
	Impl              interface{}
	RequireCapability string
}

type StreamAPIExtension

type StreamAPIExtension interface {
	StreamServers() []Server
}

type StreamClientDisconnectHandler added in v0.6.1

type StreamClientDisconnectHandler interface {
	StreamDisconnected()
}

A plugin can optionally implement StreamClientDisconnectHandler to be notified when the stream disconnects

type StreamClientHandler

type StreamClientHandler interface {
	UseStreamClient(client grpc.ClientConnInterface)
}

A plugin can optionally implement StreamClientHandler to obtain a grpc.ClientConnInterface to the plugin's side of the spliced stream.

type StreamDelegate added in v0.8.2

type StreamDelegate[T any] interface {
	WithTarget(*corev1.Reference) T
	WithBroadcastSelector(*corev1.ClusterSelector, Aggregator) T
}

func NewDelegate added in v0.8.2

func NewDelegate[T any](cc grpc.ClientConnInterface, newClientFunc func(grpc.ClientConnInterface) T) StreamDelegate[T]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL