Help us shape the future of Go! Take the 2026 Go Developer Survey

category

package
v1.19.0 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 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