gnu.crypto.prng
Class AsyncFortunaStandalone

java.lang.Object
  extended by gnu.crypto.prng.BasePRNGStandalone
      extended by gnu.crypto.prng.FortunaStandalone
          extended by gnu.crypto.prng.AsyncFortunaStandalone
All Implemented Interfaces:
IRandomStandalone, RandomEventListenerStandalone, java.io.Serializable, java.lang.Cloneable, java.lang.Runnable, java.util.EventListener

public class AsyncFortunaStandalone
extends FortunaStandalone
implements java.lang.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()
           
static void main(java.lang.String[] args)
           
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 java.lang.Runnable

fillBlock

public void fillBlock()
Overrides:
fillBlock in class FortunaStandalone

main

public static void main(java.lang.String[] args)