net.i2p.util
Class I2PAppThread

java.lang.Object
  extended by java.lang.Thread
      extended by net.i2p.util.I2PThread
          extended by net.i2p.util.I2PAppThread
All Implemented Interfaces:
java.lang.Runnable
Direct Known Subclasses:
I2Ping.PingHandler, I2PTunnelRunner, SnarkManager.SnarkManagerShutdown, SnarkShutdown, TrackerClient

public class I2PAppThread
extends I2PThread

Like I2PThread but with per-thread OOM listeners, rather than a static router-wide listener list, so that an OOM in an app won't call the router listener to shutdown the whole router.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.i2p.util.I2PThread
I2PThread.OOMEventListener
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
I2PAppThread()
           
I2PAppThread(java.lang.Runnable r)
           
I2PAppThread(java.lang.Runnable r, java.lang.String name)
           
I2PAppThread(java.lang.Runnable r, java.lang.String name, boolean isDaemon)
           
I2PAppThread(java.lang.String name)
           
 
Method Summary
 void addOOMEventThreadListener(I2PThread.OOMEventListener lsnr)
          register a new component that wants notification of OOM events
protected  void fireOOM(java.lang.OutOfMemoryError oom)
           
 void removeOOMEventThreadListener(I2PThread.OOMEventListener lsnr)
          unregister a component that wants notification of OOM events
 
Methods inherited from class net.i2p.util.I2PThread
addOOMEventListener, finalize, main, removeOOMEventListener, run
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, 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, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

I2PAppThread

public I2PAppThread()

I2PAppThread

public I2PAppThread(java.lang.String name)

I2PAppThread

public I2PAppThread(java.lang.Runnable r)

I2PAppThread

public I2PAppThread(java.lang.Runnable r,
                    java.lang.String name)

I2PAppThread

public I2PAppThread(java.lang.Runnable r,
                    java.lang.String name,
                    boolean isDaemon)
Method Detail

fireOOM

protected void fireOOM(java.lang.OutOfMemoryError oom)
Overrides:
fireOOM in class I2PThread

addOOMEventThreadListener

public void addOOMEventThreadListener(I2PThread.OOMEventListener lsnr)
register a new component that wants notification of OOM events


removeOOMEventThreadListener

public void removeOOMEventThreadListener(I2PThread.OOMEventListener lsnr)
unregister a component that wants notification of OOM events