childcall

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package childcall owns Framework child response correlation and recoverable single-child handshake progress. Strategies own invocation keys, signal consumption, result interpretation, and failure policy.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CompletionMatches

func CompletionMatches(completed agent.ChildWaitSatisfied, id agent.WaitID, key agent.WaitKey, boundary agent.ChildWaitBoundary) bool

CompletionMatches binds a parsed satisfaction to the active logical and Engine-assigned wait identities. The Strategy checks the result set against its own remaining children before changing progress.

func OpeningMatches

func OpeningMatches(opened agent.ChildWaitOpened, want agent.ChildWaitSpec) bool

OpeningMatches binds an acknowledgement to the complete declared wait, including child order and the boundary that releases the parent.

func OutcomeMatches

func OutcomeMatches(outcome agent.ChildOutcome, key agent.ChildKey, process agent.ProcessID) bool

OutcomeMatches binds a parsed outcome to the declared child and its created Process. A matching name alone never identifies a completed invocation.

func StartMatches

func StartMatches(result agent.ChildStartResult, key agent.ChildKey, deployment agent.DeploymentRef) bool

StartMatches binds a parsed start result to its exact declared child.

Types

type Phase

type Phase uint8

Phase is the next Framework response accepted by a Single invocation.

const (
	AwaitingStart Phase = iota
	AwaitingOpening
	AwaitingCompletion
)

type Single

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

Single owns the identities learned during one child invocation. Its zero value awaits the StartChild settlement; absence of an invocation belongs to the containing Strategy. Progress follows the identities already learned, so there is no separately persisted phase to contradict them.

func (*Single) AcceptOpening

func (s *Single) AcceptOpening(signal agent.Signal, key agent.WaitKey, boundary agent.ChildWaitBoundary) (agent.WaitID, error)

AcceptOpening binds the Engine-assigned wait to the entire requested spec.

func (*Single) AcceptStart

func (s *Single) AcceptStart(signal agent.Signal, key agent.ChildKey, deployment agent.DeploymentRef) (agent.ChildStartResult, error)

AcceptStart records only a successfully started, exactly correlated child. A definite start failure leaves progress unchanged for the Strategy to handle.

func (Single) Complete

func (s Single) Complete(signal agent.Signal, key agent.ChildKey, waitKey agent.WaitKey, boundary agent.ChildWaitBoundary) (agent.ChildOutcome, error)

Complete extracts one exactly correlated outcome without interpreting its termination or subtree facts. The Strategy retires the invocation after applying its policy.

func (Single) MarshalJSON

func (s Single) MarshalJSON() ([]byte, error)

func (Single) Phase

func (s Single) Phase() Phase

func (Single) ProcessID

func (s Single) ProcessID() agent.ProcessID

ProcessID is available after a successful start, including to derive a Strategy-owned wait key from the actual invocation identity.

func (*Single) UnmarshalJSON

func (s *Single) UnmarshalJSON(data []byte) error

func (Single) WaitEffect

func (s Single) WaitEffect(key agent.WaitKey, boundary agent.ChildWaitBoundary) (agent.Effect, error)

WaitEffect requests the single child's declared completion boundary.

Jump to

Keyboard shortcuts

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