package sotw

import "github.com/envoyproxy/go-control-plane/pkg/server/sotw/v3"

Package sotw provides an implementation of GRPC SoTW (State of The World) part of XDS server

Index

Functions

func WithOrderedADS

func WithOrderedADS() config.XDSOption

WithOrderedADS enables the internal flag to order responses strictly.

Types

type Callbacks

type Callbacks interface {
	// OnStreamOpen is called once an xDS stream is open with a stream ID and the type URL (or "" for ADS).
	// Returning an error will end processing and close the stream. OnStreamClosed will still be called.
	OnStreamOpen(context.Context, int64, string) error
	// OnStreamClosed is called immediately prior to closing an xDS stream with a stream ID.
	OnStreamClosed(int64, *core.Node)
	// OnStreamRequest is called once a request is received on a stream.
	// Returning an error will end processing and close the stream. OnStreamClosed will still be called.
	OnStreamRequest(int64, *discovery.DiscoveryRequest) error
	// OnStreamResponse is called immediately prior to sending a response on a stream.
	OnStreamResponse(context.Context, int64, *discovery.DiscoveryRequest, *discovery.DiscoveryResponse)
}

type Server

type Server interface {
	StreamHandler(stream stream.Stream, typeURL string) error
}

func NewServer

func NewServer(ctx context.Context, cw cache.ConfigWatcher, callbacks Callbacks, opts ...config.XDSOption) Server

NewServer creates handlers from a config watcher and callbacks.

Source Files

ads.go server.go watches.go xds.go

Version
v0.13.4 (latest)
Published
Jan 6, 2025
Platform
linux/amd64
Imports
14 packages
Last checked
47 minutes ago

Tools for package owners.