File tree 1 file changed +8
-6
lines changed
1 file changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -21,18 +21,19 @@ use userlib::*;
21
21
task_slot ! ( SYSCON , syscon_driver) ;
22
22
23
23
// low-budget rand::rngs::adapter::ReseedingRng w/o fork stuff
24
- struct ReseedingRng < T : SeedableRng > {
24
+ struct ReseedingRng < T : SeedableRng , R : RngCore > {
25
25
inner : T ,
26
- reseeder : Lpc55Rng ,
26
+ reseeder : R ,
27
27
threshold : usize ,
28
28
bytes_until_reseed : usize ,
29
29
}
30
30
31
- impl < T > ReseedingRng < T >
31
+ impl < T , R > ReseedingRng < T , R >
32
32
where
33
33
T : SeedableRng ,
34
+ R : RngCore ,
34
35
{
35
- fn new ( mut reseeder : Lpc55Rng , threshold : usize ) -> Result < Self , Error > {
36
+ fn new ( mut reseeder : R , threshold : usize ) -> Result < Self , Error > {
36
37
let threshold = if threshold == 0 {
37
38
usize:: MAX
38
39
} else {
48
49
}
49
50
}
50
51
51
- impl < T > RngCore for ReseedingRng < T >
52
+ impl < T , R > RngCore for ReseedingRng < T , R >
52
53
where
53
54
T : SeedableRng + RngCore ,
55
+ R : RngCore ,
54
56
{
55
57
fn next_u32 ( & mut self ) -> u32 {
56
58
impls:: next_u32_via_fill ( self )
74
76
}
75
77
}
76
78
77
- struct Lpc55RngServer ( ReseedingRng < ChaCha20Rng > ) ;
79
+ struct Lpc55RngServer ( ReseedingRng < ChaCha20Rng , Lpc55Rng > ) ;
78
80
79
81
impl Lpc55RngServer {
80
82
fn new ( reseeder : Lpc55Rng , threshold : usize ) -> Result < Self , Error > {
You can’t perform that action at this time.
0 commit comments