Table of Contents

Struct StepBriefPin

Namespace
Hi.MachiningSteps
Assembly
HiMech.dll

Internal Use Only. The scope in which the calling thread holds one step's reads in hand — its two briefs, the values written onto it, or both: while it is alive, TryGetMillingForceBrief(out MillingForceBrief) and TryGetSeqPhysicsState(out SeqPhysicsState) of the step with that index answer the pinned briefs on this thread, and the step's indexer (this[string]) the pinned written values, ahead of the step's creation cache and the host's store read — so that a batch reader that read a segment of StepBrief rows, or of StepVariable rows, at once (the inspecting-slot scan, the step-file export) and the step-physics recompute, which has the briefs it just committed, can read the step's physics getters and its indexer without a store read per getter. Taken by PinBriefs(int, MillingForceBrief, SeqPhysicsState), PinBriefs(int, MillingForceBrief, SeqPhysicsState, IReadOnlyDictionary<string, object>) or PinWrittenValues(int, IReadOnlyDictionary<string, object>), released by Dispose(), which puts the thread's previous pin back (pins nest). Other threads never see it.

public readonly struct StepBriefPin : IDisposable
Implements
Inherited Members
Extension Methods

Methods

Dispose()

Releases the pin: the thread's previous pin, if any, is in force again.

public void Dispose()