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

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, config cache.ConfigWatcher, callbacks Callbacks) Server

NewServer creates handlers from a config watcher and callbacks.

Source Files

server.go watches.go

Version
v0.11.1
Published
May 28, 2023
Platform
darwin/amd64
Imports
13 packages
Last checked
1 hour ago

Tools for package owners.