Table of Contents

Class MachiningPipelineSubmit

Namespace
Hi.Machining
Assembly
HiCbtr.dll

Internal Use Only. One machining_pipeline__submit call (play-core migration P17, P15 R6 / ABI-4 / LLT-13): the submit of a step into the native machining pipeline with the tree's gate as the typed parameter. The gate is the tree argument's holder, or the process-wide no-tree sentinel for a step without a tree (an invalid handle that marshals as 0; a C# null never reaches the stub). Under its own reference on the handle the wrapper writes the handle's value into the in-record's first field (cube_tree_gate, offset 0 of machining_pipeline_step_in_t; the mirror's static constructor in HiMech pins the offset) and makes the call, so the field and the parameter can never disagree (the core aborts when they do). The in-record and the arrays it addresses are the caller's to keep pinned and reachable across the call; the core copies them during the call only.

public static class MachiningPipelineSubmit
Inheritance
MachiningPipelineSubmit
Inherited Members

Fields

Cancelled

The answer of Submit(nint, nint, CubeTree): the step's cancel group was cancelled before or during the call; nothing queued, no record.

public const int Cancelled = 1

Field Value

int

Closed

The answer of Submit(nint, nint, CubeTree): the pipeline is closed; nothing queued, no record.

public const int Closed = 2

Field Value

int

CubeTreeGateFieldOffset

The byte offset of cube_tree_gate in machining_pipeline_step_in_t, the field Submit(nint, nint, CubeTree) writes.

public const int CubeTreeGateFieldOffset = 0

Field Value

int

Queued

The answer of Submit(nint, nint, CubeTree): the unit was accepted and will produce exactly one record.

public const int Queued = 0

Field Value

int

Methods

Submit(nint, nint, CubeTree)

Submits one step: writes the gate's value into the in-record's cube_tree_gate and calls machining_pipeline__submit with the same handle.

public static int Submit(nint pipeline, nint inRecord, CubeTree tree)

Parameters

pipeline nint

The native pipeline (machining_pipeline__new's answer); never zero.

inRecord nint

The pinned machining_pipeline_step_in_t the caller filled; never zero.

tree CubeTree

The tree the step cuts, whose gate is passed; null for a step without a tree (the no-tree sentinel is passed and the field reads 0). A disposed tree still has its gate: the core answers the no-tree path at the cut.

Returns

int

Queued, Cancelled or Closed.

Exceptions

ArgumentException

pipeline or inRecord is zero.