server

package
v0.0.0-...-4b75dde Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2023 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package server implements Envoy's Aggregated Discovery Service (ADS).

Index

Constants

View Source
const (
	// ServerType is the type identifier for the ADS server
	ServerType = "ADS"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type GRPCServer

type GRPCServer struct {
	// contains filtered or unexported fields
}

GRPCServer is a construct to run gRPC servers

func NewGrpc

func NewGrpc(serverName string, port int, certCommonName string, cm *certificate.Manager) (*GRPCServer, net.Listener, error)

NewGrpc creates a new gRPC server

func (*GRPCServer) GetServer

func (s *GRPCServer) GetServer() *grpc.Server

GetServer returns the gRPC server

func (*GRPCServer) GrpcServe

func (s *GRPCServer) GrpcServe(ctx context.Context, cancel context.CancelFunc, lis net.Listener, errorCh chan interface{}) error

GrpcServe starts the gRPC server passed.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server implements the Envoy xDS Aggregate Discovery Services

func NewADSServer

func NewADSServer() *Server

NewADSServer creates a new Aggregated Discovery Service server

func (*Server) OnDeltaStreamClosed

func (s *Server) OnDeltaStreamClosed(streamID int64)

OnDeltaStreamClosed is called when a Delta stream is being closed

func (*Server) OnDeltaStreamOpen

func (s *Server) OnDeltaStreamOpen(ctx context.Context, streamID int64, typ string) error

OnDeltaStreamOpen is called when a Delta stream is being opened

func (*Server) OnFetchRequest

func (s *Server) OnFetchRequest(_ context.Context, req *discovery.DiscoveryRequest) error

OnFetchRequest is called when a fetch request is received

func (*Server) OnFetchResponse

func (s *Server) OnFetchResponse(req *discovery.DiscoveryRequest, resp *discovery.DiscoveryResponse)

OnFetchResponse is called when a fetch request is being responded to

func (*Server) OnStreamClosed

func (s *Server) OnStreamClosed(streamID int64)

OnStreamClosed is called on stream closed

func (*Server) OnStreamDeltaRequest

func (s *Server) OnStreamDeltaRequest(streamID int64, req *discovery.DeltaDiscoveryRequest) error

OnStreamDeltaRequest is called when a Delta request comes on an open Delta stream

func (*Server) OnStreamDeltaResponse

func (s *Server) OnStreamDeltaResponse(streamID int64, req *discovery.DeltaDiscoveryRequest, resp *discovery.DeltaDiscoveryResponse)

OnStreamDeltaResponse is called when a Delta request is getting responded to

func (*Server) OnStreamOpen

func (s *Server) OnStreamOpen(ctx context.Context, streamID int64, typ string) error

OnStreamOpen is called on stream open

func (*Server) OnStreamRequest

func (s *Server) OnStreamRequest(streamID int64, req *discovery.DiscoveryRequest) error

OnStreamRequest is called when a request happens on an open connection

func (*Server) OnStreamResponse

func (s *Server) OnStreamResponse(_ context.Context, streamID int64, req *discovery.DiscoveryRequest, resp *discovery.DiscoveryResponse)

OnStreamResponse is called when a response is being sent to a request

func (*Server) SetCallbacks

func (s *Server) SetCallbacks(cb streamCallback)

SetCallbacks is a method used to set the callbacks that notify the rest of the system that a proxy, with the given unique connection id, has either connected or disconnected.

func (*Server) Start

func (s *Server) Start(ctx context.Context, certManager *certificate.Manager, cancel context.CancelFunc, port int) error

Start starts the ADS server

func (*Server) UpdateProxy

func (s *Server) UpdateProxy(ctx context.Context, proxy *models.Proxy, snapshotResources map[string][]types.Resource) error

UpdateProxy stores a group of resources as a new Snapshot with a new version in the cache. It also runs a consistency check on the snapshot (will warn if there are missing resources referenced in the snapshot)

Jump to

Keyboard shortcuts

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