use crate::Error;
pub trait EntropySource {
fn fill(&mut self, destination: &mut [u8]) -> Result<(), Error>;
}
#[derive(Clone, Copy, Debug, Default)]
pub struct SystemEntropy;
impl EntropySource for SystemEntropy {
fn fill(&mut self, destination: &mut [u8]) -> Result<(), Error> {
getrandom::fill(destination).map_err(|_| Error::EntropyUnavailable)
}
}