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

📄 dhtview.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
// 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:   DHTView.java

package org.gudy.azureus2.ui.swt.views.stats;

import com.aelitis.azureus.core.AzureusCore;
import com.aelitis.azureus.core.AzureusCoreFactory;
import com.aelitis.azureus.core.dht.DHT;
import com.aelitis.azureus.core.dht.DHTStorageAdapter;
import com.aelitis.azureus.core.dht.control.*;
import com.aelitis.azureus.core.dht.db.DHTDB;
import com.aelitis.azureus.core.dht.db.DHTDBStats;
import com.aelitis.azureus.core.dht.nat.DHTNATPuncher;
import com.aelitis.azureus.core.dht.router.DHTRouter;
import com.aelitis.azureus.core.dht.router.DHTRouterStats;
import com.aelitis.azureus.core.dht.transport.*;
import com.aelitis.azureus.plugins.dht.DHTPlugin;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.*;
import org.gudy.azureus2.core3.internat.MessageText;
import org.gudy.azureus2.core3.util.*;
import org.gudy.azureus2.plugins.PluginInterface;
import org.gudy.azureus2.plugins.PluginManager;
import org.gudy.azureus2.ui.swt.Messages;
import org.gudy.azureus2.ui.swt.Utils;
import org.gudy.azureus2.ui.swt.components.graphics.SpeedGraphic;
import org.gudy.azureus2.ui.swt.views.AbstractIView;

public class DHTView extends AbstractIView
{

	public static final int DHT_TYPE_MAIN = 0;
	public static final int DHT_TYPE_CVS = 1;
	public static final int DHT_TYPE_MAIN_V6 = 3;
	DHT dht;
	Composite panel;
	String yes_str;
	String no_str;
	Label lblUpTime;
	Label lblNumberOfUsers;
	Label lblNodes;
	Label lblLeaves;
	Label lblContacts;
	Label lblReplacements;
	Label lblLive;
	Label lblUnknown;
	Label lblDying;
	Label lblSkew;
	Label lblRendezvous;
	Label lblReachable;
	Label lblKeys;
	Label lblValues;
	Label lblSize;
	Label lblLocal;
	Label lblDirect;
	Label lblIndirect;
	Label lblDivFreq;
	Label lblDivSize;
	Label lblReceivedPackets;
	Label lblReceivedBytes;
	Label lblSentPackets;
	Label lblSentBytes;
	Label lblPings[];
	Label lblFindNodes[];
	Label lblFindValues[];
	Label lblStores[];
	Label lblData[];
	Canvas in;
	Canvas out;
	SpeedGraphic inGraph;
	SpeedGraphic outGraph;
	boolean activityChanged;
	DHTControlListener controlListener;
	Table activityTable;
	DHTControlActivity activities[];
	private final int dht_type;
	private int refreshIter;

	public DHTView(int dht_type)
	{
		lblPings = new Label[4];
		lblFindNodes = new Label[4];
		lblFindValues = new Label[4];
		lblStores = new Label[4];
		lblData = new Label[4];
		refreshIter = 0;
		this.dht_type = dht_type;
		init();
	}

	private void init()
	{
		PluginInterface dht_pi;
		dht_pi = AzureusCoreFactory.getSingleton().getPluginManager().getPluginInterfaceByClass(com/aelitis/azureus/plugins/dht/DHTPlugin);
		if (dht_pi == null)
			return;
		DHT dhts[] = ((DHTPlugin)dht_pi.getPlugin()).getDHTs();
		int i = 0;
		do
		{
			if (i >= dhts.length)
				break;
			if (dhts[i].getTransport().getNetwork() == dht_type)
			{
				dht = dhts[i];
				break;
			}
			i++;
		} while (true);
		if (dht == null)
			return;
		try
		{
			controlListener = new DHTControlListener() {

				final DHTView this$0;

				public void activityChanged(DHTControlActivity activity, int type)
				{
					DHTView.this.activityChanged = true;
				}

			
			{
				this$0 = DHTView.this;
				super();
			}
			};
			dht.getControl().addListener(controlListener);
		}
		catch (Exception e)
		{
			Debug.printStackTrace(e);
		}
		return;
	}

	public void initialize(Composite composite)
	{
		panel = new Composite(composite, 0);
		GridLayout layout = new GridLayout();
		layout.numColumns = 2;
		panel.setLayout(layout);
		yes_str = MessageText.getString("Button.yes").replaceAll("&", "");
		no_str = MessageText.getString("Button.no").replaceAll("&", "");
		initialiseGeneralGroup();
		initialiseDBGroup();
		initialiseTransportDetailsGroup();
		initialiseOperationDetailsGroup();
		initialiseActivityGroup();
	}

