📄 peermanagerimpl.java
字号:
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 + -