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

📄 dhtview.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		GridLayout layout = new GridLayout();
		layout.numColumns = 5;
		layout.makeColumnsEqualWidth = true;
		gOperations.setLayout(layout);
		Label label = new Label(gOperations, 0);
		label = new Label(gOperations, 0);
		Messages.setLanguageText(label, "DHTView.operations.sent");
		label.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gOperations, 0);
		Messages.setLanguageText(label, "DHTView.operations.ok");
		label.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gOperations, 0);
		Messages.setLanguageText(label, "DHTView.operations.failed");
		label.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gOperations, 0);
		Messages.setLanguageText(label, "DHTView.operations.received");
		label.setLayoutData(new GridData(4, 128, true, false));
		label = new Label(gOperations, 0);
		Messages.setLanguageText(label, "DHTView.operations.ping");
		for (int i = 0; i < 4; i++)
		{
			lblPings[i] = new Label(gOperations, 0);
			lblPings[i].setLayoutData(new GridData(4, 128, true, false));
		}

		label = new Label(gOperations, 0);
		Messages.setLanguageText(label, "DHTView.operations.findNode");
		for (int i = 0; i < 4; i++)
		{
			lblFindNodes[i] = new Label(gOperations, 0);
			lblFindNodes[i].setLayoutData(new GridData(4, 128, true, false));
		}

		label = new Label(gOperations, 0);
		Messages.setLanguageText(label, "DHTView.operations.findValue");
		for (int i = 0; i < 4; i++)
		{
			lblFindValues[i] = new Label(gOperations, 0);
			lblFindValues[i].setLayoutData(new GridData(4, 128, true, false));
		}

		label = new Label(gOperations, 0);
		Messages.setLanguageText(label, "DHTView.operations.store");
		for (int i = 0; i < 4; i++)
		{
			lblStores[i] = new Label(gOperations, 0);
			lblStores[i].setLayoutData(new GridData(4, 128, true, false));
		}

		label = new Label(gOperations, 0);
		Messages.setLanguageText(label, "DHTView.operations.data");
		for (int i = 0; i < 4; i++)
		{
			lblData[i] = new Label(gOperations, 0);
			lblData[i].setLayoutData(new GridData(4, 128, true, false));
		}

	}

	private void initialiseActivityGroup()
	{
		Group gActivity = new Group(panel, 0);
		Messages.setLanguageText(gActivity, "DHTView.activity.title");
		gActivity.setLayoutData(new GridData(4, 4, true, true));
		gActivity.setLayout(new GridLayout());
		activityTable = new Table(gActivity, 0x10010804);
		activityTable.setLayoutData(new GridData(1808));
		final TableColumn colStatus = new TableColumn(activityTable, 16384);
		Messages.setLanguageText(colStatus, "DHTView.activity.status");
		colStatus.setWidth(80);
		final TableColumn colType = new TableColumn(activityTable, 16384);
		Messages.setLanguageText(colType, "DHTView.activity.type");
		colType.setWidth(80);
		final TableColumn colName = new TableColumn(activityTable, 16384);
		Messages.setLanguageText(colName, "DHTView.activity.target");
		colName.setWidth(80);
		final TableColumn colDetails = new TableColumn(activityTable, 16384);
		Messages.setLanguageText(colDetails, "DHTView.activity.details");
		colDetails.setWidth(300);
		colDetails.setResizable(false);
		activityTable.setHeaderVisible(true);
		Listener computeLastRowWidthListener = new Listener() {

			boolean inUse;
			final TableColumn val$colStatus;
			final TableColumn val$colType;
			final TableColumn val$colName;
			final TableColumn val$colDetails;
			final DHTView this$0;

			public void handleEvent(Event event)
			{
				if (inUse)
					return;
				inUse = true;
				if (activityTable == null || activityTable.isDisposed())
				{
					inUse = false;
					return;
				}
				int totalWidth = activityTable.getClientArea().width;
				int remainingWidth = totalWidth - colStatus.getWidth() - colType.getWidth() - colName.getWidth();
				if (remainingWidth > 0)
					colDetails.setWidth(remainingWidth);
				inUse = false;
				break MISSING_BLOCK_LABEL_112;
				Exception exception;
				exception;
				inUse = false;
				throw exception;
			}

			
			{
				this$0 = DHTView.this;
				colStatus = tablecolumn;
				colType = tablecolumn1;
				colName = tablecolumn2;
				colDetails = tablecolumn3;
				super();
				inUse = false;
			}
		};
		activityTable.addListener(11, computeLastRowWidthListener);
		colStatus.addListener(11, computeLastRowWidthListener);
		colType.addListener(11, computeLastRowWidthListener);
		colName.addListener(11, computeLastRowWidthListener);
		activityTable.addListener(36, new Listener() {

			final DHTView this$0;

			public void handleEvent(Event event)
			{
				TableItem item = (TableItem)event.item;
				int index = activityTable.indexOf(item);
				item.setText(0, MessageText.getString((new StringBuilder()).append("DHTView.activity.status.").append(activities[index].isQueued()).toString()));
				item.setText(1, MessageText.getString((new StringBuilder()).append("DHTView.activity.type.").append(activities[index].getType()).toString()));
				item.setText(2, ByteFormatter.nicePrint(activities[index].getTarget()));
				item.setText(3, activities[index].getDescription());
			}

			
			{
				this$0 = DHTView.this;
				super();
			}
		});
	}

	public void delete()
	{
		Utils.disposeComposite(panel);
		if (dht != null)
			dht.getControl().removeListener(controlListener);
		outGraph.dispose();
		inGraph.dispose();
	}

	public String getFullTitle()
	{
		if (dht_type == 0)
			return "DHTView.title.full";
		if (dht_type == 1)
			return "DHTView.title.fullcvs";
		else
			return "DHTView.title.full_v6";
	}

	public Composite getComposite()
	{
		return panel;
	}

	public void refresh()
	{
		if (dht == null)
		{
			init();
			return;
		} else
		{
			inGraph.refresh();
			outGraph.refresh();
			refreshGeneral();
			refreshDB();
			refreshTransportDetails();
			refreshOperationDetails();
			refreshActivity();
			return;
		}
	}

	private void refreshGeneral()
	{
		DHTControlStats controlStats = dht.getControl().getStats();
		DHTRouterStats routerStats = dht.getRouter().getStats();
		DHTTransport transport = dht.getTransport();
		DHTTransportStats transportStats = transport.getStats();
		lblUpTime.setText(TimeFormatter.format(controlStats.getRouterUptime() / 1000L));
		lblNumberOfUsers.setText((new StringBuilder()).append("").append(controlStats.getEstimatedDHTSize()).toString());
		int percent = transportStats.getRouteablePercentage();
		lblReachable.setText((new StringBuilder()).append(transport.isReachable() ? yes_str : no_str).append(percent != -1 ? (new StringBuilder()).append(" ").append(percent).append("%").toString() : "").toString());
		DHTNATPuncher puncher = dht.getNATPuncher();
		String puncher_str;
		if (puncher == null)
			puncher_str = "";
		else
			puncher_str = puncher.operational() ? yes_str : no_str;
		lblRendezvous.setText(transport.isReachable() ? "" : puncher_str);
		long stats[] = routerStats.getStats();
		lblNodes.setText((new StringBuilder()).append("").append(stats[0]).toString());
		lblLeaves.setText((new StringBuilder()).append("").append(stats[1]).toString());
		lblContacts.setText((new StringBuilder()).append("").append(stats[2]).toString());
		lblReplacements.setText((new StringBuilder()).append("").append(stats[3]).toString());
		lblLive.setText((new StringBuilder()).append("").append(stats[4]).toString());
		lblUnknown.setText((new StringBuilder()).append("").append(stats[5]).toString());
		lblDying.setText((new StringBuilder()).append("").append(stats[6]).toString());
		long skew_average = transportStats.getSkewAverage();
		lblSkew.setText(skew_average != 0L ? (new StringBuilder()).append(skew_average >= 0L ? "" : "-").append(TimeFormatter.format100ths(Math.abs(skew_average))).toString() : "");
	}

	private void refreshDB()
	{
		if (refreshIter == 0)
		{
			DHTDBStats dbStats = dht.getDataBase().getStats();
			lblKeys.setText((new StringBuilder()).append("").append(dbStats.getKeyCount()).append(" (").append(dbStats.getLocalKeyCount()).append(")").toString());
			int stats[] = dbStats.getValueDetails();
			lblValues.setText((new StringBuilder()).append("").append(stats[0]).toString());
			lblSize.setText(DisplayFormatters.formatByteCountToKiBEtc(dbStats.getSize()));
			lblDirect.setText(DisplayFormatters.formatByteCountToKiBEtc(stats[2]));
			lblIndirect.setText(DisplayFormatters.formatByteCountToKiBEtc(stats[3]));
			lblLocal.setText(DisplayFormatters.formatByteCountToKiBEtc(stats[1]));
			DHTStorageAdapter sa = dht.getStorageAdapter();
			String rem_freq;
			String rem_size;
			if (sa == null)
			{
				rem_freq = "?";
				rem_size = "?";
			} else
			{
				rem_freq = (new StringBuilder()).append("").append(sa.getRemoteFreqDivCount()).toString();
				rem_size = (new StringBuilder()).append("").append(sa.getRemoteSizeDivCount()).toString();
			}
			lblDivFreq.setText((new StringBuilder()).append("").append(stats[4]).append(" (").append(rem_freq).append(")").toString());
			lblDivSize.setText((new StringBuilder()).append("").append(stats[5]).append(" (").append(rem_size).append(")").toString());
		} else
		{
			refreshIter++;
			if (refreshIter == 100)
				refreshIter = 0;
		}
	}

	private void refreshTransportDetails()
	{
		DHTTransportStats transportStats = dht.getTransport().getStats();
		lblReceivedBytes.setText(DisplayFormatters.formatByteCountToKiBEtc(transportStats.getBytesReceived()));
		lblSentBytes.setText(DisplayFormatters.formatByteCountToKiBEtc(transportStats.getBytesSent()));
		lblReceivedPackets.setText((new StringBuilder()).append("").append(transportStats.getPacketsReceived()).toString());
		lblSentPackets.setText((new StringBuilder()).append("").append(transportStats.getPacketsSent()).toString());
	}

	private void refreshOperationDetails()
	{
		DHTTransportStats transportStats = dht.getTransport().getStats();
		long pings[] = transportStats.getPings();
		for (int i = 0; i < 4; i++)
			lblPings[i].setText((new StringBuilder()).append("").append(pings[i]).toString());

		long findNodes[] = transportStats.getFindNodes();
		for (int i = 0; i < 4; i++)
			lblFindNodes[i].setText((new StringBuilder()).append("").append(findNodes[i]).toString());

		long findValues[] = transportStats.getFindValues();
		for (int i = 0; i < 4; i++)
			lblFindValues[i].setText((new StringBuilder()).append("").append(findValues[i]).toString());

		long stores[] = transportStats.getStores();
		for (int i = 0; i < 4; i++)
			lblStores[i].setText((new StringBuilder()).append("").append(stores[i]).toString());

		long data[] = transportStats.getData();
		for (int i = 0; i < 4; i++)
			lblData[i].setText((new StringBuilder()).append("").append(data[i]).toString());

	}

	private void refreshActivity()
	{
		if (activityChanged)
		{
			activityChanged = false;
			activities = dht.getControl().getActivities();
			activityTable.setItemCount(activities.length);
			activityTable.clearAll();
			activityTable.redraw();
		}
	}

	public void periodicUpdate()
	{
		if (dht == null)
		{
			return;
		} else
		{
			DHTTransportFullStats fullStats = dht.getTransport().getLocalContact().getStats();
			inGraph.addIntValue((int)fullStats.getAverageBytesReceived());
			outGraph.addIntValue((int)fullStats.getAverageBytesSent());
			return;
		}
	}

	public String getData()
	{
		return getFullTitle();
	}
}

⌨️ 快捷键说明

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