Skip to content

Commit 2278d44

Browse files
committed
Use EntropySource in NewSeeded
1 parent a996cf7 commit 2278d44

File tree

1 file changed

+2
-21
lines changed

1 file changed

+2
-21
lines changed

src/lib.rs

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -834,27 +834,8 @@ pub trait NewRng: SeedableRng {
834834
#[cfg(feature="std")]
835835
impl<R: SeedableRng> NewRng for R {
836836
fn new() -> Result<Self, Error> {
837-
// Note: error handling would be easier with try/catch blocks
838-
fn new_os<T: SeedableRng>() -> Result<T, Error> {
839-
let mut r = OsRng::new()?;
840-
T::from_rng(&mut r)
841-
}
842-
843-
fn new_jitter<T: SeedableRng>() -> Result<T, Error> {
844-
let mut r = JitterRng::new()?;
845-
T::from_rng(&mut r)
846-
}
847-
848-
new_os().or_else(|e1| {
849-
new_jitter().map_err(|_e2| {
850-
// TODO: log
851-
// TODO: can we somehow return both error sources?
852-
Error::with_cause(
853-
ErrorKind::Unavailable,
854-
"seeding a new RNG failed: both OS and Jitter entropy sources failed",
855-
e1)
856-
})
857-
})
837+
let mut source = EntropySource::new()?;
838+
R::from_rng(&mut source)
858839
}
859840
}
860841

0 commit comments

Comments
 (0)