Change TransactionConfidence.getBroadcastBy() to return a set instead of a list iterator. The latter form is not very convenient.

This commit is contained in:
Mike Hearn 2014-10-07 19:26:10 +02:00
parent 059b2679a7
commit c9830cca52
2 changed files with 6 additions and 4 deletions

View file

@ -17,6 +17,7 @@
package org.bitcoinj.core; package org.bitcoinj.core;
import com.google.common.collect.Sets;
import org.bitcoinj.utils.ListenerRegistration; import org.bitcoinj.utils.ListenerRegistration;
import org.bitcoinj.utils.Threading; import org.bitcoinj.utils.Threading;
import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListenableFuture;
@ -25,6 +26,7 @@ import com.google.common.util.concurrent.SettableFuture;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.io.Serializable; import java.io.Serializable;
import java.util.ListIterator; import java.util.ListIterator;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
@ -283,8 +285,9 @@ public class TransactionConfidence implements Serializable {
/** /**
* Returns a snapshot of {@link PeerAddress}es that announced the transaction. * Returns a snapshot of {@link PeerAddress}es that announced the transaction.
*/ */
public ListIterator<PeerAddress> getBroadcastBy() { public Set<PeerAddress> getBroadcastBy() {
return broadcastBy.listIterator(); ListIterator<PeerAddress> iterator = broadcastBy.listIterator();
return Sets.newHashSet(iterator);
} }
/** Returns true if the given address has been seen via markBroadcastBy() */ /** Returns true if the given address has been seen via markBroadcastBy() */

View file

@ -346,8 +346,7 @@ public class WalletProtobufSerializer {
} }
} }
for (ListIterator<PeerAddress> it = confidence.getBroadcastBy(); it.hasNext();) { for (PeerAddress address : confidence.getBroadcastBy()) {
PeerAddress address = it.next();
Protos.PeerAddress proto = Protos.PeerAddress.newBuilder() Protos.PeerAddress proto = Protos.PeerAddress.newBuilder()
.setIpAddress(ByteString.copyFrom(address.getAddr().getAddress())) .setIpAddress(ByteString.copyFrom(address.getAddr().getAddress()))
.setPort(address.getPort()) .setPort(address.getPort())