/** Registers a listener that is invoked when new blocks are downloaded. */ public void addBlocksDownloadedEventListener(BlocksDownloadedEventListener listener) { addBlocksDownloadedEventListener(Threading.USER_THREAD, listener); }
/** Registers a listener that is invoked when new blocks are downloaded. */ public void addBlocksDownloadedEventListener(BlocksDownloadedEventListener listener) { addBlocksDownloadedEventListener(Threading.USER_THREAD, listener); }
/** Registers a listener that is invoked when new blocks are downloaded. */ public void addBlocksDownloadedEventListener(BlocksDownloadedEventListener listener) { addBlocksDownloadedEventListener(Threading.USER_THREAD, listener); }
/** * <p>Adds a listener that will be notified on the given executor when * blocks are downloaded by the download peer.</p> * @see Peer#addBlocksDownloadedEventListener(Executor, BlocksDownloadedEventListener) */ public void addBlocksDownloadedEventListener(Executor executor, BlocksDownloadedEventListener listener) { peersBlocksDownloadedEventListeners.add(new ListenerRegistration<>(checkNotNull(listener), executor)); for (Peer peer : getConnectedPeers()) peer.addBlocksDownloadedEventListener(executor, listener); for (Peer peer : getPendingPeers()) peer.addBlocksDownloadedEventListener(executor, listener); }
/** * <p>Adds a listener that will be notified on the given executor when * blocks are downloaded by the download peer.</p> * @see Peer#addBlocksDownloadedEventListener(Executor, BlocksDownloadedEventListener) */ public void addBlocksDownloadedEventListener(Executor executor, BlocksDownloadedEventListener listener) { peersBlocksDownloadedEventListeners.add(new ListenerRegistration<BlocksDownloadedEventListener>(checkNotNull(listener), executor)); for (Peer peer : getConnectedPeers()) peer.addBlocksDownloadedEventListener(executor, listener); for (Peer peer : getPendingPeers()) peer.addBlocksDownloadedEventListener(executor, listener); }
/** * <p>Adds a listener that will be notified on the given executor when * blocks are downloaded by the download peer.</p> * @see Peer#addBlocksDownloadedEventListener(Executor, BlocksDownloadedEventListener) */ public void addBlocksDownloadedEventListener(Executor executor, BlocksDownloadedEventListener listener) { peersBlocksDownloadedEventListeners.add(new ListenerRegistration<BlocksDownloadedEventListener>(checkNotNull(listener), executor)); for (Peer peer : getConnectedPeers()) peer.addBlocksDownloadedEventListener(executor, listener); for (Peer peer : getPendingPeers()) peer.addBlocksDownloadedEventListener(executor, listener); }
/** * <p>Adds a listener that will be notified on the given executor when * blocks are downloaded by the download peer.</p> * @see Peer#addBlocksDownloadedEventListener(Executor, BlocksDownloadedEventListener) */ public void addBlocksDownloadedEventListener(Executor executor, BlocksDownloadedEventListener listener) { peersBlocksDownloadedEventListeners.add(new ListenerRegistration<>(checkNotNull(listener), executor)); for (Peer peer : getConnectedPeers()) peer.addBlocksDownloadedEventListener(executor, listener); for (Peer peer : getPendingPeers()) peer.addBlocksDownloadedEventListener(executor, listener); }
private void startBlockChainDownloadFromPeer(Peer peer) { lock.lock(); try { setDownloadPeer(peer); if (chainDownloadSpeedCalculator == null) { // Every second, run the calculator which will log how fast we are downloading the chain. chainDownloadSpeedCalculator = new ChainDownloadSpeedCalculator(); executor.scheduleAtFixedRate(chainDownloadSpeedCalculator, 1, 1, TimeUnit.SECONDS); } peer.addBlocksDownloadedEventListener(Threading.SAME_THREAD, chainDownloadSpeedCalculator); // startBlockChainDownload will setDownloadData(true) on itself automatically. peer.startBlockChainDownload(); } finally { lock.unlock(); } }
/** * Register a data event listener against a single peer (i.e. for blockchain * download). Handling registration/deregistration on peer death/add is * outside the scope of these methods. */ private static void addDataEventListenerToPeer(Executor executor, Peer peer, PeerDataEventListener downloadListener) { peer.addBlocksDownloadedEventListener(executor, downloadListener); peer.addChainDownloadStartedEventListener(executor, downloadListener); peer.addGetDataEventListener(executor, downloadListener); peer.addPreMessageReceivedEventListener(executor, downloadListener); }
/** * Register a data event listener against a single peer (i.e. for blockchain * download). Handling registration/deregistration on peer death/add is * outside the scope of these methods. */ private static void addDataEventListenerToPeer(Executor executor, Peer peer, PeerDataEventListener downloadListener) { peer.addBlocksDownloadedEventListener(executor, downloadListener); peer.addChainDownloadStartedEventListener(executor, downloadListener); peer.addGetDataEventListener(executor, downloadListener); peer.addPreMessageReceivedEventListener(executor, downloadListener); }
/** * Register a data event listener against a single peer (i.e. for blockchain * download). Handling registration/deregistration on peer death/add is * outside the scope of these methods. */ private static void addDataEventListenerToPeer(Executor executor, Peer peer, PeerDataEventListener downloadListener) { peer.addBlocksDownloadedEventListener(executor, downloadListener); peer.addChainDownloadStartedEventListener(executor, downloadListener); peer.addGetDataEventListener(executor, downloadListener); peer.addPreMessageReceivedEventListener(executor, downloadListener); }
/** * Register a data event listener against a single peer (i.e. for blockchain * download). Handling registration/deregistration on peer death/add is * outside the scope of these methods. */ private static void addDataEventListenerToPeer(Executor executor, Peer peer, PeerDataEventListener downloadListener) { peer.addBlocksDownloadedEventListener(executor, downloadListener); peer.addChainDownloadStartedEventListener(executor, downloadListener); peer.addGetDataEventListener(executor, downloadListener); peer.addPreMessageReceivedEventListener(executor, downloadListener); }
/** Deprecated: use the more specific event handler methods instead */ @Deprecated public void addEventListener(AbstractPeerEventListener listener, Executor executor) { addBlocksDownloadedEventListener(executor, listener); addChainDownloadStartedEventListener(executor, listener); addConnectedEventListener(executor, listener); addDisconnectedEventListener(executor, listener); addGetDataEventListener(executor, listener); addOnTransactionBroadcastListener(executor, listener); addPreMessageReceivedEventListener(executor, listener); }
/** Deprecated: use the more specific event handler methods instead */ @Deprecated @SuppressWarnings("deprecation") public void addEventListener(AbstractPeerEventListener listener) { addBlocksDownloadedEventListener(Threading.USER_THREAD, listener); addChainDownloadStartedEventListener(Threading.USER_THREAD, listener); addConnectedEventListener(Threading.USER_THREAD, listener); addDisconnectedEventListener(Threading.USER_THREAD, listener); addGetDataEventListener(Threading.USER_THREAD, listener); addOnTransactionBroadcastListener(Threading.USER_THREAD, listener); addPreMessageReceivedEventListener(Threading.USER_THREAD, listener); }
/** Deprecated: use the more specific event handler methods instead */ @Deprecated public void addEventListener(AbstractPeerEventListener listener, Executor executor) { addBlocksDownloadedEventListener(executor, listener); addChainDownloadStartedEventListener(executor, listener); addConnectedEventListener(executor, listener); addDisconnectedEventListener(executor, listener); addGetDataEventListener(executor, listener); addOnTransactionBroadcastListener(executor, listener); addPreMessageReceivedEventListener(executor, listener); }
/** Deprecated: use the more specific event handler methods instead */ @Deprecated @SuppressWarnings("deprecation") public void addEventListener(AbstractPeerEventListener listener) { addBlocksDownloadedEventListener(Threading.USER_THREAD, listener); addChainDownloadStartedEventListener(Threading.USER_THREAD, listener); addConnectedEventListener(Threading.USER_THREAD, listener); addDisconnectedEventListener(Threading.USER_THREAD, listener); addGetDataEventListener(Threading.USER_THREAD, listener); addOnTransactionBroadcastListener(Threading.USER_THREAD, listener); addPreMessageReceivedEventListener(Threading.USER_THREAD, listener); }
/** Deprecated: use the more specific event handler methods instead */ @Deprecated public void addEventListener(AbstractPeerEventListener listener, Executor executor) { addBlocksDownloadedEventListener(executor, listener); addChainDownloadStartedEventListener(executor, listener); addConnectedEventListener(executor, listener); addDisconnectedEventListener(executor, listener); addGetDataEventListener(executor, listener); addOnTransactionBroadcastListener(executor, listener); addPreMessageReceivedEventListener(executor, listener); }
/** Deprecated: use the more specific event handler methods instead */ @Deprecated @SuppressWarnings("deprecation") public void addEventListener(AbstractPeerEventListener listener) { addBlocksDownloadedEventListener(Threading.USER_THREAD, listener); addChainDownloadStartedEventListener(Threading.USER_THREAD, listener); addConnectedEventListener(Threading.USER_THREAD, listener); addDisconnectedEventListener(Threading.USER_THREAD, listener); addGetDataEventListener(Threading.USER_THREAD, listener); addOnTransactionBroadcastListener(Threading.USER_THREAD, listener); addPreMessageReceivedEventListener(Threading.USER_THREAD, listener); }
/** Deprecated: use the more specific event handler methods instead */ @Deprecated public void addEventListener(AbstractPeerEventListener listener, Executor executor) { addBlocksDownloadedEventListener(executor, listener); addChainDownloadStartedEventListener(executor, listener); addConnectedEventListener(executor, listener); addDisconnectedEventListener(executor, listener); addGetDataEventListener(executor, listener); addOnTransactionBroadcastListener(executor, listener); addPreMessageReceivedEventListener(executor, listener); }
/** Deprecated: use the more specific event handler methods instead */ @Deprecated @SuppressWarnings("deprecation") public void addEventListener(AbstractPeerEventListener listener) { addBlocksDownloadedEventListener(Threading.USER_THREAD, listener); addChainDownloadStartedEventListener(Threading.USER_THREAD, listener); addConnectedEventListener(Threading.USER_THREAD, listener); addDisconnectedEventListener(Threading.USER_THREAD, listener); addGetDataEventListener(Threading.USER_THREAD, listener); addOnTransactionBroadcastListener(Threading.USER_THREAD, listener); addPreMessageReceivedEventListener(Threading.USER_THREAD, listener); }