provider_controller

package
v0.51.4 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Constructor

type Constructor func(
	ctx context.Context,
	le *logrus.Entry,
	info *provider.ProviderInfo,
	peer peer.Peer,
	handler provider.ProviderHandler,
) (provider.Provider, error)

Constructor constructs a provider with common parameters.

type ProviderController

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

ProviderController is the common implementation of the provider controller.

func NewProviderController

func NewProviderController(
	le *logrus.Entry,
	bus bus.Bus,
	info *controller.Info,
	providerInfo *provider.ProviderInfo,
	peerID peer.ID,
	ctor Constructor,
) *ProviderController

NewProviderController constructs a new provider controller.

func (*ProviderController) Close

func (c *ProviderController) Close() error

Close closes the provider controller.

func (*ProviderController) Execute

func (c *ProviderController) Execute(rctx context.Context) error

Execute executes the controller goroutine. Returning nil ends execution. Returning an error triggers a retry with backoff.

func (*ProviderController) GetControllerID

func (c *ProviderController) GetControllerID() string

GetControllerID returns the controller ID.

func (*ProviderController) GetControllerInfo

func (c *ProviderController) GetControllerInfo() *controller.Info

GetControllerInfo returns information about the controller.

func (*ProviderController) GetProvider

func (c *ProviderController) GetProvider(ctx context.Context) (provider.Provider, error)

GetProvider returns the provider, waiting for it to be ready.

Returns nil, context.Canceled if canceled.

func (*ProviderController) GetProviderInfo

func (c *ProviderController) GetProviderInfo() *provider.ProviderInfo

GetProviderInfo returns the provider information

func (*ProviderController) HandleDirective

func (c *ProviderController) HandleDirective(ctx context.Context, di directive.Instance) ([]directive.Resolver, error)

HandleDirective asks if the handler can resolve the directive.

Resolves LookupProvider, LookupProviderInfo.

Jump to

Keyboard shortcuts

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