#[non_exhaustive]pub struct Counters {Show 16 fields
pub address_length_drops: u64,
pub global_broadcast_dadr_drops: u64,
pub broadcast_pdu_type_drops: u64,
pub group_dadr_drops: u64,
pub malformed: u64,
pub bad_messages: u64,
pub unknown_port: u64,
pub hop_count_drops: u64,
pub denied: u64,
pub unroutable_rejects: u64,
pub rejects: u64,
pub solicitations: u64,
pub write_failures: u64,
pub egress_too_long: u64,
pub refused: u64,
pub undrained: u64,
}Expand description
The engine’s counts, as BACnetRouter::counters reads them.
Counts of what the router dropped, sent and was refused. They saturate,
never change a decision, and name no peer. The table’s own counts are
Table::claim_counters.
It is #[non_exhaustive], so a new count isn’t a breaking change.
Outside this crate, build one from Counters::default() and set its
fields.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.address_length_drops: u64Frames refused because the link source, the DLEN or the SLEN was
past MAX_MAC_LEN (#1141, #1198).
global_broadcast_dadr_drops: u64Frames dropped for a DADR beside DNET 0xFFFF (#1379).
broadcast_pdu_type_drops: u64Broadcasts dropped for carrying an APDU other than an Unconfirmed-Request (#1491).
group_dadr_drops: u64Frames dropped for a DADR that is a group address on its delivery
port: an APDU other than an Unconfirmed-Request, a network message,
or anything for a Group::Refuse address
(#1504, #1677). An Unconfirmed-Request sent as the port’s broadcast
instead isn’t counted.
malformed: u64Frames that didn’t parse as an NPDU for any other reason.
bad_messages: u64Network messages whose data or addressing the router refused.
unknown_port: u64Frames that came on a port the router doesn’t have, or whose route names one.
hop_count_drops: u64Relays not sent because the hop count had run out.
denied: u64Protected network messages Host::authorize
refused.
unroutable_rejects: u64Received rejects that were neither for this router nor routable.
rejects: u64Rejects this router queued.
solicitations: u64Who-Is-Router searches for unknown networks queued.
write_failures: u64Outputs that couldn’t be written: longer than the scratch, or with a field no NPDU may carry, such as an SNET of 0.
egress_too_long: u64Sends left out because their egress port can’t carry them: by the router’s own check (R1), or refused by the port as too long.
refused: u64Sends the caller reported refused.
undrained: u64Actions dropped because a call came before they were polled.