Trait mc_oblivious_traits::ORAMDebug[][src]

pub trait ORAMDebug<ValueSize: ArrayLength<u8>> {
    fn check_invariants(&self) -> Vec<A64Bytes<ValueSize>>;
}

Trait that helps to debug ORAM. This should only be used in tests.

This should never be called in production. IMO the best practice is that implementations of this trait should be gated by #[cfg(test)], or perhaps #[cfg(debug_assertions)].

Required methods

fn check_invariants(&self) -> Vec<A64Bytes<ValueSize>>[src]

Systematically check the data structure invariants, asserting that they hold. Also, produce an array representation of the logical state of the ORAM.

This should not change the ORAM.

This is returned so that recursive path ORAM can implement check_invariants by first asking recursive children to check their invariants.

Loading content...

Implementors

Loading content...