category

package
v1.19.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Oct 1, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Category

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

Category is the per-resource-category loop handler.

func New

func New(opts Options) *Category

New builds a Category. The returned Category's loop must be started by the caller (e.g. inside concurrency.NewRunnerManager).

func (*Category) EnqueueWithFanout

func (c *Category) EnqueueWithFanout(make func(name string) loops.EventInstance)

EnqueueWithFanout enqueues the same event to every existing instance loop. Useful for category broadcasts (StartReadingFromBindings sends a StartInput to every binding instance).

func (*Category) Handle

func (c *Category) Handle(ctx context.Context, e loops.EventCategory) error

Handle is the loop handler.

func (*Category) Instances

func (c *Category) Instances() map[string]loop.Interface[loops.EventInstance]

Instances returns a snapshot of currently active instance names. Only safe to call from inside the category loop's Handle.

func (*Category) Loop

Loop returns the underlying category loop.

func (*Category) Run

func (c *Category) Run(ctx context.Context) error

Run starts the category loop. It returns when the loop is closed.

type InstanceFactory

type InstanceFactory func(name string) loop.Interface[loops.EventInstance]

InstanceFactory builds an Instance loop for a given named component. The factory may return a category-specialised handler that satisfies loop.Interface[loops.EventInstance].

type Options

type Options struct {
	Name      string
	Manager   instance.Manager
	CompStore *compstore.ComponentStore
	Reporter  registry.Reporter
	Security  security.Handler
	// InstanceFactory, if non-nil, overrides the default per-name instance
	// loop construction. Specialised categories (bindings) use this to inject
	// per-instance handlers that hold local state.
	InstanceFactory InstanceFactory
}

Jump to

Keyboard shortcuts

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