rand-facade

Crates.iorand-facade
lib.rsrand-facade
version0.2.0
sourcesrc
created_at2020-07-03 04:07:15.614708
updated_at2020-07-06 05:55:43.475858
descriptionA global mutex-based random facade for no_std compatible libraries that require an initialised random number generator
homepage
repositoryhttps://github.com/ryankurte/rust-rand-facade
max_upload_size
id260846
size10,673
ryan (ryankurte)

documentation

README

rand-facade

An experimental global facade for rand::RngCore to support use of initialised random number generators in no_std capable libraries and projects, without needing to specify a given random generator within the library.

This allows you to initialise and maintain a physical Random Number Generator (RNG) on no_std platforms, while allowing the sharing a global RNG (if required) or falling through to the default OsRng on std platforms.

This is intended to be used as a dependency for relevant libraries / projects that require RNGs, and allows modes to be swapped using the feature flags described below.

Usage

Include by adding rand-facade = "0.1.0" to your Cargo.toml.

Features

  • os_rng disables binding and falls through to the default rand::rng::OsRng, this is a sensible default for most apps
  • std enables global Rng binding using std::sync::Mutex
  • cortex_m enables global Rng binding using cortex_m::Mutex

Status

This is a work in progress! Currently this works with std and cortex-m platforms.

GitHub tag Build Status Crates.io Docs.rs

Open Issues

Commit count: 11

cargo fmt