xds

package
v1.39.3-alpha Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2021 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package xds contains an implementation of the xDS suite of protocols, to be used by gRPC client and server applications.

On the client-side, users simply need to import this package to get all xDS functionality. On the server-side, users need to use the GRPCServer type exported by this package instead of the regular grpc.Server.

See https://github.com/grpc/grpc-go/tree/master/examples/features/xds for example.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GRPCServer

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

GRPCServer wraps a gRPC server and provides server-side xDS functionality, by communication with a management server using xDS APIs. It implements the grpc.ServiceRegistrar interface and can be passed to service registration functions in IDL generated code.

Experimental

Notice: This type is EXPERIMENTAL and may be changed or removed in a later release.

func NewGRPCServer

func NewGRPCServer(opts ...grpc.ServerOption) *GRPCServer

NewGRPCServer creates an xDS-enabled gRPC server using the passed in opts. The underlying gRPC server has no service registered and has not started to accept requests yet.

Experimental

Notice: This API is EXPERIMENTAL and may be changed or removed in a later release.

func (*GRPCServer) GracefulStop

func (s *GRPCServer) GracefulStop()

GracefulStop stops the underlying gRPC server gracefully. It stops the server from accepting new connections and RPCs and blocks until all the pending RPCs are finished.

func (*GRPCServer) RegisterService

func (s *GRPCServer) RegisterService(sd *grpc.ServiceDesc, ss interface{})

RegisterService registers a service and its implementation to the underlying gRPC server. It is called from the IDL generated code. This must be called before invoking Serve.

func (*GRPCServer) Serve

func (s *GRPCServer) Serve(lis net.Listener) error

Serve gets the underlying gRPC server to accept incoming connections on the listener lis, which is expected to be listening on a TCP port.

A connection to the management server, to receive xDS configuration, is initiated here.

Serve will return a non-nil error unless Stop or GracefulStop is called.

func (*GRPCServer) Stop

func (s *GRPCServer) Stop()

Stop stops the underlying gRPC server. It immediately closes all open connections. It cancels all active RPCs on the server side and the corresponding pending RPCs on the client side will get notified by connection errors.

Directories

Path Synopsis
Package internal contains functions/structs shared by xds balancers/resolvers.
Package internal contains functions/structs shared by xds balancers/resolvers.

Jump to

Keyboard shortcuts

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