go.bigb.es/auxilia

v0.2.0
Doc Versions Source

Index

Functions

f func ReserveSingleton

src
func ReserveSingleton(assetKey interface{})

Types

T type Asset

src
type Asset interface {
	Name() string
	// contains filtered or unexported methods
}

f func ConfigurationAsset

src
func ConfigurationAsset(value any) (Asset, error)

f func MustConfigurationAsset

src

f func MustNewConfigurationAsset

src

f func MustNewServiceAsset

src
func MustNewServiceAsset(value any, opts ...ComponentOption) Asset

f func MustServiceAsset

src
func MustServiceAsset(value any, opts ...ComponentOption) Asset

f func MustSingletonAsset

src
func MustSingletonAsset(key any, value any, opts ...ComponentOption) Asset

f func NewConfigurationAsset

src
func NewConfigurationAsset(value any) (Asset, error)

f func NewServiceAsset

src
func NewServiceAsset(value any, opts ...ComponentOption) (Asset, error)

f func RegisterSingleton

src
func RegisterSingleton(assetKey interface{}, asset Asset) (got Asset, isNew bool)

f func ServiceAsset

src
func ServiceAsset(value any, opts ...ComponentOption) (Asset, error)

f func SingletonAsset

src
func SingletonAsset(key any, value any, opts ...ComponentOption) (Asset, error)

T type ComponentOption

src
type ComponentOption func(asset *serviceAsset)

f func IgnoreUnused

src

f func Root

src

Root marks the asset as a root asset. Root assets are always started/stopped.

f func Singleton

src
func Singleton(singletonKey interface{}) ComponentOption

Singleton marks the asset as a singleton asset. Singleton assets are always root assets and created only once. NB: Singleton assets cant depend on other assets, for now.

T type Destroyer

src
type Destroyer interface {
	Destroy(ctx context.Context) error
}

T type DummySingleton

src
type DummySingleton struct {
	// contains filtered or unexported fields
}

m func (DummySingleton) Name

src
func (d DummySingleton) Name() string

T type GracefulStopper

src
type GracefulStopper interface {
	GracefulStop(ctx context.Context) error
}

T type HealthChecker

src
type HealthChecker interface {
	HealthCheck(ctx context.Context) error
}

T type InitScope

src
type InitScope interface {
	AddComponent(ctx context.Context, components ...Asset) // we should put here already initialized components
}

f func InitScopeFromContext

src

T type Initer

src
type Initer interface {
	Init(ctx context.Context) error
}

T type Introspector

src
type Introspector struct {
	// contains filtered or unexported fields
}

f func NewIntrospector

src

m func (*Introspector) Dot

src
func (m *Introspector) Dot(ctx context.Context) string

m func (*Introspector) Manager

src
func (m *Introspector) Manager()

T type Manager

src
type Manager struct {
	// contains filtered or unexported fields
}

f func NewChildManager

src

f func NewManager

src

m func (*Manager) AddComponent

src
func (m *Manager) AddComponent(ctx context.Context, components ...Asset)

m func (*Manager) Destroy

src
func (m *Manager) Destroy(ctx context.Context) error

m func (*Manager) Dot

src
func (m *Manager) Dot(_ context.Context) string

m func (*Manager) GracefulStop

src
func (m *Manager) GracefulStop(ctx context.Context) error

m func (*Manager) HealthCheck

src
func (m *Manager) HealthCheck(ctx context.Context) error

m func (*Manager) Init

src
func (m *Manager) Init(ctx context.Context) error

m func (*Manager) Inject

src
func (m *Manager) Inject(ctx context.Context) error

m func (*Manager) Override

src
func (m *Manager) Override(ctx context.Context, components ...Asset)

m func (*Manager) Start

src
func (m *Manager) Start(ctx context.Context) error

m func (*Manager) Stop

src
func (m *Manager) Stop(ctx context.Context) error

m func (*Manager) VerifyDestroyed

src
func (m *Manager) VerifyDestroyed(_ context.Context) error

T type StartScope

src
type StartScope interface {
	CreateChildManager(ctx context.Context) *Manager
}

f func StartScopeFromContext

src

f func WithStartScope

src

T type Starter

src
type Starter interface {
	Start(ctx context.Context) error
}

T type Stopper

src
type Stopper interface {
	Stop(ctx context.Context) error
}