Version: v0.0.0-...-d8a34e3 Latest Latest

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

Go to latest
Published: May 25, 2019 License: Apache-2.0 Imports: 24 Imported by: 0




This section is empty.


This section is empty.


This section is empty.


type Config

type Config struct {
	// Cached mesh config
	Mesh meshconfig.Cache

	// Domain suffix to use
	DomainSuffix string

	// Schema for runtime
	Schema *resource.Schema

	// Enable Service Entry processing
	SynthesizeServiceEntries bool

Config used by the runtime

type Distributor

type Distributor interface {
	SetSnapshot(name string, snapshot sn.Snapshot)

	ClearSnapshot(name string)

Distributor interface allows processor to distribute snapshots of configuration.

type InMemoryDistributor

type InMemoryDistributor struct {
	// contains filtered or unexported fields

InMemoryDistributor is an in-memory distributor implementation.

func NewInMemoryDistributor

func NewInMemoryDistributor() *InMemoryDistributor

NewInMemoryDistributor returns a new instance of InMemoryDistributor

func (*InMemoryDistributor) ClearSnapshot

func (d *InMemoryDistributor) ClearSnapshot(name string)

ClearSnapshot is an implementation of Distributor.ClearSnapshot

func (*InMemoryDistributor) GetSnapshot

func (d *InMemoryDistributor) GetSnapshot(name string) sn.Snapshot

GetSnapshot get the snapshot of the specified name

func (*InMemoryDistributor) ListenChanges

func (d *InMemoryDistributor) ListenChanges(cancel chan bool, fn ListenerFn)

ListenChanges registered listener and start listening snapshot changes in the distributor

func (*InMemoryDistributor) NumSnapshots

func (d *InMemoryDistributor) NumSnapshots() int

NumSnapshots returns the current number of snapshots.

func (*InMemoryDistributor) SetSnapshot

func (d *InMemoryDistributor) SetSnapshot(name string, snapshot sn.Snapshot)

SetSnapshot is an implementation of Distributor.SetSnapshot

type InMemorySource

type InMemorySource struct {
	// contains filtered or unexported fields

InMemorySource is an implementation of source.Interface.

func NewInMemorySource

func NewInMemorySource() *InMemorySource

NewInMemorySource returns a new instance of InMemorySource.

func (*InMemorySource) Delete

func (s *InMemorySource) Delete(k resource.Key)

Delete a value in the in-memory store.

func (*InMemorySource) Get

func (s *InMemorySource) Get(key resource.Key) (resource.Entry, error)

Get a value in the in-memory store.

func (*InMemorySource) Set

func (s *InMemorySource) Set(k resource.Key, metadata resource.Metadata, item proto.Message)

Set the value in the in-memory store.

func (*InMemorySource) Start

func (s *InMemorySource) Start(handler resource.EventHandler) error

Start implements source.Interface.Start

func (*InMemorySource) Stop

func (s *InMemorySource) Stop()

Stop implements source.Interface.Stop

type ListenerFn

type ListenerFn func(s sn.Snapshot)

ListenerFn is used by listeners for defining listen action

type Processor

type Processor struct {
	// contains filtered or unexported fields

Processor is the main control-loop for processing incoming config events and translating them into component configuration

func NewProcessor

func NewProcessor(src Source, distributor Distributor, cfg *Config) *Processor

NewProcessor returns a new instance of a Processor

func (*Processor) AwaitFullSync

func (p *Processor) AwaitFullSync(timeout time.Duration) error

AwaitFullSync waits until the full sync event is received from the source. For testing purposes only.

func (*Processor) Start

func (p *Processor) Start() error

Start the processor. This will cause processor to listen to incoming events from the provider and publish component configuration via the Distributor.

func (*Processor) Stop

func (p *Processor) Stop()

Stop the processor.

type Source

type Source interface {
	// Start the source interface, provided the EventHandler. The initial state of the underlying
	// config store should be reflected as a series of Added events, followed by a FullSync event.
	Start(handler resource.EventHandler) error

	// Stop the source interface. Upon return from this method, the channel should not be accumulating any
	// more events.

Source to be implemented by a source configuration provider.

type State

type State struct {
	// contains filtered or unexported fields

State is the in-memory state of Galley.

func (*State) Handle

func (s *State) Handle(event resource.Event)

Handle implements the processing.Handler interface.

func (*State) String

func (s *State) String() string

String implements fmt.Stringer


Path Synopsis
Package resource contains core abstract types for representing configuration resources.
Package resource contains core abstract types for representing configuration resources.

Jump to

Keyboard shortcuts

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