Resolve all 46 low-severity architecture review findings
This commit is contained in:
@@ -279,6 +279,9 @@ public class AlarmActor : ReceiveActor
|
||||
/// </summary>
|
||||
private void HandleAttributeValueChanged(AttributeValueChanged changed)
|
||||
{
|
||||
// Alarm audit rows have no inferred-edge metadata: never assert that an armed
|
||||
// device publish was caused by the candidate writer. Observed static writes retain it.
|
||||
var observedSource = changed.SourceExecutionInferred ? null : changed.SourceExecutionId;
|
||||
// Expression triggers evaluate against a snapshot of every attribute,
|
||||
// not a single monitored attribute. Keep the snapshot current for every
|
||||
// change before the IsMonitoredAttribute gate (which does not apply).
|
||||
@@ -288,7 +291,7 @@ public class AlarmActor : ReceiveActor
|
||||
// (ParentExecutionId tag-cascade): remember which
|
||||
// execution (if any) wrote the newest value folded into the snapshot,
|
||||
// so the off-dispatcher evaluation can attribute its raise to it.
|
||||
_latestSourceExecutionId = changed.SourceExecutionId;
|
||||
_latestSourceExecutionId = observedSource;
|
||||
}
|
||||
else if (!IsMonitoredAttribute(changed.AttributeName))
|
||||
{
|
||||
@@ -300,7 +303,7 @@ public class AlarmActor : ReceiveActor
|
||||
{
|
||||
if (_triggerType == AlarmTriggerType.HiLo)
|
||||
{
|
||||
HandleHiLoTransition(EvaluateHiLo(changed.Value), changed.SourceExecutionId);
|
||||
HandleHiLoTransition(EvaluateHiLo(changed.Value), observedSource);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -322,7 +325,7 @@ public class AlarmActor : ReceiveActor
|
||||
_ => false
|
||||
};
|
||||
|
||||
ApplyTriggeredState(isTriggered, changed.SourceExecutionId);
|
||||
ApplyTriggeredState(isTriggered, observedSource);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user