📄 trtrackerscraperresponseimpl.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 + -