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.
In the staged 1.2.0 line, AVX-512 VBMI, AVX2, SSSE3/SSE4.1, and NEON
admission covers encode dispatch only. Decode remains scalar until a
separate decode admission package is complete.
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 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 moreimpl Copy for BackendReport
Source§impl Debug for BackendReport
impl Debug for BackendReport
Source§impl Display for BackendReport
impl Display for BackendReport
impl Eq for BackendReport
Source§impl PartialEq for BackendReport
impl PartialEq for BackendReport
Source§fn eq(&self, other: &BackendReport) -> bool
fn eq(&self, other: &BackendReport) -> bool
self and other values to be equal, and is used by ==.