📄 dhtview.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: 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 + -