Expand description
ReseedingRng that periodically reseeds the underlying pseudorandom number
generator.
use rand::{RngExt as _, rngs::StdRng, rngs::SysRng};
use reseeding_rng::ReseedingRng;
let mut rng = ReseedingRng::<StdRng, _>::try_new(1024 * 64, SysRng)
.expect("couldn't initialize ReseedingRng due to SysRng failure");
println!("{:?}", rng.random::<[char; 4]>());This crate provides a simplified reimplementation of ReseedingRng for use with
the random number generators from the rand crate v0.10, which no longer
includes the ReseedingRng from v0.9 and earlier.
This crate is no_std-compatible unless the std_rng feature is enabled.
§Cargo features
std_rng(optional) enablesStdReseedingRng, a newtype wrappingReseedingRng<StdRng, SysRng>with a default reseeding threshold of 64KiB.
Re-exports§
pub use rand::RngExt;std_rng
Structs§
- Reseeding
Rng - A wrapper that periodically reseeds the underlying pseudorandom number generator.
- StdReseeding
Rng std_rng - A newtype wrapping
ReseedingRng<StdRng, SysRng>with a default reseeding threshold of 64KiB.