Removing star and unused imports with checkstyle

This commit is contained in:
napoly 2023-03-14 20:28:47 +01:00 committed by woodser
parent ce05710537
commit 3b8f19c4ce
1206 changed files with 5197 additions and 6620 deletions

View file

@ -17,21 +17,17 @@
package haveno.network;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import com.google.common.base.Charsets;
import java.net.InetAddress;
import java.net.Socket;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;
/**
* Performs DNS lookup over Socks5 proxy that implements the RESOLVE extension.
* At this time, Tor is only known Socks5 proxy that supports it.

View file

@ -17,6 +17,9 @@
package haveno.network;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import haveno.common.util.Utilities;
import lombok.extern.slf4j.Slf4j;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.net.discovery.DnsDiscovery;
import org.bitcoinj.net.discovery.MultiplexingDiscovery;
@ -25,18 +28,13 @@ import org.bitcoinj.net.discovery.PeerDiscoveryException;
import org.bitcoinj.utils.ContextPropagatingThreadFactory;
import org.bitcoinj.utils.DaemonThreadFactory;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import haveno.common.util.Utilities;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j;
/**
* <p>Supports peer discovery through DNS over Socks5 proxy with RESOLVE DNS extension.</p>
* <p>

View file

@ -17,22 +17,19 @@
package haveno.network;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import lombok.extern.slf4j.Slf4j;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.net.discovery.PeerDiscovery;
import org.bitcoinj.net.discovery.PeerDiscoveryException;
import org.bitcoinj.net.discovery.SeedPeers;
import org.bitcoinj.params.MainNetParams;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j;
/**
* This class implements various types of discovery over Socks5,
* which can be enabled/disabled via constructor flag.

View file

@ -17,19 +17,16 @@
package haveno.network;
import com.google.inject.Inject;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import haveno.common.config.Config;
import haveno.network.p2p.network.NetworkNode;
import com.google.inject.Inject;
import javax.inject.Named;
import java.net.UnknownHostException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import javax.inject.Named;
import java.net.UnknownHostException;
/**
* Provides Socks5Proxies for the bitcoin network and http requests

View file

@ -17,14 +17,12 @@
package haveno.network;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import org.bitcoinj.core.NetworkParameters;
import org.bitcoinj.net.discovery.PeerDiscovery;
import org.bitcoinj.net.discovery.PeerDiscoveryException;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import java.net.InetSocketAddress;
import java.util.concurrent.TimeUnit;
/**

View file

@ -18,11 +18,11 @@
package haveno.network.crypto;
import haveno.common.proto.network.NetworkEnvelope;
import java.security.PublicKey;
import lombok.EqualsAndHashCode;
import lombok.Value;
import java.security.PublicKey;
@EqualsAndHashCode
@Value
public final class DecryptedDataTuple {

View file

@ -17,8 +17,6 @@
package haveno.network.crypto;
import static haveno.common.crypto.Encryption.decryptSecretKey;
import com.google.protobuf.InvalidProtocolBufferException;
import haveno.common.crypto.CryptoException;
import haveno.common.crypto.Encryption;
@ -31,15 +29,15 @@ import haveno.common.proto.ProtobufferException;
import haveno.common.proto.network.NetworkEnvelope;
import haveno.common.proto.network.NetworkProtoResolver;
import haveno.network.p2p.DecryptedMessageWithPubKey;
import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import javax.crypto.SecretKey;
import javax.inject.Inject;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.PublicKey;
import lombok.extern.slf4j.Slf4j;
import static haveno.common.crypto.Encryption.decryptSecretKey;
@Slf4j
public class EncryptionService {

View file

@ -17,9 +17,8 @@
package haveno.network.http;
import java.io.IOException;
import javax.annotation.Nullable;
import java.io.IOException;
public interface HttpClient {
void setBaseUrl(String baseUrl);

View file

@ -17,6 +17,13 @@
package haveno.network.http;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import haveno.common.app.Version;
import haveno.common.util.Utilities;
import haveno.network.Socks5ProxyProvider;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
@ -32,33 +39,20 @@ import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.ssl.SSLContexts;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import haveno.common.app.Version;
import haveno.common.util.Utilities;
import haveno.network.Socks5ProxyProvider;
import javax.annotation.Nullable;
import javax.inject.Inject;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Nullable;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;

View file

@ -21,12 +21,11 @@ import org.apache.http.HttpHost;
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
import org.apache.http.protocol.HttpContext;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.Socket;
import java.io.IOException;
// This class is adapted from
// http://stackoverflow.com/a/25203021/5616248
//

View file

@ -22,13 +22,11 @@ import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.protocol.HttpContext;
import javax.net.ssl.SSLContext;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.Socket;
import java.io.IOException;
// This class is adapted from
// http://stackoverflow.com/a/25203021/5616248
//

View file

@ -23,15 +23,14 @@ import haveno.common.proto.network.NetworkEnvelope;
import haveno.common.proto.persistable.PersistablePayload;
import haveno.network.p2p.mailbox.MailboxMessage;
import haveno.network.p2p.storage.payload.ExpirablePayload;
import java.util.Optional;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Nullable;
import java.util.Optional;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
// TODO ExpirablePayload has no effect here as it is either a direct msg or packed into MailboxStoragePayload
// We could extend the TTL by setting the TTL in MailboxStoragePayload from the type of msg which gets into the

View file

@ -25,14 +25,14 @@ import haveno.common.proto.network.NetworkEnvelope;
import haveno.common.proto.network.NetworkProtoResolver;
import haveno.network.p2p.storage.messages.BroadcastMessage;
import haveno.network.p2p.storage.payload.CapabilityRequiringPayload;
import lombok.EqualsAndHashCode;
import lombok.Value;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import lombok.EqualsAndHashCode;
import lombok.Value;
@EqualsAndHashCode(callSuper = true)
@Value
public final class BundleOfEnvelopes extends BroadcastMessage implements ExtendedDataSizePermission, CapabilityRequiringPayload {

View file

@ -23,10 +23,10 @@ import haveno.common.proto.ProtobufferException;
import haveno.common.proto.network.NetworkEnvelope;
import haveno.common.proto.network.NetworkProtoResolver;
import haveno.common.proto.persistable.PersistablePayload;
import java.security.PublicKey;
import lombok.Value;
import java.security.PublicKey;
@Value
public final class DecryptedMessageWithPubKey implements PersistablePayload {
private final NetworkEnvelope networkEnvelope;

View file

@ -27,14 +27,13 @@ import haveno.network.p2p.network.NewTor;
import haveno.network.p2p.network.RunningTor;
import haveno.network.p2p.network.TorMode;
import haveno.network.p2p.network.TorNetworkNode;
import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Provider;
import java.io.File;
import javax.annotation.Nullable;
public class NetworkNodeProvider implements Provider<NetworkNode> {
private final NetworkNode networkNode;

View file

@ -17,19 +17,18 @@
package haveno.network.p2p;
import java.util.regex.Pattern;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import static com.google.common.base.Preconditions.checkArgument;
import haveno.common.consensus.UsedForTradeContractJson;
import haveno.common.crypto.Hash;
import haveno.common.proto.network.NetworkPayload;
import haveno.common.proto.persistable.PersistablePayload;
import haveno.common.util.JsonExclude;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import java.util.regex.Pattern;
import static com.google.common.base.Preconditions.checkArgument;
@Getter
@EqualsAndHashCode

View file

@ -35,15 +35,28 @@ import haveno.network.p2p.storage.P2PDataStorage;
import haveno.network.p2p.storage.persistence.AppendOnlyDataStoreService;
import haveno.network.p2p.storage.persistence.ProtectedDataStoreService;
import haveno.network.p2p.storage.persistence.ResourceDataStoreService;
import java.time.Clock;
import java.io.File;
import java.time.Clock;
import java.util.List;
import static com.google.inject.name.Names.named;
import static com.google.inject.util.Providers.of;
import static haveno.common.config.Config.*;
import static haveno.common.config.Config.BAN_LIST;
import static haveno.common.config.Config.MAX_CONNECTIONS;
import static haveno.common.config.Config.NODE_PORT;
import static haveno.common.config.Config.REPUBLISH_MAILBOX_ENTRIES;
import static haveno.common.config.Config.SOCKS_5_PROXY_BTC_ADDRESS;
import static haveno.common.config.Config.SOCKS_5_PROXY_HTTP_ADDRESS;
import static haveno.common.config.Config.TORRC_FILE;
import static haveno.common.config.Config.TORRC_OPTIONS;
import static haveno.common.config.Config.TOR_CONTROL_COOKIE_FILE;
import static haveno.common.config.Config.TOR_CONTROL_PASSWORD;
import static haveno.common.config.Config.TOR_CONTROL_PORT;
import static haveno.common.config.Config.TOR_CONTROL_USE_SAFE_COOKIE_AUTH;
import static haveno.common.config.Config.TOR_DIR;
import static haveno.common.config.Config.TOR_STREAM_ISOLATION;
import static haveno.common.config.Config.USE_LOCALHOST_FOR_P2P;
public class P2PModule extends AppModule {

View file

@ -17,6 +17,11 @@
package haveno.network.p2p;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.SettableFuture;
import com.google.inject.Inject;
import haveno.common.UserThread;
import haveno.common.app.Capabilities;
@ -46,21 +51,19 @@ import haveno.network.p2p.storage.payload.PersistableNetworkPayload;
import haveno.network.p2p.storage.payload.ProtectedStorageEntry;
import haveno.network.p2p.storage.payload.ProtectedStoragePayload;
import haveno.network.utils.CapabilityUtils;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.SettableFuture;
import org.fxmisc.easybind.EasyBind;
import org.fxmisc.easybind.Subscription;
import org.fxmisc.easybind.monadic.MonadicBinding;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ReadOnlyIntegerProperty;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleIntegerProperty;
import lombok.Getter;
import org.fxmisc.easybind.EasyBind;
import org.fxmisc.easybind.Subscription;
import org.fxmisc.easybind.monadic.MonadicBinding;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
import java.util.Optional;
@ -69,14 +72,6 @@ import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import lombok.Getter;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;

View file

@ -22,12 +22,12 @@ import haveno.common.app.Version;
import haveno.common.crypto.SealedAndSigned;
import haveno.common.proto.network.NetworkEnvelope;
import haveno.network.p2p.mailbox.MailboxMessage;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import lombok.EqualsAndHashCode;
import lombok.Value;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import static com.google.common.base.Preconditions.checkNotNull;
@EqualsAndHashCode(callSuper = true)

View file

@ -18,6 +18,7 @@
package haveno.network.p2p;
import haveno.common.app.Capabilities;
import javax.annotation.Nullable;
public interface SupportedCapabilitiesMessage {

View file

@ -20,13 +20,13 @@ package haveno.network.p2p.mailbox;
import haveno.common.proto.persistable.PersistableEnvelope;
import haveno.common.util.CollectionUtils;
import java.util.HashMap;
import java.util.Map;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.Map;
@Slf4j
@EqualsAndHashCode
public class IgnoredMailboxMap implements PersistableEnvelope {

View file

@ -20,6 +20,7 @@ package haveno.network.p2p.mailbox;
import haveno.common.persistence.PersistenceManager;
import haveno.common.proto.persistable.PersistedDataHost;
import haveno.network.p2p.storage.payload.MailboxStoragePayload;
import javax.inject.Inject;
import javax.inject.Singleton;

View file

@ -22,13 +22,11 @@ import haveno.common.proto.network.NetworkProtoResolver;
import haveno.common.proto.persistable.PersistablePayload;
import haveno.network.p2p.DecryptedMessageWithPubKey;
import haveno.network.p2p.storage.payload.ProtectedMailboxStorageEntry;
import java.time.Clock;
import java.util.Optional;
import lombok.Value;
import javax.annotation.Nullable;
import java.time.Clock;
import java.util.Optional;
@Value
public class MailboxItem implements PersistablePayload {

View file

@ -21,14 +21,14 @@ import com.google.protobuf.Message;
import haveno.common.proto.ProtobufferException;
import haveno.common.proto.network.NetworkProtoResolver;
import haveno.common.proto.persistable.PersistableList;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@EqualsAndHashCode(callSuper = true)
public class MailboxMessageList extends PersistableList<MailboxItem> {

View file

@ -17,10 +17,6 @@
package haveno.network.p2p.mailbox;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;
import com.google.common.base.Joiner;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
@ -58,10 +54,15 @@ import haveno.network.p2p.storage.payload.MailboxStoragePayload;
import haveno.network.p2p.storage.payload.ProtectedMailboxStorageEntry;
import haveno.network.p2p.storage.payload.ProtectedStorageEntry;
import haveno.network.utils.CapabilityUtils;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;
import java.security.PublicKey;
import java.time.Clock;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Collection;
@ -78,12 +79,6 @@ import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import javax.annotation.Nullable;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;

View file

@ -17,10 +17,10 @@
package haveno.network.p2p.network;
import java.util.List;
import org.jetbrains.annotations.Nullable;
import java.util.List;
public interface BridgeAddressProvider {
@Nullable
List<String> getBridgeAddresses();

View file

@ -17,6 +17,8 @@
package haveno.network.p2p.network;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.Uninterruptibles;
import com.google.protobuf.InvalidProtocolBufferException;
import haveno.common.Proto;
import haveno.common.UserThread;
@ -42,25 +44,23 @@ import haveno.network.p2p.storage.messages.AddPersistableNetworkPayloadMessage;
import haveno.network.p2p.storage.payload.CapabilityRequiringPayload;
import haveno.network.p2p.storage.payload.PersistableNetworkPayload;
import haveno.network.p2p.storage.payload.ProtectedStoragePayload;
import javax.inject.Inject;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.Uninterruptibles;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.Nullable;
import java.net.Socket;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import javax.inject.Inject;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InvalidClassException;
import java.io.OptionalDataException;
import java.io.StreamCorruptedException;
import java.lang.ref.WeakReference;
import java.net.Socket;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@ -79,13 +79,6 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.lang.ref.WeakReference;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.Nullable;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;

View file

@ -24,12 +24,12 @@ import haveno.network.p2p.BundleOfEnvelopes;
import haveno.network.p2p.InitialDataRequest;
import haveno.network.p2p.InitialDataResponse;
import haveno.network.p2p.PrefixedSealedAndSignedMessage;
import java.util.concurrent.TimeUnit;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import java.util.concurrent.TimeUnit;
/**
* Holds state of connection. Data is applied from message handlers which are called on UserThread, so that class
* is in a single threaded context.

View file

@ -23,13 +23,13 @@ import haveno.network.p2p.BundleOfEnvelopes;
import haveno.network.p2p.InitialDataRequest;
import haveno.network.p2p.InitialDataResponse;
import haveno.network.p2p.NodeAddress;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class ConnectionStatistics implements MessageListener {
private final Connection connection;

View file

@ -18,10 +18,10 @@
package haveno.network.p2p.network;
import haveno.common.proto.network.NetworkProtoResolver;
import java.net.Socket;
import org.jetbrains.annotations.Nullable;
import java.net.Socket;
public class InboundConnection extends Connection {
public InboundConnection(Socket socket,
MessageListener messageListener,

View file

@ -20,17 +20,14 @@ package haveno.network.p2p.network;
import haveno.common.UserThread;
import haveno.common.proto.network.NetworkProtoResolver;
import haveno.network.p2p.NodeAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.jetbrains.annotations.Nullable;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.TimeUnit;
// Run in UserThread
public class LocalhostNetworkNode extends NetworkNode {

View file

@ -18,6 +18,7 @@
package haveno.network.p2p.network;
import haveno.network.p2p.NodeAddress;
import java.util.function.Function;
public interface NetworkFilter {

View file

@ -17,6 +17,12 @@
package haveno.network.p2p.network;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListeningExecutorService;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.SettableFuture;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import haveno.common.Timer;
import haveno.common.UserThread;
@ -25,22 +31,17 @@ import haveno.common.proto.network.NetworkEnvelope;
import haveno.common.proto.network.NetworkProtoResolver;
import haveno.common.util.Utilities;
import haveno.network.p2p.NodeAddress;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListeningExecutorService;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.SettableFuture;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.ReadOnlyObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import java.net.ServerSocket;
import java.net.Socket;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
import java.util.HashSet;
import java.util.Optional;
@ -51,12 +52,6 @@ import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import static com.google.common.base.Preconditions.checkNotNull;
// Run in UserThread

View file

@ -17,6 +17,13 @@
package haveno.network.p2p.network;
import lombok.extern.slf4j.Slf4j;
import org.berndpruenster.netlayer.tor.NativeTor;
import org.berndpruenster.netlayer.tor.Tor;
import org.berndpruenster.netlayer.tor.TorCtlException;
import org.berndpruenster.netlayer.tor.Torrc;
import javax.annotation.Nullable;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@ -26,15 +33,6 @@ import java.util.Date;
import java.util.LinkedHashMap;
import java.util.stream.Collectors;
import org.berndpruenster.netlayer.tor.NativeTor;
import org.berndpruenster.netlayer.tor.Tor;
import org.berndpruenster.netlayer.tor.TorCtlException;
import org.berndpruenster.netlayer.tor.Torrc;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Nullable;
/**
* This class creates a brand new instance of the Tor onion router.
*

View file

@ -19,10 +19,10 @@ package haveno.network.p2p.network;
import haveno.common.proto.network.NetworkProtoResolver;
import haveno.network.p2p.NodeAddress;
import java.net.Socket;
import org.jetbrains.annotations.Nullable;
import java.net.Socket;
public class OutboundConnection extends Connection {
public OutboundConnection(Socket socket,
MessageListener messageListener,

View file

@ -19,13 +19,12 @@ package haveno.network.p2p.network;
import haveno.common.proto.network.NetworkEnvelope;
import haveno.network.p2p.peers.keepalive.messages.KeepAliveMessage;
import java.io.IOException;
import java.io.OutputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.concurrent.NotThreadSafe;
import java.io.IOException;
import java.io.OutputStream;
@NotThreadSafe
class ProtoOutputStream {

View file

@ -17,15 +17,14 @@
package haveno.network.p2p.network;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import lombok.extern.slf4j.Slf4j;
import org.berndpruenster.netlayer.tor.ExternalTor;
import org.berndpruenster.netlayer.tor.Tor;
import org.berndpruenster.netlayer.tor.TorCtlException;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
import java.io.IOException;
import java.util.Date;
/**
* This class creates a brand new instance of the Tor onion router.

View file

@ -17,19 +17,17 @@
package haveno.network.p2p.network;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import haveno.common.proto.network.NetworkProtoResolver;
import java.io.IOException;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.jetbrains.annotations.Nullable;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
// Runs in UserThread
class Server implements Runnable {

View file

@ -17,22 +17,22 @@
package haveno.network.p2p.network;
import haveno.common.UserThread;
import haveno.common.proto.network.NetworkEnvelope;
import haveno.common.util.Utilities;
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.LongProperty;
import javafx.beans.property.SimpleDoubleProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleLongProperty;
import haveno.common.UserThread;
import haveno.common.proto.network.NetworkEnvelope;
import haveno.common.util.Utilities;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j;
/**
* Network statistics per connection. As we are also interested in total network statistics
* we use static properties to get traffic of all connections combined.

View file

@ -18,17 +18,15 @@
package haveno.network.p2p.network;
import haveno.common.proto.network.NetworkEnvelope;
import java.io.OutputStream;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.concurrent.ThreadSafe;
import java.io.OutputStream;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
@ThreadSafe
class SynchronizedProtoOutputStream extends ProtoOutputStream {

View file

@ -17,9 +17,10 @@
package haveno.network.p2p.network;
import haveno.common.file.FileUtil;
import org.berndpruenster.netlayer.tor.Tor;
import org.berndpruenster.netlayer.tor.TorCtlException;
import haveno.common.file.FileUtil;
import java.io.File;
import java.io.IOException;

View file

@ -17,11 +17,9 @@
package haveno.network.p2p.network;
import org.berndpruenster.netlayer.tor.HiddenServiceSocket;
import org.berndpruenster.netlayer.tor.Tor;
import org.berndpruenster.netlayer.tor.TorCtlException;
import org.berndpruenster.netlayer.tor.TorSocket;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import com.runjva.sourceforge.jsocks.protocol.Socks5Proxy;
import haveno.common.Timer;
import haveno.common.UserThread;
@ -29,30 +27,24 @@ import haveno.common.proto.network.NetworkProtoResolver;
import haveno.common.util.Utilities;
import haveno.network.p2p.NodeAddress;
import haveno.network.utils.Utils;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import org.fxmisc.easybind.EasyBind;
import org.fxmisc.easybind.monadic.MonadicBinding;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;
import java.security.SecureRandom;
import java.net.Socket;
import java.io.IOException;
import java.util.Base64;
import java.util.Date;
import java.util.concurrent.TimeUnit;
import org.berndpruenster.netlayer.tor.HiddenServiceSocket;
import org.berndpruenster.netlayer.tor.Tor;
import org.berndpruenster.netlayer.tor.TorCtlException;
import org.berndpruenster.netlayer.tor.TorSocket;
import org.fxmisc.easybind.EasyBind;
import org.fxmisc.easybind.monadic.MonadicBinding;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.jetbrains.annotations.Nullable;
import java.io.IOException;
import java.net.Socket;
import java.security.SecureRandom;
import java.util.Base64;
import java.util.Date;
import java.util.concurrent.TimeUnit;
import static com.google.common.base.Preconditions.checkArgument;

View file

@ -28,6 +28,9 @@ import haveno.network.p2p.NodeAddress;
import haveno.network.p2p.network.Connection;
import haveno.network.p2p.network.NetworkNode;
import haveno.network.p2p.storage.messages.BroadcastMessage;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@ -35,10 +38,6 @@ import java.util.UUID;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
@Slf4j
public class BroadcastHandler implements PeerManager.Listener {
private static final long BASE_TIMEOUT_MS = TimeUnit.SECONDS.toMillis(120);

View file

@ -22,8 +22,11 @@ import haveno.common.UserThread;
import haveno.network.p2p.NodeAddress;
import haveno.network.p2p.network.NetworkNode;
import haveno.network.p2p.storage.messages.BroadcastMessage;
import javax.inject.Inject;
import lombok.Value;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.Nullable;
import javax.inject.Inject;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@ -31,11 +34,6 @@ import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import lombok.Value;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.Nullable;
@Slf4j
public class Broadcaster implements BroadcastHandler.ResultHandler {
private static final long BROADCAST_INTERVAL_MS = 2000;

View file

@ -17,9 +17,6 @@
package haveno.network.p2p.peers;
import javax.inject.Inject;
import javax.inject.Named;
import com.google.common.annotations.VisibleForTesting;
import haveno.common.ClockWatcher;
import haveno.common.Timer;
@ -40,6 +37,12 @@ import haveno.network.p2p.network.RuleViolation;
import haveno.network.p2p.peers.peerexchange.Peer;
import haveno.network.p2p.peers.peerexchange.PeerList;
import haveno.network.p2p.seed.SeedNodeRepository;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Named;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
@ -54,11 +57,6 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Nullable;
import static com.google.common.base.Preconditions.checkArgument;
@Slf4j

View file

@ -29,13 +29,12 @@ import haveno.network.p2p.network.NetworkNode;
import haveno.network.p2p.peers.getdata.messages.GetDataRequest;
import haveno.network.p2p.peers.getdata.messages.GetDataResponse;
import haveno.network.p2p.storage.P2PDataStorage;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
@Slf4j
public class GetDataRequestHandler {
private static final long TIMEOUT = 180;

View file

@ -38,17 +38,16 @@ import haveno.network.p2p.peers.getdata.messages.GetDataResponse;
import haveno.network.p2p.storage.P2PDataStorage;
import haveno.network.p2p.storage.payload.PersistableNetworkPayload;
import haveno.network.p2p.storage.payload.ProtectedStorageEntry;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@Slf4j
class RequestDataHandler implements MessageListener {
private static final long TIMEOUT = 180;

View file

@ -32,8 +32,10 @@ import haveno.network.p2p.peers.getdata.messages.GetDataRequest;
import haveno.network.p2p.peers.peerexchange.Peer;
import haveno.network.p2p.seed.SeedNodeRepository;
import haveno.network.p2p.storage.P2PDataStorage;
import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.Nullable;
import javax.inject.Inject;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@ -44,10 +46,6 @@ import java.util.Optional;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.Nullable;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;

View file

@ -20,13 +20,12 @@ package haveno.network.p2p.peers.getdata.messages;
import haveno.common.proto.network.NetworkEnvelope;
import haveno.network.p2p.ExtendedDataSizePermission;
import haveno.network.p2p.InitialDataRequest;
import java.util.Set;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
import javax.annotation.Nullable;
import java.util.Set;
@EqualsAndHashCode(callSuper = true)
@Getter

View file

@ -29,15 +29,14 @@ import haveno.network.p2p.SupportedCapabilitiesMessage;
import haveno.network.p2p.storage.payload.PersistableNetworkPayload;
import haveno.network.p2p.storage.payload.ProtectedMailboxStorageEntry;
import haveno.network.p2p.storage.payload.ProtectedStorageEntry;
import java.util.Set;
import java.util.stream.Collectors;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import java.util.Set;
import java.util.stream.Collectors;
@Slf4j
@EqualsAndHashCode(callSuper = true)
@Value

View file

@ -17,22 +17,20 @@
package haveno.network.p2p.peers.getdata.messages;
import protobuf.NetworkEnvelope;
import com.google.protobuf.ByteString;
import haveno.common.app.Version;
import haveno.common.proto.ProtoUtil;
import haveno.network.p2p.NodeAddress;
import haveno.network.p2p.SendersNodeAddressMessage;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.extern.slf4j.Slf4j;
import protobuf.NetworkEnvelope;
import javax.annotation.Nullable;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@Slf4j
@EqualsAndHashCode(callSuper = true)

View file

@ -17,23 +17,21 @@
package haveno.network.p2p.peers.getdata.messages;
import protobuf.NetworkEnvelope;
import com.google.protobuf.ByteString;
import haveno.common.app.Capabilities;
import haveno.common.app.Version;
import haveno.common.proto.ProtoUtil;
import haveno.network.p2p.AnonymousMessage;
import haveno.network.p2p.SupportedCapabilitiesMessage;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.extern.slf4j.Slf4j;
import protobuf.NetworkEnvelope;
import javax.annotation.Nullable;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@Slf4j
@EqualsAndHashCode(callSuper = true)

View file

@ -30,15 +30,13 @@ import haveno.network.p2p.network.NetworkNode;
import haveno.network.p2p.peers.PeerManager;
import haveno.network.p2p.peers.keepalive.messages.Ping;
import haveno.network.p2p.peers.keepalive.messages.Pong;
import java.util.Random;
import java.util.concurrent.TimeUnit;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.jetbrains.annotations.NotNull;
import javax.annotation.Nullable;
import java.util.Random;
import java.util.concurrent.TimeUnit;
class KeepAliveHandler implements MessageListener {
private static final Logger log = LoggerFactory.getLogger(KeepAliveHandler.class);

View file

@ -17,9 +17,6 @@
package haveno.network.p2p.peers.keepalive;
import javax.inject.Inject;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.SettableFuture;
@ -36,14 +33,13 @@ import haveno.network.p2p.network.OutboundConnection;
import haveno.network.p2p.peers.PeerManager;
import haveno.network.p2p.peers.keepalive.messages.Ping;
import haveno.network.p2p.peers.keepalive.messages.Pong;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.jetbrains.annotations.NotNull;
import javax.inject.Inject;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class KeepAliveManager implements MessageListener, ConnectionListener, PeerManager.Listener {
private static final Logger log = LoggerFactory.getLogger(KeepAliveManager.class);

View file

@ -29,13 +29,12 @@ import haveno.network.p2p.network.NetworkNode;
import haveno.network.p2p.peers.PeerManager;
import haveno.network.p2p.peers.peerexchange.messages.GetPeersRequest;
import haveno.network.p2p.peers.peerexchange.messages.GetPeersResponse;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import java.util.HashSet;
import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import static com.google.common.base.Preconditions.checkArgument;
@Slf4j

View file

@ -23,13 +23,12 @@ import haveno.common.proto.network.NetworkPayload;
import haveno.common.proto.persistable.PersistablePayload;
import haveno.network.p2p.NodeAddress;
import haveno.network.p2p.network.SupportedCapabilitiesListener;
import java.util.Date;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Nullable;
import java.util.Date;
@Getter
@Slf4j

View file

@ -32,15 +32,13 @@ import haveno.network.p2p.network.NetworkNode;
import haveno.network.p2p.peers.PeerManager;
import haveno.network.p2p.peers.peerexchange.messages.GetPeersRequest;
import haveno.network.p2p.peers.peerexchange.messages.GetPeersResponse;
import java.util.HashSet;
import java.util.Random;
import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import javax.annotation.Nullable;
import java.util.HashSet;
import java.util.Random;
import java.util.concurrent.TimeUnit;
@Slf4j
class PeerExchangeHandler implements MessageListener {

View file

@ -17,8 +17,6 @@
package haveno.network.p2p.peers.peerexchange;
import javax.inject.Inject;
import com.google.common.base.Preconditions;
import haveno.common.Timer;
import haveno.common.UserThread;
@ -32,6 +30,10 @@ import haveno.network.p2p.network.NetworkNode;
import haveno.network.p2p.peers.PeerManager;
import haveno.network.p2p.peers.peerexchange.messages.GetPeersRequest;
import haveno.network.p2p.seed.SeedNodeRepository;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Nullable;
import javax.inject.Inject;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@ -45,10 +47,6 @@ import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Nullable;
@Slf4j
public class PeerExchangeManager implements MessageListener, ConnectionListener, PeerManager.Listener {
private static final long RETRY_DELAY_SEC = 10;

View file

@ -19,15 +19,15 @@ package haveno.network.p2p.peers.peerexchange;
import com.google.protobuf.Message;
import haveno.common.proto.persistable.PersistableEnvelope;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@EqualsAndHashCode
public class PeerList implements PersistableEnvelope {

View file

@ -24,15 +24,14 @@ import haveno.network.p2p.NodeAddress;
import haveno.network.p2p.SendersNodeAddressMessage;
import haveno.network.p2p.SupportedCapabilitiesMessage;
import haveno.network.p2p.peers.peerexchange.Peer;
import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import lombok.EqualsAndHashCode;
import lombok.Value;
import javax.annotation.Nullable;
import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkNotNull;

View file

@ -23,15 +23,14 @@ import haveno.common.proto.network.NetworkEnvelope;
import haveno.network.p2p.NodeAddress;
import haveno.network.p2p.SupportedCapabilitiesMessage;
import haveno.network.p2p.peers.peerexchange.Peer;
import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import lombok.EqualsAndHashCode;
import lombok.Value;
import javax.annotation.Nullable;
import java.util.HashSet;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@EqualsAndHashCode(callSuper = true)
@Value

View file

@ -18,6 +18,7 @@
package haveno.network.p2p.seed;
import haveno.network.p2p.NodeAddress;
import java.util.Collection;
public interface SeedNodeRepository {

View file

@ -18,6 +18,7 @@
package haveno.network.p2p.storage;
import haveno.network.p2p.storage.payload.ProtectedStorageEntry;
import java.util.Collection;
public interface HashMapChangedListener {

View file

@ -17,6 +17,9 @@
package haveno.network.p2p.storage;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Maps;
import com.google.inject.name.Named;
import com.google.protobuf.ByteString;
import haveno.common.Timer;
import haveno.common.UserThread;
@ -69,24 +72,20 @@ import haveno.network.p2p.storage.persistence.ProtectedDataStoreService;
import haveno.network.p2p.storage.persistence.RemovedPayloadsService;
import haveno.network.p2p.storage.persistence.ResourceDataStoreService;
import haveno.network.p2p.storage.persistence.SequenceNumberMap;
import com.google.inject.name.Named;
import javax.inject.Inject;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Maps;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import org.fxmisc.easybind.EasyBind;
import org.fxmisc.easybind.monadic.MonadicBinding;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;
import javax.annotation.Nullable;
import javax.inject.Inject;
import java.security.KeyPair;
import java.security.PublicKey;
import java.time.Clock;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@ -105,13 +104,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Function;
import java.util.stream.Collectors;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Nullable;
@Slf4j
public class P2PDataStorage implements MessageListener, ConnectionListener, PersistedDataHost {
/**

View file

@ -23,21 +23,18 @@ import haveno.common.util.CollectionUtils;
import haveno.common.util.ExtraDataMapValidator;
import haveno.network.p2p.PrefixedSealedAndSignedMessage;
import haveno.network.p2p.storage.messages.AddOncePayload;
import java.security.PublicKey;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import javax.annotation.Nullable;
import java.security.PublicKey;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import javax.annotation.Nullable;
/**
* Payload which supports a time to live and sender and receiver's pub keys for storage operations.
* It differs from the ProtectedExpirableMessage in the way that the sender is permitted to do an add operation

View file

@ -21,14 +21,13 @@ import com.google.protobuf.ByteString;
import haveno.common.crypto.Sig;
import haveno.common.proto.network.NetworkProtoResolver;
import haveno.common.util.Utilities;
import java.security.PublicKey;
import java.time.Clock;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.extern.slf4j.Slf4j;
import java.security.PublicKey;
import java.time.Clock;
@Slf4j
@EqualsAndHashCode(callSuper = true)
@Value

View file

@ -17,6 +17,7 @@
package haveno.network.p2p.storage.payload;
import com.google.common.base.Preconditions;
import com.google.protobuf.ByteString;
import com.google.protobuf.Message;
import haveno.common.crypto.CryptoException;
@ -26,18 +27,14 @@ import haveno.common.proto.network.NetworkProtoResolver;
import haveno.common.proto.persistable.PersistablePayload;
import haveno.common.util.Utilities;
import haveno.network.p2p.storage.P2PDataStorage;
import com.google.common.base.Preconditions;
import java.security.PublicKey;
import java.time.Clock;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import java.security.PublicKey;
import java.time.Clock;
@Getter
@EqualsAndHashCode
@Slf4j

View file

@ -19,11 +19,10 @@ package haveno.network.p2p.storage.payload;
import haveno.common.proto.network.NetworkPayload;
import haveno.common.proto.network.NetworkProtoResolver;
import java.security.PublicKey;
import java.util.Map;
import javax.annotation.Nullable;
import java.security.PublicKey;
import java.util.Map;
/**
* Messages which support ownership protection (using signatures) and a time to live

View file

@ -17,20 +17,19 @@
package haveno.network.p2p.storage.persistence;
import javax.inject.Inject;
import com.google.common.annotations.VisibleForTesting;
import haveno.network.p2p.storage.P2PDataStorage;
import haveno.network.p2p.storage.payload.PersistableNetworkPayload;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import javax.inject.Inject;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
/**
* Used for PersistableNetworkPayload data which gets appended to a map storage.
*/

