pub struct BackendReport {
pub active: Backend,
pub candidate: Backend,
pub candidate_detection_mode: CandidateDetectionMode,
pub simd_feature_enabled: bool,
pub accelerated_backend_active: bool,
pub unsafe_boundary_enforced: bool,
pub security_posture: SecurityPosture,
pub wipe_posture: WipePosture,
pub ct_gate_posture: CtGatePosture,
}Expand description
Backend report for the current build and target.
Fields§
§active: BackendBackend currently used for admitted runtime dispatch.
This field reports the primary active backend used by the established
encode dispatch boundary. Decode has its own narrower admission path;
use Self::active_decode_backend to inspect decode dispatch.
candidate: BackendStrongest backend candidate visible to the current build.
candidate_detection_mode: CandidateDetectionModeWhether candidate visibility came from runtime CPU probing, compile-time target features, or a disabled SIMD feature.
simd_feature_enabled: boolWhether the simd feature is enabled in this build.
accelerated_backend_active: boolWhether an accelerated SIMD backend is active.
unsafe_boundary_enforced: boolWhether this build keeps the high-assurance scalar unsafe boundary.
This is a conservative compile-time posture signal. It is true
only when the reserved simd feature is disabled; simd builds
expose additional private prototype boundaries and must use the
release evidence scripts for boundary validation.
security_posture: SecurityPostureCurrent security posture.
wipe_posture: WipePostureCurrent wipe-barrier posture.
ct_gate_posture: CtGatePostureCurrent constant-time result-gate barrier posture.
Implementations§
Source§impl BackendReport
impl BackendReport
Sourcepub const fn satisfies(self, policy: BackendPolicy) -> bool
pub const fn satisfies(self, policy: BackendPolicy) -> bool
Returns whether this report satisfies policy.
let report = base64_ng::runtime::backend_report();
let scalar_only =
report.satisfies(base64_ng::runtime::BackendPolicy::ScalarExecutionOnly);
assert_eq!(scalar_only, !report.accelerated_backend_active);Sourcepub const fn candidate_required_cpu_features(self) -> &'static [&'static str]
pub const fn candidate_required_cpu_features(self) -> &'static [&'static str]
Returns the CPU features required by the detected candidate.
let report = base64_ng::runtime::backend_report();
assert_eq!(
report.candidate_required_cpu_features(),
report.candidate.required_cpu_features(),
);Sourcepub fn active_decode_backend(self) -> Backend
pub fn active_decode_backend(self) -> Backend
Returns the active backend for the normal strict decode boundary.
This is intentionally separate from Self::active. In the 1.3.0
decode line, strict decode may admit a narrower backend than encode;
unsupported decode surfaces still return scalar here through the public
API fallback rules.
Sourcepub const fn memory_lock_posture(self) -> MemoryLockPosture
pub const fn memory_lock_posture(self) -> MemoryLockPosture
Returns whether base64-ng itself locks secret buffers into physical
memory.
This crate intentionally has no OS-specific mlock/VirtualLock
integration. High-assurance deployments should pair secret buffers with
their own platform-approved memory-locking, swap, hibernation, and
crash-dump controls.
Sourcepub const fn snapshot(self) -> BackendSnapshot
pub const fn snapshot(self) -> BackendSnapshot
Returns a compact structured snapshot with stable string values.
let snapshot = base64_ng::runtime::backend_report().snapshot();
assert_eq!(
snapshot.accelerated_backend_active,
snapshot.active != "scalar",
);Trait Implementations§
Source§impl Clone for BackendReport
impl Clone for BackendReport
Source§fn clone(&self) -> BackendReport
fn clone(&self) -> BackendReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more