forked from Qortal/qortal
Browse Source
Previously, only one peer's response for a hash would be remembered, even if multiple others reported back too. This would cause useful mapping to be lost.block-minter-updates
CalDescent
3 years ago
3 changed files with 111 additions and 10 deletions
@ -0,0 +1,60 @@
|
||||
package org.qortal.data.arbitrary; |
||||
|
||||
import org.qortal.network.Peer; |
||||
import java.util.Objects; |
||||
|
||||
public class ArbitraryRelayInfo { |
||||
|
||||
private final String hash58; |
||||
private final String signature58; |
||||
private final Peer peer; |
||||
private final Long timestamp; |
||||
|
||||
public ArbitraryRelayInfo(String hash58, String signature58, Peer peer, Long timestamp) { |
||||
this.hash58 = hash58; |
||||
this.signature58 = signature58; |
||||
this.peer = peer; |
||||
this.timestamp = timestamp; |
||||
} |
||||
|
||||
public boolean isValid() { |
||||
return this.getHash58() != null && this.getSignature58() != null |
||||
&& this.getPeer() != null && this.getTimestamp() != null; |
||||
} |
||||
|
||||
public String getHash58() { |
||||
return this.hash58; |
||||
} |
||||
|
||||
public String getSignature58() { |
||||
return signature58; |
||||
} |
||||
|
||||
public Peer getPeer() { |
||||
return peer; |
||||
} |
||||
|
||||
public Long getTimestamp() { |
||||
return timestamp; |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return String.format("%s = %s, %s, %d", this.hash58, this.signature58, this.peer, this.timestamp); |
||||
} |
||||
|
||||
@Override |
||||
public boolean equals(Object other) { |
||||
if (other == this) |
||||
return true; |
||||
|
||||
if (!(other instanceof ArbitraryRelayInfo)) |
||||
return false; |
||||
|
||||
ArbitraryRelayInfo otherRelayInfo = (ArbitraryRelayInfo) other; |
||||
|
||||
return this.peer == otherRelayInfo.getPeer() |
||||
&& Objects.equals(this.hash58, otherRelayInfo.getHash58()) |
||||
&& Objects.equals(this.signature58, otherRelayInfo.getSignature58()); |
||||
} |
||||
} |
Loading…
Reference in new issue