workflowstate

package
v0.0.0-...-25251a0 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2022 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetSignalChannel

func GetSignalChannel[T any](ctx sync.Context, wf *WfState, name string) sync.Channel[T]

func NewReplayLogger

func NewReplayLogger(state *WfState, logger log.Logger) log.Logger

func ReceiveSignal

func ReceiveSignal(wf *WfState, name string, arg payload.Payload)

func WithWorkflowState

func WithWorkflowState(ctx sync.Context, wfState *WfState) sync.Context

Types

type DecodingSettable

type DecodingSettable func(v payload.Payload, err error) error

func AsDecodingSettable

func AsDecodingSettable[T any](f sync.SettableFuture[T]) DecodingSettable

Use this to track futures for the workflow state. It's required to map the generic Future interface to a type without type parameters.

type WfState

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

func NewWorkflowState

func NewWorkflowState(instance *core.WorkflowInstance, logger log.Logger, clock clock.Clock) *WfState

func WorkflowState

func WorkflowState(ctx sync.Context) *WfState

func (*WfState) AddCommand

func (wf *WfState) AddCommand(cmd command.Command)

func (*WfState) CommandByScheduleEventID

func (wf *WfState) CommandByScheduleEventID(scheduleEventID int64) command.Command

func (*WfState) Commands

func (wf *WfState) Commands() []command.Command

func (*WfState) FutureByScheduleEventID

func (wf *WfState) FutureByScheduleEventID(scheduleEventID int64) (DecodingSettable, bool)

func (*WfState) GetNextScheduleEventID

func (wf *WfState) GetNextScheduleEventID() int64

func (*WfState) HasPendingFutures

func (wf *WfState) HasPendingFutures() bool

func (*WfState) Instance

func (wf *WfState) Instance() *core.WorkflowInstance

func (*WfState) Logger

func (wf *WfState) Logger() log.Logger

func (*WfState) RemoveFuture

func (wf *WfState) RemoveFuture(scheduleEventID int64)

func (*WfState) Replaying

func (wf *WfState) Replaying() bool

func (*WfState) SetReplaying

func (wf *WfState) SetReplaying(replaying bool)

func (*WfState) SetTime

func (wf *WfState) SetTime(t time.Time)

func (*WfState) Time

func (wf *WfState) Time() time.Time

func (*WfState) TrackFuture

func (wf *WfState) TrackFuture(scheduleEventID int64, f DecodingSettable)

Jump to

Keyboard shortcuts

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