istio: istio.io/istio/pilot/pkg/config/memory Index | Files

package memory

import "istio.io/istio/pilot/pkg/config/memory"

Package memory provides an in-memory volatile config store implementation

Index

Package Files

config.go controller.go monitor.go

Constants

const (
    // BufferSize specifies the buffer size of event channel
    BufferSize = 100
)

func Make Uses

func Make(schemas collection.Schemas) model.ConfigStore

Make creates an in-memory config store from a config schemas

func MakeSkipValidation Uses

func MakeSkipValidation(schemas collection.Schemas, skipValidation bool) model.ConfigStore

func NewController Uses

func NewController(cs model.ConfigStore) model.ConfigStoreCache

NewController return an implementation of model.ConfigStoreCache This is a client-side monitor that dispatches events as the changes are being made on the client.

func NewSyncController Uses

func NewSyncController(cs model.ConfigStore) model.ConfigStoreCache

NewSyncController return an implementation of model.ConfigStoreCache which processes events synchronously

type ConfigEvent Uses

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

ConfigEvent defines the event to be processed

type Handler Uses

type Handler func(config2.Config, config2.Config, model.Event)

Handler specifies a function to apply on a Config for a given event type

type Monitor Uses

type Monitor interface {
    Run(<-chan struct{})
    AppendEventHandler(config2.GroupVersionKind, Handler)
    ScheduleProcessEvent(ConfigEvent)
}

Monitor provides methods of manipulating changes in the config store

func NewMonitor Uses

func NewMonitor(store model.ConfigStore) Monitor

NewMonitor returns new Monitor implementation with a default event buffer size.

func NewSyncMonitor Uses

func NewSyncMonitor(store model.ConfigStore) Monitor

NewMonitor returns new Monitor implementation which will process events synchronously

Package memory imports 8 packages (graph) and is imported by 5 packages. Updated 2020-10-29. Refresh now. Tools for package owners.