pub struct RemoteAlarm {
pub severity: i32,
pub status: i32,
pub message: String,
}Expand description
Ungated remote alarm snapshot for a link — the remote
(severity, status, message) the upstream PV carried at the last
successful value read, WITHOUT the maximize-severity
(MS/NMS/MSI) gate that LinkSet::alarm_severity applies for
owning-record propagation.
This is the DB-link inspection counterpart pvxs exposes through
dbGetAlarm / dbGetAlarmMsg — pvaGetAlarmMsg returns the cached
snap_severity / snap_message directly and never consults the
link’s sevr mode (pvxs/ioc/pvalink_lset.cpp:542-575). A default
NMS link must still report its remote severity here even though it
does not maximize the owning record’s severity.
Fields§
§severity: i32Remote alarm severity (0 = NO_ALARM … 3 = INVALID), the raw
cached alarm.severity — never gated by the link’s sevr mode.
status: i32Remote alarm status code, derived from severity exactly as
pvxs pvaGetAlarmMsg does (LINK_ALARM when severity is
non-NO_ALARM, else NO_ALARM — pvalink_lset.cpp:551). See
RemoteAlarm::from_severity_message.
message: StringRemote alarm.message. Empty when the remote carried none or
the severity is NO_ALARM (pvxs clears snap_message unless
snap_severity != 0 — pvalink_lset.cpp:418-422).
Implementations§
Source§impl RemoteAlarm
impl RemoteAlarm
Sourcepub fn from_severity_message(severity: i32, message: String) -> Self
pub fn from_severity_message(severity: i32, message: String) -> Self
Build a snapshot whose status is derived from severity
exactly as pvxs pvaGetAlarmMsg (pvalink_lset.cpp:551):
LINK_ALARM when the remote severity is non-NO_ALARM, else
NO_ALARM. status and severity cannot disagree by construction.
Trait Implementations§
Source§impl Clone for RemoteAlarm
impl Clone for RemoteAlarm
Source§fn clone(&self) -> RemoteAlarm
fn clone(&self) -> RemoteAlarm
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more