Class VertxContextPRNG
- java.lang.Object
-
- io.vertx.rxjava3.ext.auth.prng.VertxContextPRNG
-
public class VertxContextPRNG extends Object
A secure non blocking random number generator isolated to the current context. The PRNG is bound to the vert.x context and setup to close when the context shuts down.When applicable, use of VertxContextPRNG rather than create new PRNG objects is helpful to keep the system entropy usage to the minimum avoiding potential blocking across the application.
The use of VertxContextPRNG is particularly appropriate when multiple handlers use random numbers.
NOTE: This class has been automatically generated from the
original
non RX-ified interface using Vert.x codegen.
-
-
Field Summary
Fields Modifier and Type Field Description static io.vertx.lang.rx.TypeArg<VertxContextPRNG>
__TYPE_ARG
-
Constructor Summary
Constructors Constructor Description VertxContextPRNG(VertxContextPRNG delegate)
VertxContextPRNG(Object delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
stop seeding the PRNGstatic VertxContextPRNG
current()
Get or create a secure non blocking random number generator using the current vert.x context.static VertxContextPRNG
current(Vertx vertx)
Get or create a secure non blocking random number generator using the current vert.x instance.boolean
equals(Object o)
VertxContextPRNG
getDelegate()
int
hashCode()
static VertxContextPRNG
newInstance(VertxContextPRNG arg)
boolean
nextBoolean()
Returns a secure random booleanvoid
nextBytes(byte[] bytes)
Fills the given byte array with random bytes.double
nextDouble()
Returns a secure random double value.float
nextFloat()
Returns a secure random float value.double
nextGaussian()
Returns a secure random double value.int
nextInt()
Returns a secure random intint
nextInt(int bound)
Returns a secure random int, between 0 (inclusive) and the specified bound (exclusive).long
nextLong()
Returns a secure random longString
nextString(int length)
Returns a Base64 url encoded String of random data with the given length.String
toString()
-
-
-
Field Detail
-
__TYPE_ARG
public static final io.vertx.lang.rx.TypeArg<VertxContextPRNG> __TYPE_ARG
-
-
Constructor Detail
-
VertxContextPRNG
public VertxContextPRNG(VertxContextPRNG delegate)
-
VertxContextPRNG
public VertxContextPRNG(Object delegate)
-
-
Method Detail
-
getDelegate
public VertxContextPRNG getDelegate()
-
current
public static VertxContextPRNG current()
Get or create a secure non blocking random number generator using the current vert.x context. If there is no current context (i.e.: not running on the eventloop) then aIllegalStateException
is thrown.Note, if a context isn't allowed to be used, for example, exceptions are thrown on getting and putting data, the VertxContextPRNG falls back to instantiate a new instance of the PRNG per call.
- Returns:
- A secure non blocking random number generator.
-
current
public static VertxContextPRNG current(Vertx vertx)
Get or create a secure non blocking random number generator using the current vert.x instance. Since the context might be different this method will attempt to use the current context first if available and then fall back to create a new instance of the PRNG.Note, if a context isn't allowed to be used, for example, exceptions are thrown on getting and putting data, the VertxContextPRNG falls back to instantiate a new instance of the PRNG per call.
- Parameters:
vertx
- a Vert.x instance.- Returns:
- A secure non blocking random number generator.
-
close
public void close()
stop seeding the PRNG
-
nextString
public String nextString(int length)
Returns a Base64 url encoded String of random data with the given length. The length parameter refers to the length of the String before the encoding step.- Parameters:
length
- the desired string length before Base64 encoding.- Returns:
- A base 64 encoded string.
-
nextInt
public int nextInt()
Returns a secure random int- Returns:
- random int.
-
nextInt
public int nextInt(int bound)
Returns a secure random int, between 0 (inclusive) and the specified bound (exclusive).- Parameters:
bound
- the upper bound (exclusive), which must be positive.- Returns:
- random int.
-
nextBoolean
public boolean nextBoolean()
Returns a secure random boolean- Returns:
- random boolean.
-
nextLong
public long nextLong()
Returns a secure random long- Returns:
- random long.
-
nextFloat
public float nextFloat()
Returns a secure random float value. The value is uniformly distributed between 0.0 and 1.0- Returns:
- random float.
-
nextDouble
public double nextDouble()
Returns a secure random double value. The value is uniformly distributed between 0.0 and 1.0- Returns:
- random double.
-
nextGaussian
public double nextGaussian()
Returns a secure random double value. The value is Gaussian ("normally") distributed with mean 0.0 and standard deviation 1.0- Returns:
- random double.
-
nextBytes
public void nextBytes(byte[] bytes)
Fills the given byte array with random bytes.- Parameters:
bytes
- a byte array.
-
newInstance
public static VertxContextPRNG newInstance(VertxContextPRNG arg)
-
-