/** * @since 0.9.10 */ private void startThread() { I2PAppThread t = new I2PAppThread(this, "BOBListener"); t.start(); _runner = t; }
/** * Start handling the SAM connection, detaching an handling thread. * */ public final void startHandling() { thread = new I2PAppThread(this, getClass().getSimpleName()); thread.start(); }
/** * @since 0.9.6 */ private void startThread() { I2PAppThread t = new I2PAppThread(this, "SAMListener " + _listenPort); if (Boolean.parseBoolean(System.getProperty("sam.shutdownOnOOM"))) { t.addOOMEventThreadListener(new I2PAppThread.OOMEventListener() { public void outOfMemory(OutOfMemoryError err) { err.printStackTrace(); System.err.println("OOMed, die die die"); System.exit(-1); } }); } t.start(); _runner = t; }
public synchronized void startReading() { if (_live) throw new IllegalStateException(); _live = true; I2PAppThread t = new I2PAppThread(new Runner(), "SAM reader " + _count.incrementAndGet()); t.start(); _thread = t; }
public void startTunnelBackground() { synchronized (this) { if (_state != TunnelState.STOPPED && _state != TunnelState.START_ON_LOAD) return; } new I2PAppThread(new Runnable() { public void run() { startTunnel(); } }, "Tunnel Starter " + getName()).start(); }
private void send(OutputStream samOut, SAMEventHandler eventHandler, int mode) throws IOException { Sender sender = new Sender(samOut, eventHandler, mode); boolean ok = sender.openConnection(); if (ok) { I2PAppThread t = new I2PAppThread(sender, "Sender"); t.start(); } else { throw new IOException("Sender failed to connect"); } }
/** * Start all of the tunnels. Must call loadControllers() first. * @since 0.9.20 */ private synchronized void startControllers() { changeState(STARTING); I2PAppThread startupThread = new I2PAppThread(new StartControllers(), "Startup tunnels"); startupThread.start(); changeState(RUNNING); }
public void timeReached() { if (!_isRunning) return; if (_knownNodes.size() > 0) (new I2PAppThread(new ExplorerThread(), "DHT Explore", true)).start(); else schedule(60*1000); } }
/** * If not connected, thread it, otherwise inline * @since 0.9.1 */ public void startAllTorrents() { if (_util.connected()) { startAll(); } else { addMessage(_t("Opening the I2P tunnel and starting all torrents.")); for (Snark snark : _snarks.values()) { // mark it for the UI snark.setStarting(); } (new I2PAppThread(new ThreadedStarter(null), "TorrentStarterAll", true)).start(); try { Thread.sleep(200); } catch (InterruptedException ie) {} } }
(new I2PAppThread(rec.getThreadGroup(), forwarder, "SAMV3StreamForwarder")).start();
/** * Threaded. Torrent must be stopped. * @since 0.9.23 */ public void recheckTorrent(Snark snark) { if (snark.isStarting() || !snark.isStopped()) { addMessage("Cannot check " + snark.getBaseName() + ", torrent already started"); return; } Storage storage = snark.getStorage(); if (storage == null) { addMessage("Cannot check " + snark.getBaseName() + ", no storage"); return; } (new I2PAppThread(new ThreadedRechecker(snark), "TorrentRechecker", true)).start(); try { Thread.sleep(200); } catch (InterruptedException ie) {} }
new I2PAppThread(new HelloHandler(s,this), "SAM HelloHandler").start();
/** * Creates a thread for each tracker in parallel if tunnel is still open * @since 0.9.1 */ private void unannounce() { // Local DHT tracker unannounce DHT dht = _util.getDHT(); if (dht != null) dht.unannounce(snark.getInfoHash()); int i = 0; for (TCTracker tr : trackers) { if (_util.connected() && tr.started && (!tr.stop) && tr.trackerProblems == null) { try { (new I2PAppThread(new Unannouncer(tr), _threadName + " U" + (++i), true)).start(); } catch (OutOfMemoryError oom) { // probably ran out of threads, ignore tr.reset(); } } else { tr.reset(); } } }
/** * If not connected, thread it, otherwise inline * @throws RuntimeException via Snark.fatal() * @since 0.9.23 */ public void startTorrent(Snark snark) { if (snark.isStarting() || !snark.isStopped()) { addMessage("Torrent already started"); return; } boolean connected = _util.connected(); if ((!connected) && !_util.isConnecting()) addMessage(_t("Opening the I2P tunnel")); addMessageNoEscape(_t("Starting up torrent {0}", linkify(snark))); if (connected) { snark.startTorrent(); } else { // mark it for the UI snark.setStarting(); (new I2PAppThread(new ThreadedStarter(snark), "TorrentStarter", true)).start(); try { Thread.sleep(200); } catch (InterruptedException ie) {} } }
connectThread.start() ; return true ;
new I2PAppThread(r, threadName).start(); return true;