mir_random_genRandomBlocking

Fills a buffer with random data. If not enough entropy has been gathered, it will block.

Note that on Mac OS X this method will never block.

  1. ptrdiff_t mir_random_genRandomBlocking(void* ptr, size_t len)
    extern (C) @nogc nothrow @system
    ptrdiff_t
    mir_random_genRandomBlocking
    (
    scope void* ptr
    ,
    size_t len
    )
  2. alias genRandomBlocking = mir_random_genRandomBlocking
  3. ptrdiff_t genRandomBlocking(ubyte[] buffer)

Parameters

ptr void*

pointer to the buffer to fill

len size_t

length of the buffer (in bytes)

Return Value

Type: ptrdiff_t

A non-zero integer if an error occurred.

Examples

ubyte[] buf = new ubyte[10];
genRandomBlocking(buf);

int sum;
foreach (b; buf)
    sum += b;

assert(sum > 0, "Only zero points generated");

Meta