3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-12 10:15:52 +00:00

Remove more usages of EventListenerInvoker in PeerGroup and fix a TODO.

This commit is contained in:
Mike Hearn 2013-03-11 12:21:01 +01:00
parent 081663f857
commit 971c9c5999

View File

@ -20,7 +20,6 @@ package com.google.bitcoin.core;
import com.google.bitcoin.core.Peer.PeerHandler; import com.google.bitcoin.core.Peer.PeerHandler;
import com.google.bitcoin.discovery.PeerDiscovery; import com.google.bitcoin.discovery.PeerDiscovery;
import com.google.bitcoin.discovery.PeerDiscoveryException; import com.google.bitcoin.discovery.PeerDiscoveryException;
import com.google.bitcoin.utils.EventListenerInvoker;
import com.google.bitcoin.utils.Locks; import com.google.bitcoin.utils.Locks;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
@ -744,10 +743,10 @@ public class PeerGroup extends AbstractIdleService {
} }
/** /**
* Start downloading the blockchain from the first available peer. * <p>Start downloading the blockchain from the first available peer.</p>
* <p/> *
* <p>If no peers are currently connected, the download will be started * <p>If no peers are currently connected, the download will be started once a peer starts. If the peer dies,
* once a peer starts. If the peer dies, the download will resume with another peer. * the download will resume with another peer.</p>
* *
* @param listener a listener for chain download events, may not be null * @param listener a listener for chain download events, may not be null
*/ */
@ -828,12 +827,8 @@ public class PeerGroup extends AbstractIdleService {
peer.addEventListener(listener); peer.addEventListener(listener);
} }
setupPingingForNewPeer(peer); setupPingingForNewPeer(peer);
EventListenerInvoker.invoke(peerEventListeners, new EventListenerInvoker<PeerEventListener>() { for (PeerEventListener listener : peerEventListeners)
@Override listener.onPeerConnected(peer, peers.size());
public void invoke(PeerEventListener listener) {
listener.onPeerConnected(peer, peers.size());
}
});
// TODO: Move this into the Peer object itself. // TODO: Move this into the Peer object itself.
peer.addEventListener(new AbstractPeerEventListener() { peer.addEventListener(new AbstractPeerEventListener() {
int filteredBlocksReceivedFromPeer = 0; int filteredBlocksReceivedFromPeer = 0;
@ -1044,16 +1039,14 @@ public class PeerGroup extends AbstractIdleService {
log.error(e.getMessage()); log.error(e.getMessage());
} }
} }
// TODO: Remove peerEventListeners from the Peer here.
peer.removeEventListener(getDataListener); peer.removeEventListener(getDataListener);
for (Wallet wallet : wallets) for (Wallet wallet : wallets) {
peer.removeWallet(wallet); peer.removeWallet(wallet);
EventListenerInvoker.invoke(peerEventListeners, new EventListenerInvoker<PeerEventListener>() { }
@Override for (PeerEventListener listener : peerEventListeners) {
public void invoke(PeerEventListener listener) { listener.onPeerDisconnected(peer, peers.size());
listener.onPeerDisconnected(peer, peers.size()); peer.removeEventListener(listener);
} }
});
} }
private void startBlockChainDownloadFromPeer(Peer peer) { private void startBlockChainDownloadFromPeer(Peer peer) {