spokes

package
v0.0.0-...-42841ab Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2022 License: MIT Imports: 10 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppBuilder

type AppBuilder func() IApp

type AppFtor

type AppFtor func() IApp

type CmdSpoke

type CmdSpoke struct {
	*Spoke
	// contains filtered or unexported fields
}

func NewCmdSpoke

func NewCmdSpoke(name schema.Name) *CmdSpoke

type CmdSpokeBuilder

type CmdSpokeBuilder func() ICommandSpoke

type CmdSpokeFtor

type CmdSpokeFtor func() ICommandSpoke

type GenCmdSpoke

type GenCmdSpoke struct {
	*Spoke
	// contains filtered or unexported fields
}

func NewGenCmdSpoke

func NewGenCmdSpoke(name schema.Name) *GenCmdSpoke

type GenCmdSpokeBuilder

type GenCmdSpokeBuilder[T behavior.ICmd] func() IGenCmdSpoke[T]

type GenCmdSpokeFtor

type GenCmdSpokeFtor[T behavior.ICmd] func() IGenCmdSpoke[T]

type IApp

type IApp interface {
	comps.IComponent
	comps.IShutdown
	Run() error
	Inject(spokes ...ISpoke) IApp
}

IApp is the Generic Injector for GO-CART applications

type ICommandSpoke

type ICommandSpoke interface {
	IMediatorSpoke
}

type IGenCmdSpoke

type IGenCmdSpoke[T behavior.ICmd] interface {
	ICommandSpoke
}

IGenCmdSpoke is a generic CMD ScreamingApp Spoke, discriminated by T of type ICmd

type IMediatorSpoke

type IMediatorSpoke interface {
	ISpoke
}

type IProjectionSpoke

type IProjectionSpoke interface {
	ISpoke
}

type IPulsarSpoke

type IPulsarSpoke interface {
	ISpoke
}

type IQuerySpoke

type IQuerySpoke interface {
	ISpoke
}

func NewQrySpoke

func NewQrySpoke(name schema.Name, path string) (IQuerySpoke, error)

type ISpoke

type ISpoke interface {
	comps.IComponent
	comps.IShutdown
	Run(ctx context.Context) func() error
	Inject(reactions ...comps.ISpokePlugin) ISpoke
}

type ProjectionSpoke

type ProjectionSpoke struct {
	*Spoke
	// contains filtered or unexported fields
}

func NewPrjSpoke

func NewPrjSpoke(
	name schema.Name,
) *ProjectionSpoke

type ProjectionSpokeBuilder

type ProjectionSpokeBuilder func() IProjectionSpoke

type ProjectionSpokeFtor

type ProjectionSpokeFtor func() IProjectionSpoke

type PulsarSpoke

type PulsarSpoke struct {
	*Spoke
	// contains filtered or unexported fields
}

PulsarSpoke is a spoke that contains a number of PulseWorkers

type QrySpoke

type QrySpoke struct {
	*Spoke
	// contains filtered or unexported fields
}

type Spoke

type Spoke struct {
	*comps.Component
	// contains filtered or unexported fields
}

Spoke is the base struct to use when implementing new types of modules.

func NewSpoke

func NewSpoke(
	name schema.Name,
	run runSpokeFunc,
	down downSpokeFunc,
	regPlugins registerPluginsFunc,
) *Spoke

NewSpoke returns a new Spoke

func (*Spoke) Inject

func (f *Spoke) Inject(plugins ...comps.ISpokePlugin) ISpoke

Inject allows you to inject Reactions into the Spoke

func (*Spoke) Run

func (f *Spoke) Run(ctx context.Context) func() error

Run is the go routine that executes a Spoke

func (*Spoke) Shutdown

func (f *Spoke) Shutdown(ctx context.Context)

Shutdown gracefully shuts down the Spoke

type SpokeBuilder

type SpokeBuilder func() ISpoke

type SpokeFtor

type SpokeFtor func() ISpoke

Jump to

Keyboard shortcuts

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