# Crate `paranoid_audit` :::::::{rust:crate} paranoid_audit :index: 0 ::: ::: :::{rust:use} paranoid_audit :used_name: self ::: :::{rust:use} paranoid_audit :used_name: crate ::: :::{rust:use} openssl::ssl::SslConnector :used_name: SslConnector ::: :::{rust:use} openssl::ssl::SslFiletype :used_name: SslFiletype ::: :::{rust:use} openssl::ssl::SslMethod :used_name: SslMethod ::: :::{rust:use} openssl::ssl::SslVerifyMode :used_name: SslVerifyMode ::: :::{rust:use} openssl::ssl::SslVersion :used_name: SslVersion ::: :::{rust:use} serde::Deserialize :used_name: Deserialize ::: :::{rust:use} serde::Serialize :used_name: Serialize ::: :::{rust:use} std::collections::BTreeMap :used_name: BTreeMap ::: :::{rust:use} std::io::BufRead :used_name: BufRead ::: :::{rust:use} std::io::BufReader :used_name: BufReader ::: :::{rust:use} std::io::BufWriter :used_name: BufWriter ::: :::{rust:use} std::time::Duration :used_name: Duration ::: :::{rust:use} std::fs::OpenOptions :used_name: OpenOptions ::: :::{rust:use} std::path::Path :used_name: Path ::: :::{rust:use} std::time::SystemTime :used_name: SystemTime ::: :::{rust:use} std::net::TcpStream :used_name: TcpStream ::: :::{rust:use} std::net::ToSocketAddrs :used_name: ToSocketAddrs ::: :::{rust:use} std::time::UNIX_EPOCH :used_name: UNIX_EPOCH ::: :::{rust:use} std::io::Write :used_name: Write ::: :::{rust:use} std::env :used_name: env ::: :::{rust:use} thiserror::Error :used_name: Error ::: :::{rubric} Variables ::: ::::::{rust:variable} paranoid_audit::AUDIT_HASH_CHAIN_VERSION :index: 0 :vis: pub :toc: const AUDIT_HASH_CHAIN_VERSION :layout: [{"type":"keyword","value":"const"},{"type":"space"},{"type":"name","value":"AUDIT_HASH_CHAIN_VERSION"},{"type":"punctuation","value":": "},{"type":"link","value":"u16","target":"u16"}] ::: ::: :::::: ::::::{rust:variable} paranoid_audit::AUDIT_SCHEMA_VERSION :index: 0 :vis: pub :toc: const AUDIT_SCHEMA_VERSION :layout: [{"type":"keyword","value":"const"},{"type":"space"},{"type":"name","value":"AUDIT_SCHEMA_VERSION"},{"type":"punctuation","value":": "},{"type":"link","value":"u16","target":"u16"}] ::: ::: :::::: ::::::{rust:variable} paranoid_audit::DEFAULT_AUDIT_OPERATION_ID :index: 0 :vis: pub :toc: const DEFAULT_AUDIT_OPERATION_ID :layout: [{"type":"keyword","value":"const"},{"type":"space"},{"type":"name","value":"DEFAULT_AUDIT_OPERATION_ID"},{"type":"punctuation","value":": "},{"type":"punctuation","value":"&"},{"type":"link","value":"str","target":"str"}] ::: ::: :::::: :::{rubric} Functions ::: ::::::{rust:function} paranoid_audit::assess_external_audit_device_from_environment :index: 0 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"assess_external_audit_device_from_environment"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"AuditSinkHealth","target":"AuditSinkHealth"}] ::: ::: :::::: ::::::{rust:function} paranoid_audit::assess_external_audit_device_from_lookup_with_probe :index: 0 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"assess_external_audit_device_from_lookup_with_probe"},{"type":"punctuation","value":"("},{"type":"keyword","value":"mut"},{"type":"space"},{"type":"name","value":"value_for"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"FnMut","target":"FnMut"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"link","value":"str","target":"str"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"probe"},{"type":"punctuation","value":": "},{"type":"punctuation","value":"&"},{"type":"keyword","value":"mut"},{"type":"space"},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"ExternalAuditDeviceProbe","target":"ExternalAuditDeviceProbe"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"AuditSinkHealth","target":"AuditSinkHealth"}] ::: ::: :::::: ::::::{rust:function} paranoid_audit::assess_optional_jsonl_file_audit_sink :index: 0 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"assess_optional_jsonl_file_audit_sink"},{"type":"punctuation","value":"("},{"type":"name","value":"path"},{"type":"punctuation","value":": "},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"punctuation","value":"&"},{"type":"link","value":"Path","target":"Path"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"AuditSinkHealth","target":"AuditSinkHealth"}] ::: ::: :::::: ::::::{rust:function} paranoid_audit::hash_chain_events :index: 0 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"hash_chain_events"},{"type":"punctuation","value":"("},{"type":"name","value":"events"},{"type":"punctuation","value":": "},{"type":"punctuation","value":"&"},{"type":"punctuation","value":"["},{"type":"link","value":"AuditEvent","target":"AuditEvent"},{"type":"punctuation","value":"]"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Result","target":"Result"},{"type":"punctuation","value":"<"},{"type":"link","value":"Vec","target":"Vec"},{"type":"punctuation","value":"<"},{"type":"link","value":"HashChainedAuditEvent","target":"HashChainedAuditEvent"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"link","value":"AuditError","target":"AuditError"},{"type":"punctuation","value":">"}] ::: ::: :::::: ::::::{rust:function} paranoid_audit::verify_hash_chain :index: 0 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"verify_hash_chain"},{"type":"punctuation","value":"("},{"type":"name","value":"events"},{"type":"punctuation","value":": "},{"type":"punctuation","value":"&"},{"type":"punctuation","value":"["},{"type":"link","value":"HashChainedAuditEvent","target":"HashChainedAuditEvent"},{"type":"punctuation","value":"]"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Result","target":"Result"},{"type":"punctuation","value":"<"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"punctuation","value":", "},{"type":"link","value":"AuditError","target":"AuditError"},{"type":"punctuation","value":">"}] ::: ::: :::::: ::::::{rust:function} paranoid_audit::write_events_jsonl :index: 0 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"write_events_jsonl"},{"type":"punctuation","value":"("},{"type":"name","value":"path"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"AsRef","target":"AsRef"},{"type":"punctuation","value":"<"},{"type":"link","value":"Path","target":"Path"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"events"},{"type":"punctuation","value":": "},{"type":"punctuation","value":"&"},{"type":"punctuation","value":"["},{"type":"link","value":"AuditEvent","target":"AuditEvent"},{"type":"punctuation","value":"]"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Result","target":"Result"},{"type":"punctuation","value":"<"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"punctuation","value":", "},{"type":"link","value":"AuditError","target":"AuditError"},{"type":"punctuation","value":">"}] ::: ::: :::::: :::{rubric} Traits ::: ::::::{rust:trait} paranoid_audit::AuditSink :index: 1 :vis: pub :layout: [{"type":"keyword","value":"trait"},{"type":"space"},{"type":"name","value":"AuditSink"}] ::: ::: :::{rubric} Functions ::: :::::{rust:function} paranoid_audit::AuditSink::flush :index: 2 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"flush"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"mut"},{"type":"space"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Result","target":"Result"},{"type":"punctuation","value":"<"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"punctuation","value":", "},{"type":"link","value":"AuditError","target":"AuditError"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::::{rust:function} paranoid_audit::AuditSink::record_event :index: 2 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"record_event"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"mut"},{"type":"space"},{"type":"keyword","value":"self"},{"type":"punctuation","value":", "},{"type":"name","value":"event"},{"type":"punctuation","value":": "},{"type":"punctuation","value":"&"},{"type":"link","value":"AuditEvent","target":"AuditEvent"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Result","target":"Result"},{"type":"punctuation","value":"<"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"punctuation","value":", "},{"type":"link","value":"AuditError","target":"AuditError"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::::{rust:function} paranoid_audit::AuditSink::record_events :index: 2 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"record_events"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"mut"},{"type":"space"},{"type":"keyword","value":"self"},{"type":"punctuation","value":", "},{"type":"name","value":"events"},{"type":"punctuation","value":": "},{"type":"punctuation","value":"&"},{"type":"punctuation","value":"["},{"type":"link","value":"AuditEvent","target":"AuditEvent"},{"type":"punctuation","value":"]"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Result","target":"Result"},{"type":"punctuation","value":"<"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"punctuation","value":", "},{"type":"link","value":"AuditError","target":"AuditError"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::::: ::::::{rust:trait} paranoid_audit::ExternalAuditDeviceProbe :index: 1 :vis: pub :layout: [{"type":"keyword","value":"trait"},{"type":"space"},{"type":"name","value":"ExternalAuditDeviceProbe"}] ::: ::: :::{rubric} Functions ::: :::::{rust:function} paranoid_audit::ExternalAuditDeviceProbe::probe :index: 2 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"probe"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"mut"},{"type":"space"},{"type":"keyword","value":"self"},{"type":"punctuation","value":", "},{"type":"name","value":"config"},{"type":"punctuation","value":": "},{"type":"punctuation","value":"&"},{"type":"link","value":"ExternalAuditDeviceConfig","target":"ExternalAuditDeviceConfig"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"ExternalAuditDeviceProbeResult","target":"ExternalAuditDeviceProbeResult"}] ::: ::: ::::: :::::: :::{rubric} Enums ::: ::::::{rust:enum} paranoid_audit::AuditError :index: 1 :vis: pub :layout: [{"type":"keyword","value":"enum"},{"type":"space"},{"type":"name","value":"AuditError"}] ::: ::: :::::{rust:struct} paranoid_audit::AuditError::Json :index: 2 :vis: pub :toc: Json :layout: [{"type":"name","value":"Json"},{"type":"punctuation","value":"("},{"type":"link","value":"serde_json","target":"serde_json"},{"type":"punctuation","value":"::"},{"type":"name","value":"Error"},{"type":"punctuation","value":")"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditError::Io :index: 2 :vis: pub :toc: Io :layout: [{"type":"name","value":"Io"},{"type":"punctuation","value":"("},{"type":"link","value":"std","target":"std"},{"type":"punctuation","value":"::"},{"type":"name","value":"io"},{"type":"punctuation","value":"::"},{"type":"name","value":"Error"},{"type":"punctuation","value":")"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditError::Hash :index: 2 :vis: pub :toc: Hash :layout: [{"type":"name","value":"Hash"},{"type":"punctuation","value":"("},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":")"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditError::HashChainMismatch :index: 2 :vis: pub :toc: HashChainMismatch :layout: [{"type":"name","value":"HashChainMismatch"}] ::: ::: ::::{rust:variable} paranoid_audit::AuditError::HashChainMismatch::event_id :index: -1 :vis: pub :toc: event_id :layout: [{"type":"name","value":"event_id"},{"type":"punctuation","value":": "},{"type":"link","value":"String","target":"String"}] ::: ::: :::: ::::: :::::: ::::::{rust:enum} paranoid_audit::AuditOutcome :index: 1 :vis: pub :layout: [{"type":"keyword","value":"enum"},{"type":"space"},{"type":"name","value":"AuditOutcome"}] ::: ::: :::::{rust:struct} paranoid_audit::AuditOutcome::Started :index: 2 :vis: pub :toc: Started :layout: [{"type":"name","value":"Started"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditOutcome::Success :index: 2 :vis: pub :toc: Success :layout: [{"type":"name","value":"Success"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditOutcome::Review :index: 2 :vis: pub :toc: Review :layout: [{"type":"name","value":"Review"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditOutcome::Failure :index: 2 :vis: pub :toc: Failure :layout: [{"type":"name","value":"Failure"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditOutcome::Blocked :index: 2 :vis: pub :toc: Blocked :layout: [{"type":"name","value":"Blocked"}] ::: ::: ::::: :::::: ::::::{rust:enum} paranoid_audit::AuditSeverity :index: 1 :vis: pub :layout: [{"type":"keyword","value":"enum"},{"type":"space"},{"type":"name","value":"AuditSeverity"}] ::: ::: :::::{rust:struct} paranoid_audit::AuditSeverity::Info :index: 2 :vis: pub :toc: Info :layout: [{"type":"name","value":"Info"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSeverity::Notice :index: 2 :vis: pub :toc: Notice :layout: [{"type":"name","value":"Notice"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSeverity::Warning :index: 2 :vis: pub :toc: Warning :layout: [{"type":"name","value":"Warning"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSeverity::Error :index: 2 :vis: pub :toc: Error :layout: [{"type":"name","value":"Error"}] ::: ::: ::::: :::::: ::::::{rust:enum} paranoid_audit::AuditSinkKind :index: 1 :vis: pub :layout: [{"type":"keyword","value":"enum"},{"type":"space"},{"type":"name","value":"AuditSinkKind"}] ::: ::: :::::{rust:struct} paranoid_audit::AuditSinkKind::JsonlFile :index: 2 :vis: pub :toc: JsonlFile :layout: [{"type":"name","value":"JsonlFile"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSinkKind::ExternalDevice :index: 2 :vis: pub :toc: ExternalDevice :layout: [{"type":"name","value":"ExternalDevice"}] ::: ::: ::::: :::::: ::::::{rust:enum} paranoid_audit::AuditSinkStatus :index: 1 :vis: pub :layout: [{"type":"keyword","value":"enum"},{"type":"space"},{"type":"name","value":"AuditSinkStatus"}] ::: ::: :::::{rust:struct} paranoid_audit::AuditSinkStatus::NotConfigured :index: 2 :vis: pub :toc: NotConfigured :layout: [{"type":"name","value":"NotConfigured"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSinkStatus::Ready :index: 2 :vis: pub :toc: Ready :layout: [{"type":"name","value":"Ready"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSinkStatus::Unavailable :index: 2 :vis: pub :toc: Unavailable :layout: [{"type":"name","value":"Unavailable"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSinkStatus::Unverified :index: 2 :vis: pub :toc: Unverified :layout: [{"type":"name","value":"Unverified"}] ::: ::: ::::: :::::: ::::::{rust:enum} paranoid_audit::AuditSubject :index: 1 :vis: pub :layout: [{"type":"keyword","value":"enum"},{"type":"space"},{"type":"name","value":"AuditSubject"}] ::: ::: :::::{rust:struct} paranoid_audit::AuditSubject::PasswordGeneration :index: 2 :vis: pub :toc: PasswordGeneration :layout: [{"type":"name","value":"PasswordGeneration"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSubject::StatisticalAudit :index: 2 :vis: pub :toc: StatisticalAudit :layout: [{"type":"name","value":"StatisticalAudit"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSubject::ComplianceCheck :index: 2 :vis: pub :toc: ComplianceCheck :layout: [{"type":"name","value":"ComplianceCheck"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSubject::VaultOperation :index: 2 :vis: pub :toc: VaultOperation :layout: [{"type":"name","value":"VaultOperation"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSubject::ReleaseAssurance :index: 2 :vis: pub :toc: ReleaseAssurance :layout: [{"type":"name","value":"ReleaseAssurance"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSubject::Automation :index: 2 :vis: pub :toc: Automation :layout: [{"type":"name","value":"Automation"}] ::: ::: ::::: :::::: ::::::{rust:enum} paranoid_audit::AuditSurface :index: 1 :vis: pub :layout: [{"type":"keyword","value":"enum"},{"type":"space"},{"type":"name","value":"AuditSurface"}] ::: ::: :::::{rust:struct} paranoid_audit::AuditSurface::Core :index: 2 :vis: pub :toc: Core :layout: [{"type":"name","value":"Core"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSurface::Vault :index: 2 :vis: pub :toc: Vault :layout: [{"type":"name","value":"Vault"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSurface::Cli :index: 2 :vis: pub :toc: Cli :layout: [{"type":"name","value":"Cli"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSurface::Tui :index: 2 :vis: pub :toc: Tui :layout: [{"type":"name","value":"Tui"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSurface::Gui :index: 2 :vis: pub :toc: Gui :layout: [{"type":"name","value":"Gui"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSurface::Ops :index: 2 :vis: pub :toc: Ops :layout: [{"type":"name","value":"Ops"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::AuditSurface::SupplyChain :index: 2 :vis: pub :toc: SupplyChain :layout: [{"type":"name","value":"SupplyChain"}] ::: ::: ::::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::AuditSurface :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"AuditSurface","target":"AuditSurface"}] :toc: impl AuditSurface ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::AuditSurface::as_str :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"as_str"},{"type":"punctuation","value":"("},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"punctuation","value":"&"},{"type":"lifetime","value":"'static"},{"type":"space"},{"type":"link","value":"str","target":"str"}] ::: ::: :::: ::::: :::::: ::::::{rust:enum} paranoid_audit::ExternalAuditDeviceProbeStatus :index: 1 :vis: pub :layout: [{"type":"keyword","value":"enum"},{"type":"space"},{"type":"name","value":"ExternalAuditDeviceProbeStatus"}] ::: ::: :::::{rust:struct} paranoid_audit::ExternalAuditDeviceProbeStatus::Ready :index: 2 :vis: pub :toc: Ready :layout: [{"type":"name","value":"Ready"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::ExternalAuditDeviceProbeStatus::Unverified :index: 2 :vis: pub :toc: Unverified :layout: [{"type":"name","value":"Unverified"}] ::: ::: ::::: :::::{rust:struct} paranoid_audit::ExternalAuditDeviceProbeStatus::Unavailable :index: 2 :vis: pub :toc: Unavailable :layout: [{"type":"name","value":"Unavailable"}] ::: ::: ::::: :::::: :::{rubric} Structs and Unions ::: ::::::{rust:struct} paranoid_audit::AuditEvent :index: 1 :vis: pub :toc: struct AuditEvent :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"AuditEvent"}] ::: ::: :::::{rust:variable} paranoid_audit::AuditEvent::schema_version :index: 2 :vis: pub :toc: schema_version :layout: [{"type":"name","value":"schema_version"},{"type":"punctuation","value":": "},{"type":"link","value":"u16","target":"u16"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::operation_id :index: 2 :vis: pub :toc: operation_id :layout: [{"type":"name","value":"operation_id"},{"type":"punctuation","value":": "},{"type":"link","value":"String","target":"String"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::event_id :index: 2 :vis: pub :toc: event_id :layout: [{"type":"name","value":"event_id"},{"type":"punctuation","value":": "},{"type":"link","value":"String","target":"String"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::sequence :index: 2 :vis: pub :toc: sequence :layout: [{"type":"name","value":"sequence"},{"type":"punctuation","value":": "},{"type":"link","value":"u64","target":"u64"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::occurred_at_epoch_ms :index: 2 :vis: pub :toc: occurred_at_epoch_ms :layout: [{"type":"name","value":"occurred_at_epoch_ms"},{"type":"punctuation","value":": "},{"type":"link","value":"u128","target":"u128"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::timestamp_error :index: 2 :vis: pub :toc: timestamp_error :layout: [{"type":"name","value":"timestamp_error"},{"type":"punctuation","value":": "},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::surface :index: 2 :vis: pub :toc: surface :layout: [{"type":"name","value":"surface"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditSurface","target":"AuditSurface"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::subject :index: 2 :vis: pub :toc: subject :layout: [{"type":"name","value":"subject"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditSubject","target":"AuditSubject"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::action :index: 2 :vis: pub :toc: action :layout: [{"type":"name","value":"action"},{"type":"punctuation","value":": "},{"type":"link","value":"String","target":"String"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::outcome :index: 2 :vis: pub :toc: outcome :layout: [{"type":"name","value":"outcome"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditOutcome","target":"AuditOutcome"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::severity :index: 2 :vis: pub :toc: severity :layout: [{"type":"name","value":"severity"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditSeverity","target":"AuditSeverity"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::message :index: 2 :vis: pub :toc: message :layout: [{"type":"name","value":"message"},{"type":"punctuation","value":": "},{"type":"link","value":"String","target":"String"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditEvent::attributes :index: 2 :vis: pub :toc: attributes :layout: [{"type":"name","value":"attributes"},{"type":"punctuation","value":": "},{"type":"link","value":"BTreeMap","target":"BTreeMap"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":", "},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::AuditEvent :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"AuditEvent","target":"AuditEvent"}] :toc: impl AuditEvent ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::AuditEvent::redact_attributes :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"redact_attributes"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"mut"},{"type":"space"},{"type":"keyword","value":"self"},{"type":"punctuation","value":", "},{"type":"name","value":"redactor"},{"type":"punctuation","value":": "},{"type":"punctuation","value":"&"},{"type":"link","value":"AuditRedactor","target":"AuditRedactor"},{"type":"punctuation","value":")"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditEvent::with_attribute :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"with_attribute"},{"type":"punctuation","value":"("},{"type":"keyword","value":"mut"},{"type":"space"},{"type":"keyword","value":"self"},{"type":"punctuation","value":", "},{"type":"name","value":"key"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"value"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::: :::::: ::::::{rust:struct} paranoid_audit::AuditRedactor :index: 1 :vis: pub :toc: struct AuditRedactor :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"AuditRedactor"}] ::: ::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::AuditRedactor :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"AuditRedactor","target":"AuditRedactor"}] :toc: impl AuditRedactor ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::AuditRedactor::redact_attributes :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"redact_attributes"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":", "},{"type":"name","value":"attributes"},{"type":"punctuation","value":": "},{"type":"punctuation","value":"&"},{"type":"link","value":"BTreeMap","target":"BTreeMap"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":", "},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"BTreeMap","target":"BTreeMap"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":", "},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditRedactor::strict :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"strict"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::: :::{rubric} Traits implemented ::: :::::{rust:impl} paranoid_audit::AuditRedactor::Default :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Default","target":"Default"},{"type":"space"},{"type":"keyword","value":"for"},{"type":"space"},{"type":"link","value":"AuditRedactor","target":"AuditRedactor"}] :toc: impl Default for AuditRedactor ::: ::: ::::: :::::: ::::::{rust:struct} paranoid_audit::AuditSinkHealth :index: 1 :vis: pub :toc: struct AuditSinkHealth :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"AuditSinkHealth"}] ::: ::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::schema_version :index: 2 :vis: pub :toc: schema_version :layout: [{"type":"name","value":"schema_version"},{"type":"punctuation","value":": "},{"type":"link","value":"u16","target":"u16"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::kind :index: 2 :vis: pub :toc: kind :layout: [{"type":"name","value":"kind"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditSinkKind","target":"AuditSinkKind"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::status :index: 2 :vis: pub :toc: status :layout: [{"type":"name","value":"status"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditSinkStatus","target":"AuditSinkStatus"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::configured :index: 2 :vis: pub :toc: configured :layout: [{"type":"name","value":"configured"},{"type":"punctuation","value":": "},{"type":"link","value":"bool","target":"bool"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::writable :index: 2 :vis: pub :toc: writable :layout: [{"type":"name","value":"writable"},{"type":"punctuation","value":": "},{"type":"link","value":"bool","target":"bool"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::append_mode :index: 2 :vis: pub :toc: append_mode :layout: [{"type":"name","value":"append_mode"},{"type":"punctuation","value":": "},{"type":"link","value":"bool","target":"bool"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::redaction_mode :index: 2 :vis: pub :toc: redaction_mode :layout: [{"type":"name","value":"redaction_mode"},{"type":"punctuation","value":": "},{"type":"link","value":"String","target":"String"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::path :index: 2 :vis: pub :toc: path :layout: [{"type":"name","value":"path"},{"type":"punctuation","value":": "},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::endpoint :index: 2 :vis: pub :toc: endpoint :layout: [{"type":"name","value":"endpoint"},{"type":"punctuation","value":": "},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::provider_id :index: 2 :vis: pub :toc: provider_id :layout: [{"type":"name","value":"provider_id"},{"type":"punctuation","value":": "},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::evidence_source :index: 2 :vis: pub :toc: evidence_source :layout: [{"type":"name","value":"evidence_source"},{"type":"punctuation","value":": "},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::AuditSinkHealth::failure :index: 2 :vis: pub :toc: failure :layout: [{"type":"name","value":"failure"},{"type":"punctuation","value":": "},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::AuditSinkHealth :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"AuditSinkHealth","target":"AuditSinkHealth"}] :toc: impl AuditSinkHealth ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::AuditSinkHealth::is_available :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"is_available"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"bool","target":"bool"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditSinkHealth::not_configured_external_device :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"not_configured_external_device"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditSinkHealth::not_configured_jsonl :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"not_configured_jsonl"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditSinkHealth::ready_external_device :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"ready_external_device"},{"type":"punctuation","value":"("},{"type":"name","value":"provider_id"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"endpoint"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"evidence_source"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditSinkHealth::ready_jsonl :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"ready_jsonl"},{"type":"punctuation","value":"("},{"type":"name","value":"path"},{"type":"punctuation","value":": "},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditSinkHealth::unavailable_external_device :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"unavailable_external_device"},{"type":"punctuation","value":"("},{"type":"name","value":"provider_id"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"endpoint"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"failure"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditSinkHealth::unavailable_external_device_with_evidence_source :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"unavailable_external_device_with_evidence_source"},{"type":"punctuation","value":"("},{"type":"name","value":"provider_id"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"endpoint"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"evidence_source"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"failure"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditSinkHealth::unavailable_jsonl :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"unavailable_jsonl"},{"type":"punctuation","value":"("},{"type":"name","value":"path"},{"type":"punctuation","value":": "},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"failure"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditSinkHealth::unverified_external_device :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"unverified_external_device"},{"type":"punctuation","value":"("},{"type":"name","value":"provider_id"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"endpoint"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"failure"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditSinkHealth::unverified_external_device_with_evidence_source :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"unverified_external_device_with_evidence_source"},{"type":"punctuation","value":"("},{"type":"name","value":"provider_id"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"endpoint"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"evidence_source"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"failure"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::: :::::: ::::::{rust:struct} paranoid_audit::AuditTrail :index: 1 :vis: pub :toc: struct AuditTrail :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"AuditTrail"}] ::: ::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::AuditTrail :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"AuditTrail","target":"AuditTrail"}] :toc: impl AuditTrail ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::AuditTrail::events :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"events"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"punctuation","value":"&"},{"type":"punctuation","value":"["},{"type":"link","value":"AuditEvent","target":"AuditEvent"},{"type":"punctuation","value":"]"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditTrail::for_operation :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"for_operation"},{"type":"punctuation","value":"("},{"type":"name","value":"operation_id"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditTrail::into_events :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"into_events"},{"type":"punctuation","value":"("},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Vec","target":"Vec"},{"type":"punctuation","value":"<"},{"type":"link","value":"AuditEvent","target":"AuditEvent"},{"type":"punctuation","value":">"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditTrail::is_empty :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"is_empty"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"bool","target":"bool"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditTrail::new :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"new"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditTrail::operation_id :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"operation_id"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"punctuation","value":"&"},{"type":"link","value":"str","target":"str"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditTrail::record :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"record"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"mut"},{"type":"space"},{"type":"keyword","value":"self"},{"type":"punctuation","value":", "},{"type":"name","value":"surface"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditSurface","target":"AuditSurface"},{"type":"punctuation","value":", "},{"type":"name","value":"subject"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditSubject","target":"AuditSubject"},{"type":"punctuation","value":", "},{"type":"name","value":"action"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"outcome"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditOutcome","target":"AuditOutcome"},{"type":"punctuation","value":", "},{"type":"name","value":"severity"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditSeverity","target":"AuditSeverity"},{"type":"punctuation","value":", "},{"type":"name","value":"message"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"punctuation","value":"&"},{"type":"keyword","value":"mut"},{"type":"space"},{"type":"link","value":"AuditEvent","target":"AuditEvent"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditTrail::to_hash_chain :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"to_hash_chain"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Result","target":"Result"},{"type":"punctuation","value":"<"},{"type":"link","value":"Vec","target":"Vec"},{"type":"punctuation","value":"<"},{"type":"link","value":"HashChainedAuditEvent","target":"HashChainedAuditEvent"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"link","value":"AuditError","target":"AuditError"},{"type":"punctuation","value":">"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditTrail::to_json_lines :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"to_json_lines"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Result","target":"Result"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":", "},{"type":"link","value":"AuditError","target":"AuditError"},{"type":"punctuation","value":">"}] ::: ::: :::: ::::{rust:function} paranoid_audit::AuditTrail::write_jsonl :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"write_jsonl"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":", "},{"type":"name","value":"path"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"AsRef","target":"AsRef"},{"type":"punctuation","value":"<"},{"type":"link","value":"Path","target":"Path"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Result","target":"Result"},{"type":"punctuation","value":"<"},{"type":"punctuation","value":"("},{"type":"punctuation","value":")"},{"type":"punctuation","value":", "},{"type":"link","value":"AuditError","target":"AuditError"},{"type":"punctuation","value":">"}] ::: ::: :::: ::::: :::{rubric} Traits implemented ::: :::::{rust:impl} paranoid_audit::AuditTrail::Default :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Default","target":"Default"},{"type":"space"},{"type":"keyword","value":"for"},{"type":"space"},{"type":"link","value":"AuditTrail","target":"AuditTrail"}] :toc: impl Default for AuditTrail ::: ::: ::::: :::::: ::::::{rust:struct} paranoid_audit::DisabledExternalAuditDeviceProbe :index: 1 :vis: pub :toc: struct DisabledExternalAuditDeviceProbe :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"DisabledExternalAuditDeviceProbe"}] ::: ::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::DisabledExternalAuditDeviceProbe :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"DisabledExternalAuditDeviceProbe","target":"DisabledExternalAuditDeviceProbe"}] :toc: impl DisabledExternalAuditDeviceProbe ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::DisabledExternalAuditDeviceProbe::unsupported_mode :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"unsupported_mode"},{"type":"punctuation","value":"("},{"type":"name","value":"mode"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::: :::{rubric} Traits implemented ::: :::::{rust:impl} paranoid_audit::DisabledExternalAuditDeviceProbe::Default :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Default","target":"Default"},{"type":"space"},{"type":"keyword","value":"for"},{"type":"space"},{"type":"link","value":"DisabledExternalAuditDeviceProbe","target":"DisabledExternalAuditDeviceProbe"}] :toc: impl Default for DisabledExternalAuditDeviceProbe ::: ::: ::::: :::::{rust:impl} paranoid_audit::DisabledExternalAuditDeviceProbe::ExternalAuditDeviceProbe :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"ExternalAuditDeviceProbe","target":"ExternalAuditDeviceProbe"},{"type":"space"},{"type":"keyword","value":"for"},{"type":"space"},{"type":"link","value":"DisabledExternalAuditDeviceProbe","target":"DisabledExternalAuditDeviceProbe"}] :toc: impl ExternalAuditDeviceProbe for DisabledExternalAuditDeviceProbe ::: ::: ::::: :::::: ::::::{rust:struct} paranoid_audit::ExternalAuditDeviceConfig :index: 1 :vis: pub :toc: struct ExternalAuditDeviceConfig :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"ExternalAuditDeviceConfig"}] ::: ::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::ExternalAuditDeviceConfig :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"ExternalAuditDeviceConfig","target":"ExternalAuditDeviceConfig"}] :toc: impl ExternalAuditDeviceConfig ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::ExternalAuditDeviceConfig::endpoint :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"endpoint"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"punctuation","value":"&"},{"type":"link","value":"str","target":"str"}] ::: ::: :::: ::::{rust:function} paranoid_audit::ExternalAuditDeviceConfig::mtls_ca_certificate_evidence :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"mtls_ca_certificate_evidence"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"punctuation","value":"&"},{"type":"link","value":"str","target":"str"}] ::: ::: :::: ::::{rust:function} paranoid_audit::ExternalAuditDeviceConfig::mtls_certificate_evidence :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"mtls_certificate_evidence"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"punctuation","value":"&"},{"type":"link","value":"str","target":"str"}] ::: ::: :::: ::::{rust:function} paranoid_audit::ExternalAuditDeviceConfig::mtls_private_key_evidence :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"mtls_private_key_evidence"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"punctuation","value":"&"},{"type":"link","value":"str","target":"str"}] ::: ::: :::: ::::{rust:function} paranoid_audit::ExternalAuditDeviceConfig::new :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"new"},{"type":"punctuation","value":"("},{"type":"name","value":"provider_id"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"endpoint"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"mtls_certificate_evidence"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"mtls_private_key_evidence"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"mtls_ca_certificate_evidence"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::ExternalAuditDeviceConfig::provider_id :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"provider_id"},{"type":"punctuation","value":"("},{"type":"punctuation","value":"&"},{"type":"keyword","value":"self"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"punctuation","value":"&"},{"type":"link","value":"str","target":"str"}] ::: ::: :::: ::::: :::::: ::::::{rust:struct} paranoid_audit::ExternalAuditDeviceProbeResult :index: 1 :vis: pub :toc: struct ExternalAuditDeviceProbeResult :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"ExternalAuditDeviceProbeResult"}] ::: ::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::ExternalAuditDeviceProbeResult :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"ExternalAuditDeviceProbeResult","target":"ExternalAuditDeviceProbeResult"}] :toc: impl ExternalAuditDeviceProbeResult ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::ExternalAuditDeviceProbeResult::ready :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"ready"},{"type":"punctuation","value":"("},{"type":"name","value":"evidence_source"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::ExternalAuditDeviceProbeResult::unavailable :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"unavailable"},{"type":"punctuation","value":"("},{"type":"name","value":"evidence_source"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"failure"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::{rust:function} paranoid_audit::ExternalAuditDeviceProbeResult::unverified :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"unverified"},{"type":"punctuation","value":"("},{"type":"name","value":"evidence_source"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":", "},{"type":"name","value":"failure"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Into","target":"Into"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::: :::::: ::::::{rust:struct} paranoid_audit::HashChainedAuditEvent :index: 1 :vis: pub :toc: struct HashChainedAuditEvent :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"HashChainedAuditEvent"}] ::: ::: :::::{rust:variable} paranoid_audit::HashChainedAuditEvent::chain_version :index: 2 :vis: pub :toc: chain_version :layout: [{"type":"name","value":"chain_version"},{"type":"punctuation","value":": "},{"type":"link","value":"u16","target":"u16"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::HashChainedAuditEvent::previous_hash_hex :index: 2 :vis: pub :toc: previous_hash_hex :layout: [{"type":"name","value":"previous_hash_hex"},{"type":"punctuation","value":": "},{"type":"link","value":"Option","target":"Option"},{"type":"punctuation","value":"<"},{"type":"link","value":"String","target":"String"},{"type":"punctuation","value":">"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::HashChainedAuditEvent::event_hash_hex :index: 2 :vis: pub :toc: event_hash_hex :layout: [{"type":"name","value":"event_hash_hex"},{"type":"punctuation","value":": "},{"type":"link","value":"String","target":"String"}] ::: ::: ::::: :::::{rust:variable} paranoid_audit::HashChainedAuditEvent::event :index: 2 :vis: pub :toc: event :layout: [{"type":"name","value":"event"},{"type":"punctuation","value":": "},{"type":"link","value":"AuditEvent","target":"AuditEvent"}] ::: ::: ::::: :::::: ::::::{rust:struct} paranoid_audit::JsonlFileAuditSink :index: 1 :vis: pub :toc: struct JsonlFileAuditSink :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"JsonlFileAuditSink"}] ::: ::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::JsonlFileAuditSink :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"JsonlFileAuditSink","target":"JsonlFileAuditSink"}] :toc: impl JsonlFileAuditSink ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::JsonlFileAuditSink::open :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"open"},{"type":"punctuation","value":"("},{"type":"name","value":"path"},{"type":"punctuation","value":": "},{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"AsRef","target":"AsRef"},{"type":"punctuation","value":"<"},{"type":"link","value":"Path","target":"Path"},{"type":"punctuation","value":">"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Result","target":"Result"},{"type":"punctuation","value":"<"},{"type":"link","value":"Self","target":"Self"},{"type":"punctuation","value":", "},{"type":"link","value":"AuditError","target":"AuditError"},{"type":"punctuation","value":">"}] ::: ::: :::: ::::: :::{rubric} Traits implemented ::: :::::{rust:impl} paranoid_audit::JsonlFileAuditSink::AuditSink :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"AuditSink","target":"AuditSink"},{"type":"space"},{"type":"keyword","value":"for"},{"type":"space"},{"type":"link","value":"JsonlFileAuditSink","target":"JsonlFileAuditSink"}] :toc: impl AuditSink for JsonlFileAuditSink ::: ::: ::::: :::::: ::::::{rust:struct} paranoid_audit::MtlsJsonlAckExternalAuditDeviceProbe :index: 1 :vis: pub :toc: struct MtlsJsonlAckExternalAuditDeviceProbe :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"MtlsJsonlAckExternalAuditDeviceProbe"}] ::: ::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::MtlsJsonlAckExternalAuditDeviceProbe :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"MtlsJsonlAckExternalAuditDeviceProbe","target":"MtlsJsonlAckExternalAuditDeviceProbe"}] :toc: impl MtlsJsonlAckExternalAuditDeviceProbe ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::MtlsJsonlAckExternalAuditDeviceProbe::new :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"new"},{"type":"punctuation","value":"("},{"type":"name","value":"timeout"},{"type":"punctuation","value":": "},{"type":"link","value":"Duration","target":"Duration"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::: :::{rubric} Traits implemented ::: :::::{rust:impl} paranoid_audit::MtlsJsonlAckExternalAuditDeviceProbe::Default :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Default","target":"Default"},{"type":"space"},{"type":"keyword","value":"for"},{"type":"space"},{"type":"link","value":"MtlsJsonlAckExternalAuditDeviceProbe","target":"MtlsJsonlAckExternalAuditDeviceProbe"}] :toc: impl Default for MtlsJsonlAckExternalAuditDeviceProbe ::: ::: ::::: :::::{rust:impl} paranoid_audit::MtlsJsonlAckExternalAuditDeviceProbe::ExternalAuditDeviceProbe :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"ExternalAuditDeviceProbe","target":"ExternalAuditDeviceProbe"},{"type":"space"},{"type":"keyword","value":"for"},{"type":"space"},{"type":"link","value":"MtlsJsonlAckExternalAuditDeviceProbe","target":"MtlsJsonlAckExternalAuditDeviceProbe"}] :toc: impl ExternalAuditDeviceProbe for MtlsJsonlAckExternalAuditDeviceProbe ::: ::: ::::: :::::: ::::::{rust:struct} paranoid_audit::TcpConnectExternalAuditDeviceProbe :index: 1 :vis: pub :toc: struct TcpConnectExternalAuditDeviceProbe :layout: [{"type":"keyword","value":"struct"},{"type":"space"},{"type":"name","value":"TcpConnectExternalAuditDeviceProbe"}] ::: ::: :::{rubric} Implementations ::: :::::{rust:impl} paranoid_audit::TcpConnectExternalAuditDeviceProbe :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"TcpConnectExternalAuditDeviceProbe","target":"TcpConnectExternalAuditDeviceProbe"}] :toc: impl TcpConnectExternalAuditDeviceProbe ::: ::: :::{rubric} Functions ::: ::::{rust:function} paranoid_audit::TcpConnectExternalAuditDeviceProbe::new :index: -1 :vis: pub :layout: [{"type":"keyword","value":"fn"},{"type":"space"},{"type":"name","value":"new"},{"type":"punctuation","value":"("},{"type":"name","value":"timeout"},{"type":"punctuation","value":": "},{"type":"link","value":"Duration","target":"Duration"},{"type":"punctuation","value":")"},{"type":"space"},{"type":"returns"},{"type":"space"},{"type":"link","value":"Self","target":"Self"}] ::: ::: :::: ::::: :::{rubric} Traits implemented ::: :::::{rust:impl} paranoid_audit::TcpConnectExternalAuditDeviceProbe::Default :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"Default","target":"Default"},{"type":"space"},{"type":"keyword","value":"for"},{"type":"space"},{"type":"link","value":"TcpConnectExternalAuditDeviceProbe","target":"TcpConnectExternalAuditDeviceProbe"}] :toc: impl Default for TcpConnectExternalAuditDeviceProbe ::: ::: ::::: :::::{rust:impl} paranoid_audit::TcpConnectExternalAuditDeviceProbe::ExternalAuditDeviceProbe :index: -1 :vis: pub :layout: [{"type":"keyword","value":"impl"},{"type":"space"},{"type":"link","value":"ExternalAuditDeviceProbe","target":"ExternalAuditDeviceProbe"},{"type":"space"},{"type":"keyword","value":"for"},{"type":"space"},{"type":"link","value":"TcpConnectExternalAuditDeviceProbe","target":"TcpConnectExternalAuditDeviceProbe"}] :toc: impl ExternalAuditDeviceProbe for TcpConnectExternalAuditDeviceProbe ::: ::: ::::: ::::::