From 00071d3cfcc1bb6485208361b23bc1e94be9bf23 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Fri, 1 Mar 2013 17:27:50 +0100 Subject: [PATCH] Add a couple of convenience features: peerGroup.addAddress(InetAddress) and an AbstractBlockChainListener class. --- .../core/AbstractBlockChainListener.java | 40 +++++++++++++++++++ .../com/google/bitcoin/core/PeerGroup.java | 6 +++ 2 files changed, 46 insertions(+) create mode 100644 core/src/main/java/com/google/bitcoin/core/AbstractBlockChainListener.java diff --git a/core/src/main/java/com/google/bitcoin/core/AbstractBlockChainListener.java b/core/src/main/java/com/google/bitcoin/core/AbstractBlockChainListener.java new file mode 100644 index 00000000..92f5264a --- /dev/null +++ b/core/src/main/java/com/google/bitcoin/core/AbstractBlockChainListener.java @@ -0,0 +1,40 @@ +/** + * Copyright 2013 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.bitcoin.core; + +import java.util.List; + +/** + * Default no-op implementation of {@link BlockChainListener}. + */ +public class AbstractBlockChainListener implements BlockChainListener { + public void notifyNewBestBlock(Block block) throws VerificationException { + } + + public void reorganize(StoredBlock splitPoint, List oldBlocks, List newBlocks) throws VerificationException { + } + + public boolean isTransactionRelevant(Transaction tx) throws ScriptException { + return false; + } + + public void receiveFromBlock(Transaction tx, StoredBlock block, BlockChain.NewBlockType blockType) throws VerificationException { + } + + public void notifyTransactionIsInBlock(Sha256Hash txHash, StoredBlock block, BlockChain.NewBlockType blockType) throws VerificationException { + } +} diff --git a/core/src/main/java/com/google/bitcoin/core/PeerGroup.java b/core/src/main/java/com/google/bitcoin/core/PeerGroup.java index 6df311cc..ebee594b 100644 --- a/core/src/main/java/com/google/bitcoin/core/PeerGroup.java +++ b/core/src/main/java/com/google/bitcoin/core/PeerGroup.java @@ -33,6 +33,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; +import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.SocketAddress; import java.util.*; @@ -443,6 +444,11 @@ public class PeerGroup extends AbstractIdleService { setMaxConnections(newMax); } + /** Convenience method for addAddress(new PeerAddress(address, params.port)); */ + public void addAddress(InetAddress address) { + addAddress(new PeerAddress(address, params.port)); + } + /** * Add addresses from a discovery source to the list of potential peers to connect to. If max connections has not * been configured, or set to zero, then it's set to the default at this point.