Documentation
¶
Overview ¶
Package server provides an implementation of a streaming xDS server.
Index ¶
- type CallbackFuncs
- func (c CallbackFuncs) OnDeltaStreamClosed(streamID int64, node *core.Node)
- func (c CallbackFuncs) OnDeltaStreamOpen(ctx context.Context, streamID int64, typeURL string) error
- func (c CallbackFuncs) OnFetchRequest(ctx context.Context, req *discovery.DiscoveryRequest) error
- func (c CallbackFuncs) OnFetchResponse(req *discovery.DiscoveryRequest, resp *discovery.DiscoveryResponse)
- func (c CallbackFuncs) OnStreamClosed(streamID int64, node *core.Node)
- func (c CallbackFuncs) OnStreamDeltaRequest(streamID int64, req *discovery.DeltaDiscoveryRequest) error
- func (c CallbackFuncs) OnStreamDeltaResponse(streamID int64, req *discovery.DeltaDiscoveryRequest, ...)
- func (c CallbackFuncs) OnStreamOpen(ctx context.Context, streamID int64, typeURL string) error
- func (c CallbackFuncs) OnStreamRequest(streamID int64, req *discovery.DiscoveryRequest) error
- func (c CallbackFuncs) OnStreamResponse(ctx context.Context, streamID int64, req *discovery.DiscoveryRequest, ...)
- type Callbacks
- type HTTPGateway
- type Server
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CallbackFuncs ¶
type CallbackFuncs struct {
StreamOpenFunc func(context.Context, int64, string) error
StreamClosedFunc func(int64, *core.Node)
DeltaStreamOpenFunc func(context.Context, int64, string) error
DeltaStreamClosedFunc func(int64, *core.Node)
StreamRequestFunc func(int64, *discovery.DiscoveryRequest) error
StreamResponseFunc func(context.Context, int64, *discovery.DiscoveryRequest, *discovery.DiscoveryResponse)
StreamDeltaRequestFunc func(int64, *discovery.DeltaDiscoveryRequest) error
StreamDeltaResponseFunc func(int64, *discovery.DeltaDiscoveryRequest, *discovery.DeltaDiscoveryResponse)
FetchRequestFunc func(context.Context, *discovery.DiscoveryRequest) error
FetchResponseFunc func(*discovery.DiscoveryRequest, *discovery.DiscoveryResponse)
}
CallbackFuncs is a convenience type for implementing the Callbacks interface.
func (CallbackFuncs) OnDeltaStreamClosed ¶
func (c CallbackFuncs) OnDeltaStreamClosed(streamID int64, node *core.Node)
OnDeltaStreamClosed invokes DeltaStreamClosedFunc.
func (CallbackFuncs) OnDeltaStreamOpen ¶
OnDeltaStreamOpen invokes DeltaStreamOpenFunc.
func (CallbackFuncs) OnFetchRequest ¶
func (c CallbackFuncs) OnFetchRequest(ctx context.Context, req *discovery.DiscoveryRequest) error
OnFetchRequest invokes FetchRequestFunc.
func (CallbackFuncs) OnFetchResponse ¶
func (c CallbackFuncs) OnFetchResponse(req *discovery.DiscoveryRequest, resp *discovery.DiscoveryResponse)
OnFetchResponse invoked FetchResponseFunc.
func (CallbackFuncs) OnStreamClosed ¶
func (c CallbackFuncs) OnStreamClosed(streamID int64, node *core.Node)
OnStreamClosed invokes StreamClosedFunc.
func (CallbackFuncs) OnStreamDeltaRequest ¶
func (c CallbackFuncs) OnStreamDeltaRequest(streamID int64, req *discovery.DeltaDiscoveryRequest) error
OnStreamDeltaRequest invokes StreamDeltaResponseFunc
func (CallbackFuncs) OnStreamDeltaResponse ¶
func (c CallbackFuncs) OnStreamDeltaResponse(streamID int64, req *discovery.DeltaDiscoveryRequest, resp *discovery.DeltaDiscoveryResponse)
OnStreamDeltaResponse invokes StreamDeltaResponseFunc.
func (CallbackFuncs) OnStreamOpen ¶
OnStreamOpen invokes StreamOpenFunc.
func (CallbackFuncs) OnStreamRequest ¶
func (c CallbackFuncs) OnStreamRequest(streamID int64, req *discovery.DiscoveryRequest) error
OnStreamRequest invokes StreamRequestFunc.
func (CallbackFuncs) OnStreamResponse ¶
func (c CallbackFuncs) OnStreamResponse(ctx context.Context, streamID int64, req *discovery.DiscoveryRequest, resp *discovery.DiscoveryResponse)
OnStreamResponse invokes StreamResponseFunc.
type Callbacks ¶
type Callbacks interface {
rest.Callbacks
sotw.Callbacks
delta.Callbacks
}
Callbacks is a collection of callbacks inserted into the server operation. The callbacks are invoked synchronously.
type HTTPGateway ¶
type HTTPGateway struct {
// Server is the underlying gRPC server
Server Server
}
HTTPGateway is a custom implementation of [gRPC gateway](https://github.com/grpc-ecosystem/grpc-gateway) specialized to Envoy xDS API.
type Server ¶
type Server interface {
endpointservice.EndpointDiscoveryServiceServer
clusterservice.ClusterDiscoveryServiceServer
routeservice.RouteDiscoveryServiceServer
routeservice.ScopedRoutesDiscoveryServiceServer
routeservice.VirtualHostDiscoveryServiceServer
listenerservice.ListenerDiscoveryServiceServer
discovery.AggregatedDiscoveryServiceServer
secretservice.SecretDiscoveryServiceServer
runtimeservice.RuntimeDiscoveryServiceServer
extensionconfigservice.ExtensionConfigDiscoveryServiceServer
rlsconfigservice.RateLimitConfigDiscoveryServiceServer
rest.Server
sotw.Server
delta.Server
}
Server is a collection of handlers for streaming discovery requests.
func NewServer ¶
func NewServer(ctx context.Context, config cache.Cache, callbacks Callbacks, opts ...config.XDSOption) Server
NewServer creates handlers from a config watcher and callbacks.
func NewServerAdvanced ¶
func NewServerAdvanced(restServer rest.Server, sotwServer sotw.Server, deltaServer delta.Server) Server