Package net.i2p.router.crypto.ratchet
Class Elg2KeyFactory
java.lang.Object
java.lang.Thread
net.i2p.util.I2PThread
net.i2p.router.crypto.ratchet.Elg2KeyFactory
- All Implemented Interfaces:
Runnable
,KeyFactory
public class Elg2KeyFactory extends I2PThread implements KeyFactory
Elligator2 for X25519 keys.
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.
- Since:
- 0.9.44 from X25519KeyFactory
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
Field Summary
-
Constructor Summary
Constructors Constructor Description Elg2KeyFactory(RouterContext ctx)
-
Method Summary
Modifier and Type Method Description Elg2KeyPair
getKeys()
Pulls a prebuilt keypair from the queue, or if not available, construct a new one.void
returnUnused(Elg2KeyPair kp)
Return an unused DH key builder to be put back onto the queue for reuse.void
run()
void
shutdown()
Note that this stops the singleton precalc thread.Methods inherited from class net.i2p.util.I2PThread
addOOMEventListener, fireOOM, removeOOMEventListener, start
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, suspend, toString, yield
-
Constructor Details
-
Method Details
-
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(). -
run
public void run() -
getKeys
Pulls a prebuilt keypair from the queue, or if not available, construct a new one.- Specified by:
getKeys
in interfaceKeyFactory
-
returnUnused
Return an unused DH key builder to be put back onto the queue for reuse.
-