runtime

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

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.
	Stop()
}

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

Directories

Path Synopsis
projections
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