dispatch

package
v0.0.0-debug-20260702 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// FailureModeStrict: receiver failure MUST be reported as error
	// Used for SendToAll and Shuffle scenarios where data completeness is critical
	FailureModeStrict receiverFailureMode = iota

	// FailureModeTolerant: receiver failure can be tolerated
	// Used for SendToAny scenarios where we can failover to other receivers
	FailureModeTolerant
)
View Source
const (
	SendToAllLocalFunc = iota
	SendToAllFunc
	SendToAnyLocalFunc
	SendToAnyFunc
	ShuffleToAllFunc
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Dispatch

type Dispatch struct {

	// IsSink means this is a Sink Node
	IsSink bool
	// RecSink means this is the dispatch operator for `mergeRecursive` pipeline.
	RecSink bool
	// RecCTE means this is the dispatch operator for `mergeCTE` pipeline.
	RecCTE bool

	ShuffleType int32
	// FuncId means the sendFunc you want to call
	FuncId int
	// LocalRegs means the local register you need to send to.
	LocalRegs []*process.WaitRegister
	// RemoteRegs specific the remote reg you need to send to.
	RemoteRegs []colexec.ReceiveInfo
	// for shuffle dispatch
	ShuffleRegIdxLocal  []int
	ShuffleRegIdxRemote []int

	vm.OperatorBase
	// contains filtered or unexported fields
}

func NewArgument added in v1.2.0

func NewArgument() *Dispatch

func (*Dispatch) AdoptCleanupState

func (dispatch *Dispatch) AdoptCleanupState(from *Dispatch)

func (*Dispatch) Call

func (dispatch *Dispatch) Call(proc *process.Process) (vm.CallResult, error)

func (*Dispatch) CleanupDeferredSpool

func (dispatch *Dispatch) CleanupDeferredSpool()

CleanupDeferredSpool reclaims spool cache memory after the paired Merge cleanup has returned on a normal End path. The normal path drains queued GetFromSpool signals; a cleanup-time timeout releases the current reference and leaves no receiver goroutine that can read pending signals later.

func (*Dispatch) ExecProjection

func (dispatch *Dispatch) ExecProjection(proc *process.Process, input *batch.Batch) (*batch.Batch, error)

func (*Dispatch) Free

func (dispatch *Dispatch) Free(proc *process.Process, pipelineFailed bool, err error)

func (*Dispatch) GetOperatorBase

func (dispatch *Dispatch) GetOperatorBase() *vm.OperatorBase

func (*Dispatch) OpType

func (dispatch *Dispatch) OpType() vm.OpType

func (*Dispatch) Prepare

func (dispatch *Dispatch) Prepare(proc *process.Process) error

func (*Dispatch) RegisterRemoteReceivers

func (dispatch *Dispatch) RegisterRemoteReceivers(proc *process.Process) error

RegisterRemoteReceivers publishes remote receiver UUIDs before the dispatch operator reaches Prepare, so remote notify streams can attach early.

func (*Dispatch) Release

func (dispatch *Dispatch) Release()

func (*Dispatch) Reset

func (dispatch *Dispatch) Reset(proc *process.Process, pipelineFailed bool, err error)

func (*Dispatch) String

func (dispatch *Dispatch) String(buf *bytes.Buffer)

func (Dispatch) TypeName

func (dispatch Dispatch) TypeName() string

Jump to

Keyboard shortcuts

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