## gnu.crypto.prng
Class AsyncFortunaStandalone

    java.lang.Object
      gnu.crypto.prng.BasePRNGStandalone
          gnu.crypto.prng.FortunaStandalone
              gnu.crypto.prng.AsyncFortunaStandalone

All Implemented Interfaces:
  IRandomStandalone, RandomEventListenerStandalone, Serializable, Cloneable, Runnable, EventListener

    public class AsyncFortunaStandalone

extends FortunaStandalone
implements Runnable

fortuna instance that tries to avoid blocking if at all possible by using separate filled buffer segments rather than one buffer (and blocking when that buffer's data has been eaten)

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class gnu.crypto.prng.FortunaStandalone
`FortunaStandalone.Generator`

Field Summary

Fields inherited from class gnu.crypto.prng.FortunaStandalone
`generator, lastRefill, lastReseed, MIN_POOL_SIZE, NUM_POOLS, pool, pool0Count, pools, refillCount, reseedCount, SEED`

Fields inherited from class gnu.crypto.prng.BasePRNGStandalone
`buffer, initialised, name, ndx`

Constructor Summary
`AsyncFortunaStandalone(I2PAppContext context)`

Method Summary
`protected void` `allocBuffer()`
`void` `fillBlock()`
`protected void` `rotateBuffer()` make the next available filled buffer current, scheduling any unfilled buffers for refill, and blocking until at least one buffer is ready
`void` `run()`
`void` `seed(byte[] val)` the seed is only propogated once the prng is started with startup()
`void` `startup()`

Methods inherited from class gnu.crypto.prng.FortunaStandalone
`addRandomByte, addRandomBytes, addRandomEvent, setup`

Methods inherited from class gnu.crypto.prng.BasePRNGStandalone
`addRandomBytes, clone, init, isInitialised, name, nextByte, nextBytes, nextBytes`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AsyncFortunaStandalone

    public AsyncFortunaStandalone(I2PAppContext context)

Method Detail

### startup

    public void startup()

### seed

    public void seed(byte[] val)

  the seed is only propogated once the prng is started with startup()

  Overrides:
    `seed` in class `FortunaStandalone`

### allocBuffer

    protected void allocBuffer()

  Overrides:
    `allocBuffer` in class `FortunaStandalone`

### rotateBuffer

    protected void rotateBuffer()

  make the next available filled buffer current, scheduling any unfilled buffers for refill, and blocking until at least one buffer is ready

### run

    public void run()

  Specified by:
    `run` in interface `Runnable`

### fillBlock

    public void fillBlock()

  Overrides:
    `fillBlock` in class `FortunaStandalone`