pub trait AuditLogStorage: Send + Sync {
// Required methods
fn query(
&self,
parameters: &BACnetAuditLogQueryParameters,
start_at_sequence_number: Option<u64>,
requested_count: u16,
) -> AuditLogQueryPage;
fn retained_records(&self) -> &VecDeque<BACnetAuditLogRecordResult>;
}Expand description
Read-only query capability for an object’s retained Audit Log records.
Implementations return owned pages so the server can release its object database read guard before building and encoding the ComplexACK. This interface never performs persistence I/O or mutates the log.
Required Methods§
Sourcefn query(
&self,
parameters: &BACnetAuditLogQueryParameters,
start_at_sequence_number: Option<u64>,
requested_count: u16,
) -> AuditLogQueryPage
fn query( &self, parameters: &BACnetAuditLogQueryParameters, start_at_sequence_number: Option<u64>, requested_count: u16, ) -> AuditLogQueryPage
Filter and page the currently retained in-memory records.
A present start is the corrected-baseline Unsigned64 cursor
(Errata 2024-04-29 item 8) and admits only literal sequence identities
below it. This intentionally does not add a modular cursor across
u64::MAX -> 1.
Sourcefn retained_records(&self) -> &VecDeque<BACnetAuditLogRecordResult>
fn retained_records(&self) -> &VecDeque<BACnetAuditLogRecordResult>
The retained records oldest-to-newest, each with its sequence number.
This is the Log_Buffer list that ReadRange pages (Clause 12.64.10), the
same ring query scans, so the two services never see different
copies. The view is borrowed: the caller reads it under its object
database guard, and nothing is copied or persisted.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".