pd_cipher::lookup::storage_provider
Storage provider trait system for flexible backend implementations. Storage provider trait system for lookup tables.
This module defines traits that abstract LUT storage backends, supporting everything from simple in-memory HashMaps to distributed SSE databases.
Traits
LutBuilder
Trait for building lookup tables during encryption.
This trait prioritizes batch operations for efficiency. Single operations are provided as conveniences that delegate to batch methods.
pub trait LutBuilder
KeyManager
Trait for key management operations.
pub trait KeyManager
StorageProvider
Main trait for storage providers.
This trait acts as a factory for creating builders (during encryption) and readers (during decryption) for lookup tables.
pub trait StorageProvider
LutReader
Trait for reading from lookup tables during decryption.
This trait prioritizes batch operations for efficiency. Single operations are provided as conveniences that delegate to batch methods.
pub trait LutReader
LendingReader
Optional trait for zero-copy reads using generic associated types (GATs).
This trait enables backends to return borrowed data (e.g., from memory maps or lock guards) without allocation. Use this trait via static dispatch for performance-critical paths. It is not object-safe due to GATs.
pub trait LendingReader
SecureLutReader
Trait for readers that support integrity verification.
pub trait SecureLutReader
PrefixSearchable
Optional trait for readers that support prefix searches.
pub trait PrefixSearchable
SseSearchable
Optional trait for readers that support searchable symmetric encryption.
pub trait SseSearchable
Type Aliases
ResultStream
Stream type for returning results from prefix searches.
pub type ResultStream<...> = ...