istio: istio.io/istio/galley/pkg/config/processing Index | Files | Directories

package processing

import "istio.io/istio/galley/pkg/config/processing"

Index

Package Files

processor.go runtime.go session.go

type ProcessorOptions Uses

type ProcessorOptions struct {
    MeshConfig   *v1alpha1.MeshConfig
    DomainSuffix string
}

ProcessorOptions are options that are passed to event.Processors during startup.

type ProcessorProvider Uses

type ProcessorProvider func(o ProcessorOptions) event.Processor

ProcessorProvider returns a new Processor instance for the given ProcessorOptions.

type Runtime Uses

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

Runtime is the top-level config processing machinery. Through runtime options, it takes in a set of Sources and a Processor. Once started, Runtime will go through a startup phase, where it waits for MeshConfig to arrive before starting the Processor. If, the Runtime receives any event.RESET events, or if there is a change to the MeshConfig, then the Runtime will stop the processor and sources and will restart them again.

Internally, Runtime uses the session type to implement this stateful behavior. The session handles state transitions and is responsible for starting/stopping the Sources, Processors, in the correct order.

func NewRuntime Uses

func NewRuntime(o RuntimeOptions) *Runtime

NewRuntime returns a new instance of a processing.Runtime.

func (*Runtime) Start Uses

func (r *Runtime) Start()

Start the Runtime

func (*Runtime) Stop Uses

func (r *Runtime) Stop()

Stop the Runtime

type RuntimeOptions Uses

type RuntimeOptions struct {
    Source            event.Source
    ProcessorProvider ProcessorProvider
    DomainSuffix      string
}

RuntimeOptions is options for Runtime

func (RuntimeOptions) Clone Uses

func (o RuntimeOptions) Clone() RuntimeOptions

Clone returns a cloned copy of the RuntimeOptions.

Directories

PathSynopsis
snapshotter
snapshotter/strategy
transformer

Package processing imports 8 packages (graph) and is imported by 6 packages. Updated 2019-10-15. Refresh now. Tools for package owners.