亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? externalseedreaderwebseed.java

?? 基于JXTA開發平臺的下載軟件開發源代碼
?? JAVA
字號:
/*
 * Created on 16-Dec-2005
 * Created by Paul Gardner
 * Copyright (C) 2005, 2006 Aelitis, All Rights Reserved.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 * 
 * AELITIS, SAS au capital de 46,603.30 euros
 * 8 Allee Lenotre, La Grille Royale, 78600 Le Mesnil le Roi, France.
 *
 */

package com.aelitis.azureus.plugins.extseed.impl.webseed;

import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;

import org.gudy.azureus2.core3.util.Debug;
import org.gudy.azureus2.plugins.peers.PeerManager;
import org.gudy.azureus2.plugins.peers.PeerReadRequest;
import org.gudy.azureus2.plugins.torrent.Torrent;

import com.aelitis.azureus.plugins.extseed.ExternalSeedException;
import com.aelitis.azureus.plugins.extseed.ExternalSeedPlugin;
import com.aelitis.azureus.plugins.extseed.impl.ExternalSeedReaderImpl;
import com.aelitis.azureus.plugins.extseed.util.ExternalSeedHTTPDownloader;

public class 
ExternalSeedReaderWebSeed
	extends ExternalSeedReaderImpl
{
	private static final int	RECONNECT_DEFAULT = 30*1000;
	
	private URL			url;
	private String		ip;
	private int			port;
	private String		url_prefix;
	
	private int		reconnect_delay	= RECONNECT_DEFAULT;
	
	protected
	ExternalSeedReaderWebSeed(
		ExternalSeedPlugin 		_plugin,
		Torrent					_torrent,	
		URL						_url )
	{
		super( _plugin, _torrent );
		
		url		= _url;
		
		ip		= url.getHost();
		port	= url.getPort();
		
		if ( port == -1 ){
			
			port = url.getDefaultPort();
		}
		
		try{
			String hash_str = URLEncoder.encode(new String(_torrent.getHash(), "ISO-8859-1"), "ISO-8859-1").replaceAll("\\+", "%20");

			url_prefix = url.toString()+"?info_hash=" + hash_str;
			
		}catch( Throwable e ){
			
			Debug.printStackTrace(e);
		}
	}
	
	public String
	getName()
	{
		return( "WS: " + url );
	}
	
	public String
	getIP()
	{
		return( ip );
	}
	
	public int
	getPort()
	{
		return( port );
	}
	
	protected boolean
	readyToActivate(
		PeerManager	peer_manager )
	{
		int	fail_count = getFailureCount();
		
		if ( fail_count > 0 ){
			
			int	delay	= reconnect_delay;
			
			for (int i=1;i<fail_count;i++){
				
				delay += delay;
				
				if ( delay > 30*60*1000 ){
					
					break;
				}
			}
			
			long	now = getSystemTime();
			
			long	last_fail = getLastFailTime();
			
			if ( last_fail < now && now - last_fail < delay ){
				
				return( false );
			}
		}
		
		try{
			float availability = peer_manager.getDownload().getStats().getAvailability();
			
			if ( availability < 1.0 ){
				
				log( getName() + ": activating as availability is poor" );
				
				return( true );
			}
		}catch( Throwable e ){
			
			Debug.printStackTrace(e);
		}
		
		return( false );		
	}
	
	protected boolean
	readyToDeactivate(
		PeerManager	peer_manager )
	{
		try{
			float availability = peer_manager.getDownload().getStats().getAvailability();
			
			if ( availability >= 2.0 ){
				
				log( getName() + ": deactivating as availability is good" );
				
				return( true );
			}
		}catch( Throwable e ){
			
			Debug.printStackTrace(e);
		}
		
		return( false );
	}
	

	
	protected byte[]
	readData(
		PeerReadRequest	request )
	
		throws ExternalSeedException
	{		
		long	piece = request.getPieceNumber();
		
		long	piece_start = request.getOffset();
		long	piece_end	= piece_start + request.getLength()-1;
			
		String	str = url_prefix + "&piece=" + piece + "&ranges=" + piece_start + "-" + piece_end;
		
		reconnect_delay	= RECONNECT_DEFAULT;
		
		try{
			ExternalSeedHTTPDownloader	http_downloader = new ExternalSeedHTTPDownloader( new URL( str ), getUserAgent());

			byte[]	data = http_downloader.downloadSocket(request.getLength());
			
			if ( http_downloader.getLastResponse() == 503 ){
				
				Integer	retry = new Integer( new String(data));
				
				reconnect_delay = retry.intValue() * 1000;
				
				throw( new ExternalSeedException( "Server temporarily unavailable, retrying in " + retry ));
				
			}else{
						
				return( data );
			}
		}catch( MalformedURLException e ){
			
			throw( new ExternalSeedException( "URL encode fails", e ));
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日欢夜夜爽一区| 天堂av在线一区| 欧美亚洲动漫制服丝袜| 成人免费电影视频| 国产精品白丝av| 国产精品影视天天线| 精品午夜久久福利影院| 黄一区二区三区| 国产高清精品在线| aaa国产一区| 91美女视频网站| 欧美亚洲动漫精品| 69久久夜色精品国产69蝌蚪网| 欧美日韩免费一区二区三区视频| 在线精品视频一区二区| 欧美日韩一区二区三区视频| 欧美欧美午夜aⅴ在线观看| 欧美一区日本一区韩国一区| 精品999在线播放| 国产欧美视频一区二区| 亚洲女与黑人做爰| 日韩精品色哟哟| 国产真实乱子伦精品视频| 成人黄色国产精品网站大全在线免费观看| 成人ar影院免费观看视频| 91美女片黄在线观看91美女| 91精品欧美综合在线观看最新| 欧美精品一区视频| 国产精品久久久久久久久动漫 | 97国产一区二区| 在线亚洲免费视频| 日韩女优av电影| 最近日韩中文字幕| 日韩经典中文字幕一区| 成人性生交大片免费看在线播放 | 免费观看成人av| 成人午夜电影久久影院| 欧美日韩一区二区在线观看视频 | 国产精品亚洲视频| 在线一区二区三区做爰视频网站| 欧美一级片在线观看| 国产精品久久久久久福利一牛影视 | 91精品国产品国语在线不卡| 久久久久国产精品厨房| 一区二区三区四区视频精品免费| 精品一区二区在线视频| 欧美三级资源在线| 国产精品久久午夜夜伦鲁鲁| 日本不卡一区二区三区高清视频| 成人精品gif动图一区| 欧美一区二区三区男人的天堂| 自拍偷自拍亚洲精品播放| 激情文学综合插| 日韩一区二区三区免费看 | 日韩美一区二区三区| 亚洲综合自拍偷拍| 成人黄色电影在线 | 欧美美女一区二区| 中文字幕佐山爱一区二区免费| 狠狠色狠狠色综合| 91精品国产综合久久香蕉麻豆| 亚洲免费电影在线| 99久久er热在这里只有精品15| 精品国产精品网麻豆系列| 日本中文在线一区| 欧美三级视频在线播放| 一区二区国产盗摄色噜噜| 99久久99久久精品免费看蜜桃| 欧美国产精品一区二区| 国产黄人亚洲片| 久久精品亚洲国产奇米99| 美女视频黄a大片欧美| 欧美日韩aaaaa| 亚洲bdsm女犯bdsm网站| 欧美日韩在线不卡| 丝袜亚洲精品中文字幕一区| 欧美区一区二区三区| 婷婷夜色潮精品综合在线| 欧美三级日韩三级国产三级| 亚洲第一主播视频| 欧美一区二区视频在线观看| 捆绑调教一区二区三区| 精品国产一二三| 国产成人精品午夜视频免费| 国产精品免费aⅴ片在线观看| 成人久久18免费网站麻豆 | 日韩在线观看一区二区| 666欧美在线视频| 免费成人深夜小野草| 欧美成人乱码一区二区三区| 国精产品一区一区三区mba视频 | 欧美va亚洲va| 国产精品18久久久久久久久| 国产午夜精品福利| 色综合久久天天| 日本视频免费一区| 国产欧美一区二区三区在线看蜜臀| 国产一区二区导航在线播放| 国产精品电影院| 欧美日韩一区国产| 韩国精品主播一区二区在线观看| 欧美国产亚洲另类动漫| 91国产免费看| 美女www一区二区| 国产精品女上位| 欧美日韩国产首页| 成人性生交大片免费看在线播放| 亚洲午夜久久久久中文字幕久| 日韩欧美中文字幕制服| av在线播放不卡| 另类欧美日韩国产在线| 亚洲欧美一区二区在线观看| 制服丝袜亚洲色图| 波多野结衣一区二区三区| 免费观看久久久4p| 1区2区3区精品视频| 欧美xxxxx裸体时装秀| 在线观看国产日韩| 国产在线麻豆精品观看| 亚洲无人区一区| 国产精品麻豆久久久| 欧美大肚乱孕交hd孕妇| 欧美性大战久久| 99国产一区二区三精品乱码| 国内精品伊人久久久久av影院| 一区二区三区电影在线播| 国产欧美精品一区二区三区四区| 欧美丰满嫩嫩电影| 色诱视频网站一区| 国产精品系列在线播放| 蜜臀久久99精品久久久久久9| 亚洲女爱视频在线| 亚洲国产精品黑人久久久| 日韩精品一区二区三区视频| 欧美剧在线免费观看网站| 91在线视频18| 97aⅴ精品视频一二三区| 国产成人免费在线观看不卡| 久久成人麻豆午夜电影| 日韩极品在线观看| 午夜精品国产更新| 亚洲国产日韩一级| 亚洲一二三四久久| 一区二区三区四区蜜桃| 亚洲嫩草精品久久| 亚洲欧洲成人自拍| 亚洲人成伊人成综合网小说| 国产精品二区一区二区aⅴ污介绍| 久久色在线视频| 久久精品在线免费观看| 国产午夜亚洲精品羞羞网站| 精品美女在线观看| 久久久精品综合| 国产欧美日韩三区| 中文字幕日韩一区| 国产精品成人午夜| 亚洲色图视频网| 亚洲伊人色欲综合网| 一级特黄大欧美久久久| 亚洲综合丁香婷婷六月香| 亚洲高清在线视频| 手机精品视频在线观看| 天天综合天天综合色| 美女一区二区视频| 国产成人综合精品三级| 成人av网址在线| 色爱区综合激月婷婷| 欧美婷婷六月丁香综合色| 在线综合视频播放| 2020日本不卡一区二区视频| 欧美国产国产综合| 一级女性全黄久久生活片免费| 午夜久久久影院| 国产一区二区日韩精品| 91在线丨porny丨国产| 欧美日韩日本视频| 精品国产sm最大网站免费看| 国产精品毛片高清在线完整版 | 日韩欧美另类在线| 亚洲国产成人自拍| 亚洲自拍偷拍麻豆| 精品影院一区二区久久久| 成人av网址在线| 91精品国产一区二区三区| 国产婷婷色一区二区三区四区 | 欧美一级免费观看| 国产蜜臀av在线一区二区三区| 亚洲精品一二三区| 久久99热狠狠色一区二区| 成人精品国产福利| 欧美一区二区三区小说| 国产精品福利一区二区三区| 免费一级片91| 色猫猫国产区一区二在线视频| 日韩欧美亚洲国产精品字幕久久久 | 久久97超碰色| 欧美伊人久久大香线蕉综合69| 欧美sm极限捆绑bd| 性欧美大战久久久久久久久| 成人一道本在线|