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

📄 trtrackerscraperresponseimpl.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:   TRTrackerScraperResponseImpl.java

package org.gudy.azureus2.core3.tracker.client.impl;

import org.gudy.azureus2.core3.tracker.client.TRTrackerScraperResponse;
import org.gudy.azureus2.core3.util.*;

public abstract class TRTrackerScraperResponseImpl
	implements TRTrackerScraperResponse
{

	private HashWrapper hash;
	private int seeds;
	private int peers;
	private int completed;
	private long scrapeStartTime;
	private long nextScrapeStartTime;
	private String sStatus;
	private String sLastStatus;
	private int status;
	private int last_status;
	private static final int scrapeFuzzAdd = (int)(Math.random() * 3D * 60D);

	protected TRTrackerScraperResponseImpl(HashWrapper _hash)
	{
		this(_hash, -1, -1, -1, -1L);
	}

	protected TRTrackerScraperResponseImpl(HashWrapper _hash, int _seeds, int _peers, int completed, long _scrapeStartTime)
	{
		sStatus = "";
		sLastStatus = "";
		hash = _hash;
		seeds = _seeds;
		this.completed = completed;
		peers = _peers;
		scrapeStartTime = _scrapeStartTime;
		status = isValid() ? 2 : 0;
		nextScrapeStartTime = -1L;
	}

	public int getCompleted()
	{
		return completed;
	}

	public void setCompleted(int completed)
	{
		this.completed = completed;
	}

	public HashWrapper getHash()
	{
		return hash;
	}

	public int getSeeds()
	{
		return seeds;
	}

	public void setSeeds(int s)
	{
		seeds = s;
	}

	public int getPeers()
	{
		return peers;
	}

	public void setPeers(int p)
	{
		peers = p;
	}

	public int getStatus()
	{
		return status;
	}

	public void setStatus(int s)
	{
		status = s;
	}

	protected void setStatus(String str)
	{
		sStatus = str;
	}

	public void setStatus(int iNewStatus, String sNewStatus)
	{
		if (last_status != status && iNewStatus != status)
			last_status = status;
		if (iNewStatus == 2)
			status = isValid() ? 2 : 0;
		else
			status = iNewStatus;
		if (sNewStatus == null)
			return;
		if (!sLastStatus.equals(sStatus))
			sLastStatus = sStatus;
		sStatus = StringInterner.intern(sNewStatus);
	}

	public void revertStatus()
	{
		status = last_status;
		sStatus = sLastStatus;
	}

	public void setScrapeStartTime(long time)
	{
		scrapeStartTime = time;
	}

	public long getScrapeStartTime()
	{
		return scrapeStartTime;
	}

	public long getNextScrapeStartTime()
	{
		return nextScrapeStartTime;
	}

	public void setNextScrapeStartTime(long _nextScrapeStartTime)
	{
		nextScrapeStartTime = _nextScrapeStartTime;
	}

	public String getStatusString()
	{
		return sStatus;
	}

	public boolean isValid()
	{
		return seeds != -1 || peers != -1;
	}

	public static int calcScrapeIntervalSecs(int iRecIntervalSecs, int iNumSeeds)
	{
		int MIN = 900;
		int MAX = 10800;
		int scrapeInterval = 900 + iNumSeeds * 10;
		if (iRecIntervalSecs > scrapeInterval)
			scrapeInterval = iRecIntervalSecs;
		scrapeInterval += scrapeFuzzAdd;
		if (scrapeInterval > 10800)
			scrapeInterval = 10800;
		return scrapeInterval;
	}

	public String getString()
	{
		return (new StringBuilder()).append(getURL()).append(": ").append(ByteFormatter.encodeString(hash.getBytes())).append(",seeds=").append(seeds).append(",peers=").append(peers).append(",state=").append(status).append("/").append(sStatus).append(",last=").append(last_status).append("/").append(sLastStatus).append(",start=").append(scrapeStartTime).append(",next=").append(nextScrapeStartTime).toString();
	}

}

⌨️ 快捷键说明

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