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

📄 peermanagerimpl.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		else
			return;
	}

	public Peer[] getPeers()
	{
		List l = manager.getPeers();
		Peer res[] = new Peer[l.size()];
		for (int i = 0; i < res.length; i++)
			res[i] = getPeerForPEPeer((PEPeer)l.get(i));

		return res;
	}

	public Peer[] getPeers(String address)
	{
		List l = manager.getPeers(address);
		Peer res[] = new Peer[l.size()];
		for (int i = 0; i < res.length; i++)
			res[i] = getPeerForPEPeer((PEPeer)l.get(i));

		return res;
	}

	public PeerDescriptor[] getPendingPeers()
	{
		return manager.getPendingPeers();
	}

	public PeerDescriptor[] getPendingPeers(String address)
	{
		return manager.getPendingPeers(address);
	}

	public long getTimeSinceConnectionEstablished(Peer peer)
	{
		if (peer instanceof PeerImpl)
			return ((PeerImpl)peer).getDelegate().getTimeSinceConnectionEstablished();
		PeerForeignDelegate delegate = lookupForeignPeer(peer);
		if (delegate != null)
			return delegate.getTimeSinceConnectionEstablished();
		else
			return 0L;
	}

	public PEPeer mapForeignPeer(Peer _foreign)
	{
		if (_foreign instanceof PeerImpl)
			return ((PeerImpl)_foreign).getDelegate();
		Map map = foreign_map;
		JVM INSTR monitorenter ;
		PEPeer local;
		local = (PEPeer)foreign_map.get(_foreign);
		if (local != null)
			break MISSING_BLOCK_LABEL_88;
		if (!destroyed)
			break MISSING_BLOCK_LABEL_56;
		Debug.out("Peer added to destroyed peer manager");
		return null;
		local = new PeerForeignDelegate(this, _foreign);
		_foreign.setUserData(org/gudy/azureus2/pluginsimpl/local/peers/PeerManagerImpl, local);
		foreign_map.put(_foreign, local);
		local;
		map;
		JVM INSTR monitorexit ;
		return;
		Exception exception;
		exception;
		throw exception;
	}

	protected PeerForeignDelegate lookupForeignPeer(Peer _foreign)
	{
		return (PeerForeignDelegate)_foreign.getUserData(org/gudy/azureus2/pluginsimpl/local/peers/PeerManagerImpl);
	}

	public List mapForeignPeers(Peer _foreigns[])
	{
		List res = new ArrayList();
		for (int i = 0; i < _foreigns.length; i++)
		{
			PEPeer local = mapForeignPeer(_foreigns[i]);
			if (!res.contains(local))
				res.add(local);
		}

		return res;
	}

	public static PeerImpl getPeerForPEPeer(PEPeer pe_peer)
	{
		PeerImpl peer = (PeerImpl)pe_peer.getData(PEPEER_DATA_KEY);
		if (peer == null)
		{
			peer = new PeerImpl(pe_peer);
			pe_peer.setData(PEPEER_DATA_KEY, peer);
		}
		return peer;
	}

	public int getUploadRateLimitBytesPerSecond()
	{
		return manager.getUploadRateLimitBytesPerSecond();
	}

	public int getDownloadRateLimitBytesPerSecond()
	{
		return manager.getDownloadRateLimitBytesPerSecond();
	}

	public void addListener(final PeerManagerListener l)
	{
		this_mon.enter();
		final Map peer_map = new HashMap();
		PEPeerManagerListener core_listener = new PEPeerManagerListener() {

			final Map val$peer_map;
			final PeerManagerListener val$l;
			final PeerManagerImpl this$0;

			public void peerAdded(PEPeerManager manager, PEPeer peer)
			{
				PeerImpl pi = PeerManagerImpl.getPeerForPEPeer(peer);
				peer_map.put(peer, pi);
				l.peerAdded(PeerManagerImpl.this, pi);
			}

			public void peerRemoved(PEPeerManager manager, PEPeer peer)
			{
				PeerImpl pi = (PeerImpl)peer_map.remove(peer);
				if (pi != null)
					l.peerRemoved(PeerManagerImpl.this, pi);
			}

			public void peerDiscovered(PEPeerManager pepeermanager, PeerItem peeritem, PEPeer pepeer)
			{
			}

			public void peerSentBadData(PEPeerManager pepeermanager, PEPeer pepeer, int i)
			{
			}

			public void destroyed()
			{
			}

			
			{
				this$0 = PeerManagerImpl.this;
				peer_map = map;
				l = peermanagerlistener;
				super();
			}
		};
		listener_map.put(l, core_listener);
		manager.addListener(core_listener);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_70;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void removeListener(PeerManagerListener l)
	{
		this_mon.enter();
		PEPeerManagerListener core_listener = (PEPeerManagerListener)listener_map.remove(l);
		if (core_listener != null)
			manager.removeListener(core_listener);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_55;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void addListener(final PeerManagerListener2 l)
	{
		this_mon.enter();
		final Map peer_map = new HashMap();
		PEPeerManagerListener core_listener = new PEPeerManagerListener() {

			final Map val$peer_map;
			final PeerManagerListener2 val$l;
			final PeerManagerImpl this$0;

			public void peerAdded(PEPeerManager manager, PEPeer peer)
			{
				PeerImpl pi = PeerManagerImpl.getPeerForPEPeer(peer);
				peer_map.put(peer, pi);
				fireEvent(1, pi, null, null);
			}

			public void peerRemoved(PEPeerManager manager, PEPeer peer)
			{
				PeerImpl pi = (PeerImpl)peer_map.remove(peer);
				if (pi != null)
					fireEvent(2, pi, null, null);
			}

			public void peerDiscovered(PEPeerManager manager, PeerItem peer_item, PEPeer finder)
			{
				PeerImpl pi;
				if (finder != null)
				{
					pi = PeerManagerImpl.getPeerForPEPeer(finder);
					peer_map.put(finder, pi);
				} else
				{
					pi = null;
				}
				fireEvent(3, pi, peer_item, null);
			}

			public void peerSentBadData(PEPeerManager manager, PEPeer peer, int pieceNumber)
			{
				PeerImpl pi = PeerManagerImpl.getPeerForPEPeer(peer);
				peer_map.put(peer, pi);
				fireEvent(4, pi, null, new Integer(pieceNumber));
			}

			protected void fireEvent(final int type, final Peer peer, final PeerItem peer_item, final Object data)
			{
				l.eventOccurred(new PeerManagerEvent() {

					final int val$type;
					final Peer val$peer;
					final PeerItem val$peer_item;
					final Object val$data;
					final 3 this$1;

					public PeerManager getPeerManager()
					{
						return 0;
					}

					public int getType()
					{
						return type;
					}

					public Peer getPeer()
					{
						return peer;
					}

					public PeerDescriptor getPeerDescriptor()
					{
						return peer_item;
					}

					public Object getData()
					{
						return data;
					}

					
					{
						this$1 = 3.this;
						type = i;
						peer = peer1;
						peer_item = peeritem;
						data = obj;
						super();
					}
				});
			}

			public void destroyed()
			{
			}

			
			{
				this$0 = PeerManagerImpl.this;
				peer_map = map;
				l = peermanagerlistener2;
				super();
			}
		};
		listener_map.put(l, core_listener);
		manager.addListener(core_listener);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_70;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}

	public void removeListener(PeerManagerListener2 l)
	{
		this_mon.enter();
		PEPeerManagerListener core_listener = (PEPeerManagerListener)listener_map.remove(l);
		if (core_listener != null)
			manager.removeListener(core_listener);
		this_mon.exit();
		break MISSING_BLOCK_LABEL_55;
		Exception exception;
		exception;
		this_mon.exit();
		throw exception;
	}





}

⌨️ 快捷键说明

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