package io.bitsquare.p2p.peers.getdata.messages;
import io.bitsquare.app.Version;
import io.bitsquare.p2p.NodeAddress;
import io.bitsquare.p2p.network.messages.SendersNodeAddressMessage;
import java.util.Set;
import static com.google.common.base.Preconditions.checkNotNull;
public final class GetUpdatedDataRequest implements SendersNodeAddressMessage, GetDataRequest {
// 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 NodeAddress senderNodeAddress;
private final int nonce;
private final Set<byte[]> excludedKeys;
public GetUpdatedDataRequest(NodeAddress senderNodeAddress, int nonce, Set<byte[]> excludedKeys) {
checkNotNull(senderNodeAddress, "senderNodeAddress must not be null at GetUpdatedDataRequest");
this.senderNodeAddress = senderNodeAddress;
this.nonce = nonce;
this.excludedKeys = excludedKeys;
}
@Override
public int getNonce() {
return nonce;
}
@Override
public NodeAddress getSenderNodeAddress() {
return senderNodeAddress;
}
@Override
public Set<byte[]> getExcludedKeys() {
return excludedKeys;
}
@Override
public int getMessageVersion() {
return messageVersion;
}
@Override
public String toString() {
return "GetUpdatedDataRequest{" +
"senderNodeAddress=" + senderNodeAddress +
", nonce=" + nonce +
", messageVersion=" + messageVersion +
'}';
}
}