Class MachiningPipelineSubmit
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
Closed
The answer of Submit(nint, nint, CubeTree): the pipeline is closed; nothing queued, no record.
public const int Closed = 2
Field Value
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
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
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
pipelinenintThe native pipeline (
machining_pipeline__new's answer); never zero.inRecordnintThe pinned
machining_pipeline_step_in_tthe caller filled; never zero.treeCubeTreeThe 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
Exceptions
- ArgumentException
pipelineorinRecordis zero.