⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trackerwchelper.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   TrackerWCHelper.java

package org.gudy.azureus2.pluginsimpl.local.tracker;

import java.io.*;
import java.net.InetSocketAddress;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import org.gudy.azureus2.core3.tracker.host.TRHostAuthenticationListener;
import org.gudy.azureus2.core3.tracker.server.TRTrackerServerAuthenticationListener;
import org.gudy.azureus2.core3.util.AEMonitor;
import org.gudy.azureus2.core3.util.AsyncController;
import org.gudy.azureus2.plugins.PluginInterface;
import org.gudy.azureus2.plugins.tracker.Tracker;
import org.gudy.azureus2.plugins.tracker.web.TrackerWebContext;
import org.gudy.azureus2.plugins.tracker.web.TrackerWebPageGenerator;
import org.gudy.azureus2.pluginsimpl.local.utils.UtilitiesImpl;

// Referenced classes of package org.gudy.azureus2.pluginsimpl.local.tracker:
//			TrackerWebPageRequestImpl, TrackerWebPageResponseImpl

public abstract class TrackerWCHelper
	implements TrackerWebContext, TRHostAuthenticationListener, TRTrackerServerAuthenticationListener
{

	private PluginInterface plugin_interface;
	private Tracker tracker;
	private List generators;
	protected AEMonitor this_mon;

	protected TrackerWCHelper()
	{
		generators = new ArrayList();
		this_mon = new AEMonitor("TrackerWCHelper");
		plugin_interface = UtilitiesImpl.getPluginThreadContext();
	}

	protected void setTracker(Tracker _tracker)
	{
		tracker = _tracker;
	}

	public boolean handleExternalRequest(final InetSocketAddress _client_address, final String _user, final String _url, final URL _absolute_url, final String _header, final InputStream _is, final OutputStream _os, 
			final AsyncController _async)
		throws IOException
	{
		return ((Boolean)UtilitiesImpl.callWithPluginThreadContext(plugin_interface, new org.gudy.azureus2.pluginsimpl.local.utils.UtilitiesImpl.runnableWithReturnAndException() {

			final InetSocketAddress val$_client_address;
			final String val$_user;
			final String val$_url;
			final URL val$_absolute_url;
			final String val$_header;
			final InputStream val$_is;
			final OutputStream val$_os;
			final AsyncController val$_async;
			final TrackerWCHelper this$0;

			public Boolean run()
				throws IOException
			{
				TrackerWebPageRequestImpl request;
				TrackerWebPageResponseImpl reply;
				int i;
				request = new TrackerWebPageRequestImpl(tracker, TrackerWCHelper.this, _client_address, _user, _url, _absolute_url, _header, _is);
				reply = new TrackerWebPageResponseImpl(_os, request, _async);
				i = 0;
_L2:
				if (i >= generators.size())
					break; /* Loop/switch isn't completed */
				this_mon.enter();
				if (i >= generators.size())
				{
					this_mon.exit();
					break; /* Loop/switch isn't completed */
				}
				TrackerWebPageGenerator generator = (TrackerWebPageGenerator)generators.get(i);
				this_mon.exit();
				break MISSING_BLOCK_LABEL_163;
				Exception exception;
				exception;
				this_mon.exit();
				throw exception;
				if (generator.generate(request, reply))
				{
					reply.complete();
					return Boolean.valueOf(true);
				}
				i++;
				if (true) goto _L2; else goto _L1
_L1:
				return Boolean.valueOf(false);
			}

			public volatile Object run()
				throws Exception
			{
				return run();
			}

			
			{
				this$0 = TrackerWCHelper.this;
				_client_address = inetsocketaddress;
				_user = s;
				_url = s1;
				_absolute_url = url;
				_header = s2;
				_is = inputstream;
				_os = outputstream;
				_async = asynccontroller;
				super();
			}
		})).booleanValue();
	}

	public TrackerWebPageGenerator[] getPageGenerators()
	{
		TrackerWebPageGenerator res[] = new TrackerWebPageGenerator[generators.size()];
		generators.toArray(res);
		return res;
	}

	public void addPageGenerator(TrackerWebPageGenerator generator)
	{
		this_mon.enter();
		generators.add(generator);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_38;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void removePageGenerator(TrackerWebPageGenerator generator)
	{
		this_mon.enter();
		generators.remove(generator);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_38;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void destroy()
	{
		generators.clear();
	}


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -