pub trait DiscoveryValidationCache: Default {
// Required methods
fn valid(&self, payload_hash: &[u8; 32]) -> Option<(&[u8], StampValue)>;
fn insufficient(&self, payload_hash: &[u8; 32]) -> Option<StampValue>;
fn remember_valid(
&mut self,
payload_hash: [u8; 32],
packed_advertisement: &[u8],
stamp_value: StampValue,
);
fn remember_insufficient(
&mut self,
payload_hash: [u8; 32],
stamp_value: StampValue,
);
}Expand description
The memoization residence behind discovery stamp validation. Implementations may use growable host storage, fixed inline storage, external memory, or zero capacity; cache misses change only validation work, never acceptance semantics.
Required Methods§
fn valid(&self, payload_hash: &[u8; 32]) -> Option<(&[u8], StampValue)>
fn insufficient(&self, payload_hash: &[u8; 32]) -> Option<StampValue>
fn remember_valid( &mut self, payload_hash: [u8; 32], packed_advertisement: &[u8], stamp_value: StampValue, )
fn remember_insufficient( &mut self, payload_hash: [u8; 32], stamp_value: StampValue, )
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".