crypto: `randomBytes` is non-blocking
authorFedor Indutny <fedor.indutny@gmail.com>
Sat, 19 Oct 2013 10:38:58 +0000 (14:38 +0400)
committerFedor Indutny <fedor.indutny@gmail.com>
Tue, 19 Nov 2013 09:15:50 +0000 (13:15 +0400)
Add NOTE section in documentation, mentioning that `randomBytes` won't
block when entropy sources are drained.

fix #6372

doc/api/crypto.markdown

index e0fe26f..1aba68e 100644 (file)
@@ -465,8 +465,14 @@ Generates cryptographically strong pseudo-random data. Usage:
       console.log('Have %d bytes of random data: %s', buf.length, buf);
     } catch (ex) {
       // handle error
+      // most likely, entropy sources are drained
     }
 
+NOTE: Will throw error or invoke callback with error, if there is not enough
+accumulated entropy to generate cryptographically strong data. In other words,
+`crypto.randomBytes` without callback will not block even if all entropy sources
+are drained.
+
 ## crypto.pseudoRandomBytes(size, [callback])
 
 Generates *non*-cryptographically strong pseudo-random data. The data