Add an RNG trait.
This commit is contained in:
parent
936efd164d
commit
dc919c236d
@ -14,3 +14,4 @@ pub mod gpio;
|
||||
pub mod i2c;
|
||||
pub mod spi;
|
||||
pub mod uart;
|
||||
pub mod rng;
|
||||
|
17
embassy-traits/src/rng.rs
Normal file
17
embassy-traits/src/rng.rs
Normal file
@ -0,0 +1,17 @@
|
||||
use core::future::Future;
|
||||
|
||||
/// Random-number Generator
|
||||
pub trait Rng {
|
||||
type Error;
|
||||
|
||||
type RngFuture<'a>: Future<Output = Result<(), Self::Error>> + 'a
|
||||
where
|
||||
Self: 'a;
|
||||
|
||||
/// Completely fill the provided buffer with random bytes.
|
||||
///
|
||||
/// May result in delays if entropy is exhausted prior to completely
|
||||
/// filling the buffer. Upon completion, the buffer will be completely
|
||||
/// filled or an error will have been reported.
|
||||
fn fill<'a>(&'a mut self, dest: &'a mut [u8]) -> Self::RngFuture<'a>;
|
||||
}
|
Loading…
Reference in New Issue
Block a user