logo
Expand description

Capability-based random number generators

This corresponds to rand.

Capability-based APIs represent access to external resources as values which can be passed around between different parts of a program.

Two notable features are the OsRng and CapRng types, which wrap up access to the operating system entropy source in capability values.

This crate uses the existing rand::SeedableRng trait rather than having its own version, however while rand::SeedableRng is mostly just a pure interface, it provides a from_entropy function which directly reads from the operating system entropy source. To preserve the capability-based interface, avoid using rand::SeedableRng’s from_entropy function on any of the types that implement that trait; use std_rng_from_entropy instead.

Modules

Generating random samples from probability distributions

Convenience re-export of common members.

Random number generators and adapters.

Sequence-related functionality

Structs

Instances of this AmbientAuthority type serve to indicate that the [ambient_authority] function has been called, indicating that the user has explicitly opted into using ambient authority.

Error type of random number generators

Traits

A marker trait used to indicate that an RngCore or BlockRngCore implementation is supposed to be cryptographically secure.

Types which may be filled with random data

An automatically-implemented extension trait on RngCore providing high-level generic methods for sampling values and other convenience methods.

The core of a random number generator.

A random number generator that can be explicitly seeded.

Functions

Return an AmbientAuthority value, which allows use of functions that include an AmbientAuthority argument.

Generates a random value using the thread-local random number generator.

Retrieve the standard random number generator, seeded by the system.

Retrieve the lazily-initialized thread-local random number generator, seeded by the system.