View file

@ -23,14 +23,13 @@ import haveno.common.app.Version;
import haveno.common.persistence.PersistenceManager;
import haveno.network.p2p.storage.P2PDataStorage;
import haveno.network.p2p.storage.payload.PersistableNetworkPayload;
import java.io.File;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import lombok.extern.slf4j.Slf4j;
/**
* Manages historical data stores tagged with the release versions.
* New data is added to the default map in the store (live data). Historical data is created from resource files.

View file

@ -21,12 +21,11 @@ import haveno.common.persistence.PersistenceManager;
import haveno.common.proto.persistable.PersistableEnvelope;
import haveno.common.proto.persistable.PersistablePayload;
import haveno.network.p2p.storage.P2PDataStorage;
import java.io.File;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
import java.util.Map;
/**
* Handles persisted data which is stored in a map.
*

View file

@ -20,13 +20,13 @@ package haveno.network.p2p.storage.persistence;
import haveno.common.proto.persistable.PersistableEnvelope;
import haveno.network.p2p.storage.P2PDataStorage;
import haveno.network.p2p.storage.payload.PersistableNetworkPayload;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import java.util.Collection;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
/**
* Store for PersistableNetworkPayload map entries with it's data hash as key.

View file

@ -17,12 +17,13 @@
package haveno.network.p2p.storage.persistence;
import javax.inject.Inject;
import com.google.common.annotations.VisibleForTesting;
import haveno.common.proto.persistable.PersistableEnvelope;
import haveno.network.p2p.storage.P2PDataStorage;
import haveno.network.p2p.storage.payload.ProtectedStorageEntry;
import lombok.extern.slf4j.Slf4j;
import javax.inject.Inject;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -30,8 +31,6 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
/**
* Used for data which can be added and removed. ProtectedStorageEntry is used for verifying ownership.
*/

