Skip to main content

AuditLogStorage

Trait AuditLogStorage 

Source
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§

Source

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.

Source

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".

Implementors§