pub struct CuckooHashTableCreator<BlockSize, RngType, OC>where
BlockSize: ArrayLength<u8>,
RngType: RngCore + CryptoRng + Send + Sync + 'static,
OC: ORAMCreator<BlockSize, RngType>,
OC::Output: ORAM<BlockSize> + Send + Sync + 'static,{ /* private fields */ }Expand description
Factory implementing OMapCreator for this type, based on any ORAM Creator. Otherwise it is very difficult to invoke CuckooHashTable::new() generically
Trait Implementations§
Source§impl<KeySize, ValueSize, BlockSize, RngType, OC> OMapCreator<KeySize, ValueSize, RngType> for CuckooHashTableCreator<BlockSize, RngType, OC>where
KeySize: ArrayLength<u8> + Add<ValueSize> + PartialDiv<U8> + 'static,
ValueSize: ArrayLength<u8> + PartialDiv<U8> + 'static,
BlockSize: ArrayLength<u8> + PartialDiv<U8> + 'static,
RngType: RngCore + CryptoRng + Send + Sync + 'static,
OC: ORAMCreator<BlockSize, RngType>,
OC::Output: ORAM<BlockSize> + Send + Sync + 'static,
Sum<KeySize, ValueSize>: ArrayLength<u8> + Sub<KeySize, Output = ValueSize> + PartialDiv<U8>,
impl<KeySize, ValueSize, BlockSize, RngType, OC> OMapCreator<KeySize, ValueSize, RngType> for CuckooHashTableCreator<BlockSize, RngType, OC>where
KeySize: ArrayLength<u8> + Add<ValueSize> + PartialDiv<U8> + 'static,
ValueSize: ArrayLength<u8> + PartialDiv<U8> + 'static,
BlockSize: ArrayLength<u8> + PartialDiv<U8> + 'static,
RngType: RngCore + CryptoRng + Send + Sync + 'static,
OC: ORAMCreator<BlockSize, RngType>,
OC::Output: ORAM<BlockSize> + Send + Sync + 'static,
Sum<KeySize, ValueSize>: ArrayLength<u8> + Sub<KeySize, Output = ValueSize> + PartialDiv<U8>,
Source§type Output = CuckooHashTable<KeySize, ValueSize, BlockSize, RngType, <OC as ORAMCreator<BlockSize, RngType>>::Output>
type Output = CuckooHashTable<KeySize, ValueSize, BlockSize, RngType, <OC as ORAMCreator<BlockSize, RngType>>::Output>
The storage type produced
Auto Trait Implementations§
impl<BlockSize, RngType, OC> Freeze for CuckooHashTableCreator<BlockSize, RngType, OC>
impl<BlockSize, RngType, OC> RefUnwindSafe for CuckooHashTableCreator<BlockSize, RngType, OC>
impl<BlockSize, RngType, OC> Send for CuckooHashTableCreator<BlockSize, RngType, OC>
impl<BlockSize, RngType, OC> Sync for CuckooHashTableCreator<BlockSize, RngType, OC>
impl<BlockSize, RngType, OC> Unpin for CuckooHashTableCreator<BlockSize, RngType, OC>
impl<BlockSize, RngType, OC> UnsafeUnpin for CuckooHashTableCreator<BlockSize, RngType, OC>
impl<BlockSize, RngType, OC> UnwindSafe for CuckooHashTableCreator<BlockSize, RngType, OC>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more