View file

@ -21,13 +21,13 @@ package haveno.network.p2p.storage.persistence;
import haveno.common.proto.persistable.PersistableEnvelope;
import haveno.common.util.Utilities;
import haveno.network.p2p.storage.P2PDataStorage;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class RemovedPayloadsMap implements PersistableEnvelope {
@Getter

View file

@ -21,11 +21,11 @@ import haveno.common.persistence.PersistenceManager;
import haveno.common.proto.persistable.PersistedDataHost;
import haveno.network.p2p.storage.P2PDataStorage;
import haveno.network.p2p.storage.payload.MailboxStoragePayload;
import lombok.extern.slf4j.Slf4j;
import javax.inject.Inject;
import javax.inject.Singleton;
import lombok.extern.slf4j.Slf4j;
/**
* We persist the hashes and timestamp when a AddOncePayload payload got removed. This protects that it could be
* added again for instance if the sequence number map would be inconsistent/deleted or when we receive data from

View file

@ -17,16 +17,15 @@
package haveno.network.p2p.storage.persistence;
import javax.inject.Inject;
import com.google.common.annotations.VisibleForTesting;
import haveno.common.proto.persistable.PersistableEnvelope;
import lombok.extern.slf4j.Slf4j;
import javax.inject.Inject;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import lombok.extern.slf4j.Slf4j;
/**
* Used for handling data from resource files.
*/

View file

@ -19,14 +19,14 @@ package haveno.network.p2p.storage.persistence;
import haveno.common.proto.persistable.PersistableEnvelope;
import haveno.network.p2p.storage.P2PDataStorage;
import lombok.Getter;
import lombok.Setter;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import lombok.Getter;
import lombok.Setter;
/**
* This class was not generalized to HashMapPersistable (like we did with #ListPersistable) because
* in protobuffer the map construct can't be anything, so the straightforward mapping was not possible.

View file

@ -22,14 +22,12 @@ import haveno.common.file.FileUtil;
import haveno.common.file.ResourceNotFoundException;
import haveno.common.persistence.PersistenceManager;
import haveno.common.proto.persistable.PersistableEnvelope;
import java.nio.file.Paths;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
import java.nio.file.Paths;
import java.util.function.Consumer;
import lombok.extern.slf4j.Slf4j;
/**
* Base class for handling of persisted data.
* <p>

View file

@ -22,10 +22,10 @@ import haveno.common.proto.network.NetworkEnvelope;
import haveno.network.p2p.NodeAddress;
import haveno.network.p2p.peers.PeerManager;
import haveno.network.p2p.storage.payload.CapabilityRequiringPayload;
import java.util.Optional;
import lombok.extern.slf4j.Slf4j;
import java.util.Optional;
@Slf4j
public class CapabilityUtils {
public static boolean capabilityRequiredAndCapabilityNotSupported(NodeAddress peersNodeAddress,

View file

@ -17,10 +17,8 @@
package haveno.network.utils;
import java.net.ServerSocket;
import java.io.IOException;
import java.net.ServerSocket;
import java.util.Random;
public class Utils {