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
NcDiagnosticProgress
Session-shared diagnostic sink. Built lazily on the first RunControlLines(string, IEnumerable<string>, MachiningSession, SessionProgress, CancellationToken) call.
public NcDiagnosticProgress NcDiagnosticProgress { get; set; }
Property Value
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
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()