package io.bitsquare.p2p.peers.getdata.messages;
import io.bitsquare.app.Capabilities;
import io.bitsquare.app.Version;
import io.bitsquare.p2p.messaging.SupportedCapabilitiesMessage;
import io.bitsquare.p2p.network.messages.AnonymousMessage;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.Set;
public final class PreliminaryGetDataRequest implements AnonymousMessage, GetDataRequest, SupportedCapabilitiesMessage {
// That object is sent over the wire, so we need to take care of version compatibility.
private static final long serialVersionUID = Version.P2P_NETWORK_VERSION;
private final int messageVersion = Version.getP2PMessageVersion();
private final int nonce;
private final Set<byte[]> excludedKeys;
@Nullable
private ArrayList<Integer> supportedCapabilities = Capabilities.getCapabilities();
public PreliminaryGetDataRequest(int nonce, Set<byte[]> excludedKeys) {
this.nonce = nonce;
this.excludedKeys = excludedKeys;
}
@Override
@Nullable
public ArrayList<Integer> getSupportedCapabilities() {
return supportedCapabilities;
}
@Override
public int getNonce() {
return nonce;
}
@Override
public Set<byte[]> getExcludedKeys() {
return excludedKeys;
}
@Override
public int getMessageVersion() {
return messageVersion;
}
@Override
public String toString() {
return "PreliminaryGetDataRequest{" +
"nonce=" + nonce +
", supportedCapabilities=" + supportedCapabilities +
", messageVersion=" + messageVersion +
'}';
}
}