mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-07-31 20:11:23 +00:00
PeerGroup: add/remove listeners from active/pending peers as well as the internal list.
This commit is contained in:
@@ -564,6 +564,10 @@ public class PeerGroup extends AbstractExecutionThreadService implements Transac
|
||||
*/
|
||||
public void addEventListener(PeerEventListener listener, Executor executor) {
|
||||
peerEventListeners.add(new ListenerRegistration<PeerEventListener>(checkNotNull(listener), executor));
|
||||
for (Peer peer : getConnectedPeers())
|
||||
peer.addEventListener(listener, executor);
|
||||
for (Peer peer: getPendingPeers())
|
||||
peer.addEventListener(listener, executor);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -576,7 +580,12 @@ public class PeerGroup extends AbstractExecutionThreadService implements Transac
|
||||
|
||||
/** The given event listener will no longer be called with events. */
|
||||
public boolean removeEventListener(PeerEventListener listener) {
|
||||
return ListenerRegistration.removeFromList(listener, peerEventListeners);
|
||||
boolean result = ListenerRegistration.removeFromList(listener, peerEventListeners);
|
||||
for (Peer peer : getConnectedPeers())
|
||||
peer.removeEventListener(listener);
|
||||
for (Peer peer : getPendingPeers())
|
||||
peer.removeEventListener(listener);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user