Table of Contents

Class NcRunnerSessionState

Namespace
Hi.MachiningProcs
Assembly
HiMech.dll

NC pipeline state held on a MachiningSession and shared across multiple RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken) calls within that session. The per-layer SyntaxPieceLayers are extended via AppendSource(IEnumerable<T>) for each subsequent file so that Previous/Next connectivity (and thus ModalCarrySyntax deep-clone) crosses file boundaries.

public sealed class NcRunnerSessionState : IDisposable
Inheritance
NcRunnerSessionState
Implements
Inherited Members
Extension Methods

Properties

IsInitialized

True after the first call has built the layered pipeline.

public bool IsInitialized { get; }

Property Value

bool

NcDiagnosticProgress

public NcDiagnosticProgress NcDiagnosticProgress { get; set; }

Property Value

NcDiagnosticProgress

SyntaxPieceLayers

One LazyLinkedList<T> per pipeline layer. Index 0 is the source layer (init seed + sentence-derived pieces); indices 1..NcSyntaxList.Count are the post-NcSyntax layers. Subsequent RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken) calls extend each layer in place via AppendSource(IEnumerable<T>).

public List<LazyLinkedList<SyntaxPiece>> SyntaxPieceLayers { get; set; }

Property Value

List<LazyLinkedList<SyntaxPiece>>

Methods

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public void Dispose()

Reset()

Drops the per-layer pipeline state and the cached diagnostic sink so the next RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken) call re-builds from scratch. Use this for a controller power reset (where in-flight SyntaxPiece JSON dataflow — including Vars.Volatile, modal carries, and the init seed — must vanish) without disposing the owning MachiningSession itself.

Idempotent and reusable: after Reset() the object is in the same lazy-uninitialised state as a freshly constructed instance, so the first subsequent RunControlLines hits the !IsInitialized branch and re-creates everything.

public void Reset()