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

nobuffer

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: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NoBuffer

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

NoBuffer runs the loadbalance/earlyresult fault sequence against a worker that does not buffer an early resolution. Like the Python, Java and JavaScript SDKs, it replays the events in order and ignores a resolution with no pending activity, timer or child workflow, and it gives every new scheduling a new TaskExecutionId. The workflow runs step0, then a middle step, then step2; the turn that schedules the middle step fails its save after the step was started, so its resolution reaches the inbox before its scheduling is saved. The workflow must still complete.

func New

func New(t *testing.T, opts Options) *NoBuffer

func (*NoBuffer) Cleanup

func (n *NoBuffer) Cleanup(t *testing.T)

func (*NoBuffer) Execute

func (n *NoBuffer) Execute(t *testing.T, ctx context.Context)

Execute runs the workflow through the failed save and asserts it completes.

func (*NoBuffer) Run

func (n *NoBuffer) Run(t *testing.T, ctx context.Context)

type Options

type Options struct {
	// ID is the workflow instance ID; the child workflow is ID + "-child".
	ID     string
	Middle Step
	// HoldChild holds the child's terminal commit, and with it the child's
	// turn lock, until the parent's retried turn is blocked re-creating the
	// child.
	HoldChild bool
}

type Step

type Step int

Step is the kind of the workflow's middle step.

const (
	StepActivity Step = iota
	StepTimer
	StepChild
)

Jump to

Keyboard shortcuts

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