v2

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2020 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EnvoyListener              = "type.googleapis.com/envoy.api.v2.Listener"
	EnvoyCluster               = "type.googleapis.com/envoy.api.v2.Cluster"
	EnvoyClusterLoadAssignment = "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment"
	EnvoyRouteConfiguration    = "type.googleapis.com/envoy.api.v2.RouteConfiguration"
)

default type url mosn will handle

Variables

This section is empty.

Functions

func DisableReconnect

func DisableReconnect()

func EnableReconnect

func EnableReconnect()

func HandleEnvoyCluster

func HandleEnvoyCluster(client *ADSClient, resp *envoy_api_v2.DiscoveryResponse)

HandleEnvoyCluster parse envoy data to mosn cluster config

func HandleEnvoyClusterLoadAssignment

func HandleEnvoyClusterLoadAssignment(client *ADSClient, resp *envoy_api_v2.DiscoveryResponse)

HandleEnvoyClusterLoadAssignment parse envoy data to mosn endpoint config

func HandleEnvoyListener

func HandleEnvoyListener(client *ADSClient, resp *envoy_api_v2.DiscoveryResponse)

HandleEnvoyListener parse envoy data to mosn listener config

func HandleEnvoyRouteConfiguration

func HandleEnvoyRouteConfiguration(client *ADSClient, resp *envoy_api_v2.DiscoveryResponse)

HandleEnvoyRouteConfiguration parse envoy data to mosn route config

func HandleTypeURL

func HandleTypeURL(url string, client *ADSClient, resp *envoy_api_v2.DiscoveryResponse)

func RegisterTypeURLHandleFunc

func RegisterTypeURLHandleFunc(url string, f TypeURLHandleFunc)

Types

type ADSClient

type ADSClient struct {
	AdsConfig         *ADSConfig
	StreamClientMutex sync.RWMutex
	StreamClient      ads.AggregatedDiscoveryService_StreamAggregatedResourcesClient
	MosnConfig        *v2.MOSNConfig
	SendControlChan   chan int
	RecvControlChan   chan int
	StopChan          chan int
}

ADSClient communicated with pilot

func (*ADSClient) Start

func (adsClient *ADSClient) Start()

Start adsClient send goroutine and receive goroutine send goroutine periodic request lds and cds receive goroutine handle response for both client request and server push

func (*ADSClient) Stop

func (adsClient *ADSClient) Stop()

Stop adsClient wait for send/receive goroutine graceful exit

type ADSConfig

type ADSConfig struct {
	APIType      core.ApiConfigSource_ApiType
	RefreshDelay *time.Duration
	Services     []*ServiceConfig
	StreamClient *StreamClient
}

ADSConfig contains ADS config from dynamic resources

func (*ADSConfig) GetStreamClient

GetStreamClient return a grpc stream client that connected to ads

type ClusterConfig

type ClusterConfig struct {
	LbPolicy       envoy_api_v2.Cluster_LbPolicy
	Address        []string
	ConnectTimeout *time.Duration
	TlsContext     *envoy_api_v2_auth.UpstreamTlsContext
}

ClusterConfig contains an cluster info from static resources

func (*ClusterConfig) GetEndpoint

func (c *ClusterConfig) GetEndpoint() (string, *time.Duration)

GetEndpoint return an endpoint address by random

type ServiceConfig

type ServiceConfig struct {
	Timeout       *time.Duration
	ClusterConfig *ClusterConfig
}

ServiceConfig for grpc service

type StreamClient

StreamClient is an grpc client

type TypeURLHandleFunc

type TypeURLHandleFunc func(client *ADSClient, resp *envoy_api_v2.DiscoveryResponse)

TypeURLHandleFunc is a function that used to parse ads type url data

type XDSConfig

type XDSConfig struct {
	ADSConfig *ADSConfig
	Clusters  map[string]*ClusterConfig
}

XDSConfig contains ADS config and clusters info

func (*XDSConfig) Init

func (c *XDSConfig) Init(dynamicResources *bootstrap.Bootstrap_DynamicResources, staticResources *bootstrap.Bootstrap_StaticResources) error

Init parsed ds and clusters config for xds

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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