pub trait Host: Send {
// Required methods
fn get_random_bytes(
&mut self,
len: u64,
) -> impl Future<Output = Result<Vec<u8>>> + Send;
fn get_random_u64(&mut self) -> impl Future<Output = Result<u64>> + Send;
}
Required Methods§
Sourcefn get_random_bytes(
&mut self,
len: u64,
) -> impl Future<Output = Result<Vec<u8>>> + Send
fn get_random_bytes( &mut self, len: u64, ) -> impl Future<Output = Result<Vec<u8>>> + Send
Return len
cryptographically-secure random or pseudo-random bytes.
This function must produce data at least as cryptographically secure and fast as an adequately seeded cryptographically-secure pseudo-random number generator (CSPRNG). It must not block, from the perspective of the calling program, under any circumstances, including on the first request and on requests for numbers of bytes. The returned data must always be unpredictable.
This function must always return fresh data. Deterministic environments must omit this function, rather than implementing it with deterministic data.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<_T: Host + ?Sized + Send> Host for &mut _T
impl<_T: Host + ?Sized + Send> Host for &mut _T
Source§fn get_random_bytes(
&mut self,
len: u64,
) -> impl Future<Output = Result<Vec<u8>>> + Send
fn get_random_bytes( &mut self, len: u64, ) -> impl Future<Output = Result<Vec<u8>>> + Send
Return len
cryptographically-secure random or pseudo-random bytes.
This function must produce data at least as cryptographically secure and fast as an adequately seeded cryptographically-secure pseudo-random number generator (CSPRNG). It must not block, from the perspective of the calling program, under any circumstances, including on the first request and on requests for numbers of bytes. The returned data must always be unpredictable.
This function must always return fresh data. Deterministic environments must omit this function, rather than implementing it with deterministic data.