Class PreferredNodeTransition
- Namespace
- Quartz.Impl.AdoJobStore
- Assembly
- Quartz.dll
The compare-and-swap UpdateTriggerPreferredNodeConditional(ConnectionAndTransactionHolder, TriggerKey, PreferredNodeTransition, CancellationToken) attempts: the pin the caller observed, and the pin it wants to put in its place.
public sealed record PreferredNodeTransition : IEquatable<PreferredNodeTransition>
- Inheritance
-
PreferredNodeTransition
- Implements
- Inherited Members
Remarks
Keeping the two pins as one value is what makes the operation readable as a CAS — the alternative, four loose parameters in expected/new pairs, is trivial to transpose and the compiler cannot tell.
Properties
Expected
The pin the row must still hold for the swap to happen. Read at acquisition time; if anything re-pinned the trigger since, no row matches and the swap reports zero rows updated.
public required PreferredNode Expected { get; init; }
Property Value
New
The pin to write when the row still holds Expected.
public required PreferredNode New { get; init; }