mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-10-03 03:55:46 +00:00
d5f5648b37
We use cargo vendor to generate a .cargo/config file and the vendor directory. Vendoring allows us to lock our dependencies and to modify them easily from the top level Cargo.toml. We vendor all dependencies, including the crates.io ones, which allows for network isolated builds. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
29 lines
783 B
Rust
29 lines
783 B
Rust
// Copyright 2018 Developers of the Rand project.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
// https://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
// <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
|
|
// option. This file may not be copied, modified, or distributed
|
|
// except according to those terms.
|
|
|
|
//! Implementation for Fuchsia Zircon
|
|
|
|
extern crate fuchsia_cprng;
|
|
|
|
use rand_core::Error;
|
|
use super::OsRngImpl;
|
|
|
|
#[derive(Clone, Debug)]
|
|
pub struct OsRng;
|
|
|
|
impl OsRngImpl for OsRng {
|
|
fn new() -> Result<OsRng, Error> { Ok(OsRng) }
|
|
|
|
fn fill_chunk(&mut self, dest: &mut [u8]) -> Result<(), Error> {
|
|
fuchsia_cprng::cprng_draw(dest);
|
|
Ok(())
|
|
}
|
|
|
|
fn method_str(&self) -> &'static str { "cprng_draw" }
|
|
}
|