	private void initialiseGeneralGroup()
	{
		Group gGeneral = new Group(panel, 0);
		Messages.setLanguageText(gGeneral, "DHTView.general.title");
		GridData data = new GridData();
		data.verticalAlignment = 1;
		data.widthHint = 350;
		gGeneral.setLayoutData(data);
		GridLayout layout = new GridLayout();
		layout.numColumns = 6;
		gGeneral.setLayout(layout);
		Label label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.uptime");
		lblUpTime = new Label(gGeneral, 0);
		lblUpTime.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.users");
		lblNumberOfUsers = new Label(gGeneral, 0);
		lblNumberOfUsers.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.reachable");
		lblReachable = new Label(gGeneral, 0);
		lblReachable.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.nodes");
		lblNodes = new Label(gGeneral, 0);
		lblNodes.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.leaves");
		lblLeaves = new Label(gGeneral, 0);
		lblLeaves.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.rendezvous");
		lblRendezvous = new Label(gGeneral, 0);
		lblRendezvous.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.contacts");
		lblContacts = new Label(gGeneral, 0);
		lblContacts.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.replacements");
		lblReplacements = new Label(gGeneral, 0);
		lblReplacements.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.live");
		lblLive = new Label(gGeneral, 0);
		lblLive.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.skew");
		lblSkew = new Label(gGeneral, 0);
		lblSkew.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.unknown");
		lblUnknown = new Label(gGeneral, 0);
		lblUnknown.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gGeneral, 0);
		Messages.setLanguageText(label, "DHTView.general.dying");
		lblDying = new Label(gGeneral, 0);
		lblDying.setLayoutData(new GridData(4, 128, true, false));
	}

	private void initialiseDBGroup()
	{
		Group gDB = new Group(panel, 0);
		Messages.setLanguageText(gDB, "DHTView.db.title");
		GridData data = new GridData(768);
		data.verticalAlignment = 4;
		gDB.setLayoutData(data);
		GridLayout layout = new GridLayout();
		layout.numColumns = 6;
		layout.makeColumnsEqualWidth = true;
		gDB.setLayout(layout);
		Label label = new Label(gDB, 0);
		Messages.setLanguageText(label, "DHTView.db.keys");
		lblKeys = new Label(gDB, 0);
		lblKeys.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gDB, 0);
		Messages.setLanguageText(label, "DHTView.db.values");
		lblValues = new Label(gDB, 0);
		lblValues.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gDB, 0);
		Messages.setLanguageText(label, "TableColumn.header.size");
		lblSize = new Label(gDB, 0);
		lblSize.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gDB, 0);
		Messages.setLanguageText(label, "DHTView.db.local");
		lblLocal = new Label(gDB, 0);
		lblLocal.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gDB, 0);
		Messages.setLanguageText(label, "DHTView.db.direct");
		lblDirect = new Label(gDB, 0);
		lblDirect.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gDB, 0);
		Messages.setLanguageText(label, "DHTView.db.indirect");
		lblIndirect = new Label(gDB, 0);
		lblIndirect.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gDB, 0);
		Messages.setLanguageText(label, "DHTView.db.divfreq");
		lblDivFreq = new Label(gDB, 0);
		lblDivFreq.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gDB, 0);
		Messages.setLanguageText(label, "DHTView.db.divsize");
		lblDivSize = new Label(gDB, 0);
		lblDivSize.setLayoutData(new GridData(4, 128, true, false));
	}

	private void initialiseTransportDetailsGroup()
	{
		Group gTransport = new Group(panel, 0);
		Messages.setLanguageText(gTransport, "DHTView.transport.title");
		GridData data = new GridData(1040);
		data.widthHint = 350;
		data.verticalSpan = 2;
		gTransport.setLayoutData(data);
		GridLayout layout = new GridLayout();
		layout.numColumns = 3;
		layout.makeColumnsEqualWidth = true;
		gTransport.setLayout(layout);
		Label label = new Label(gTransport, 0);
		label = new Label(gTransport, 0);
		Messages.setLanguageText(label, "DHTView.transport.packets");
		label.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gTransport, 0);
		Messages.setLanguageText(label, "DHTView.transport.bytes");
		label.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gTransport, 0);
		Messages.setLanguageText(label, "DHTView.transport.received");
		lblReceivedPackets = new Label(gTransport, 0);
		lblReceivedPackets.setLayoutData(new GridData(4, 128, true, false));
		lblReceivedBytes = new Label(gTransport, 0);
		lblReceivedBytes.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gTransport, 0);
		Messages.setLanguageText(label, "DHTView.transport.sent");
		lblSentPackets = new Label(gTransport, 0);
		lblSentPackets.setLayoutData(new GridData(4, 128, true, false));
		lblSentBytes = new Label(gTransport, 0);
		lblSentBytes.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gTransport, 0);
		Messages.setLanguageText(label, "DHTView.transport.in");
		data = new GridData();
		data.horizontalSpan = 3;
		label.setLayoutData(data);
		in = new Canvas(gTransport, 0x40000);
		data = new GridData(1808);
		data.horizontalSpan = 3;
		in.setLayoutData(data);
		inGraph = SpeedGraphic.getInstance();
		inGraph.initialize(in);
		label = new Label(gTransport, 0);
		Messages.setLanguageText(label, "DHTView.transport.out");
		data = new GridData();
		data.horizontalSpan = 3;
		label.setLayoutData(data);
		out = new Canvas(gTransport, 0x40000);
		data = new GridData(1808);
		data.horizontalSpan = 3;
		out.setLayoutData(data);
		outGraph = SpeedGraphic.getInstance();
		outGraph.initialize(out);
	}

	private void initialiseOperationDetailsGroup()
	{
		Group gOperations = new Group(panel, 0);
		Messages.setLanguageText(gOperations, "DHTView.operations.title");
		gOperations.setLayoutData(new GridData(4, 1, true, false));

⌨️ 快捷键说明

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