net.i2p.router.transport.crypto
Class DHSessionKeyBuilder.PrecalcRunner
java.lang.Object
java.lang.Thread
net.i2p.util.I2PThread
net.i2p.router.transport.crypto.DHSessionKeyBuilder.PrecalcRunner
- All Implemented Interfaces:
- Runnable, DHSessionKeyBuilder.Factory
- Enclosing class:
- DHSessionKeyBuilder
public static class DHSessionKeyBuilder.PrecalcRunner
- extends I2PThread
- implements DHSessionKeyBuilder.Factory
Try to keep DH pairs at the ready.
It's important to do this in a separate thread, because if we run out,
the pairs are generated in the NTCP Pumper thread,
and it can fall behind.
Methods inherited from class java.lang.Thread |
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, stop, suspend, toString, yield |
DHSessionKeyBuilder.PrecalcRunner
public DHSessionKeyBuilder.PrecalcRunner(I2PAppContext ctx)
shutdown
public void shutdown()
- Note that this stops the singleton precalc thread.
You don't want to do this if there are multiple routers in the JVM.
Fix this if you care. See Router.shutdown().
- Since:
- 0.8.8
run
public void run()
- Specified by:
run
in interface Runnable
- Overrides:
run
in class I2PThread
getBuilder
public DHSessionKeyBuilder getBuilder()
- Construct a new DH key builder
or pulls a prebuilt one from the queue.
- Specified by:
getBuilder
in interface DHSessionKeyBuilder.Factory
- Since:
- 0.9 moved from DHSKB
returnUnused
public void returnUnused(DHSessionKeyBuilder builder)
- Return an unused DH key builder
to be put back onto the queue for reuse.
- Specified by:
returnUnused
in interface DHSessionKeyBuilder.Factory
- Parameters:
builder
- must not have a peerPublicValue set- Since:
- 0.9.16