mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-08-07 22:22:24 -04:00
rename all packages and other names from bisq to haveno
This commit is contained in:
parent
ab0b9e3b77
commit
1a1fb130c0
1775 changed files with 14575 additions and 16767 deletions
|
@ -0,0 +1,133 @@
|
|||
/*
|
||||
* This file is part of Haveno.
|
||||
*
|
||||
* Haveno is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* Haveno is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
|
||||
* License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with Haveno. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package haveno.network.p2p.peers.peerexchange;
|
||||
|
||||
import haveno.common.app.Capabilities;
|
||||
import haveno.common.app.HasCapabilities;
|
||||
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;
|
||||
|
||||
@Getter
|
||||
@Slf4j
|
||||
public final class Peer implements HasCapabilities, NetworkPayload, PersistablePayload, SupportedCapabilitiesListener {
|
||||
private static final int MAX_FAILED_CONNECTION_ATTEMPTS = 5;
|
||||
|
||||
private final NodeAddress nodeAddress;
|
||||
private final long date;
|
||||
@Setter
|
||||
transient private int failedConnectionAttempts = 0;
|
||||
@Setter
|
||||
private Capabilities capabilities = new Capabilities();
|
||||
|
||||
public Peer(NodeAddress nodeAddress, @Nullable Capabilities supportedCapabilities) {
|
||||
this(nodeAddress, new Date().getTime(), supportedCapabilities);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// PROTO BUFFER
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
private Peer(NodeAddress nodeAddress, long date, Capabilities supportedCapabilities) {
|
||||
super();
|
||||
this.nodeAddress = nodeAddress;
|
||||
this.date = date;
|
||||
this.capabilities.addAll(supportedCapabilities);
|
||||
}
|
||||
|
||||
@Override
|
||||
public protobuf.Peer toProtoMessage() {
|
||||
return protobuf.Peer.newBuilder()
|
||||
.setNodeAddress(nodeAddress.toProtoMessage())
|
||||
.setDate(date)
|
||||
.addAllSupportedCapabilities(Capabilities.toIntList(getCapabilities()))
|
||||
.build();
|
||||
}
|
||||
|
||||
public static Peer fromProto(protobuf.Peer proto) {
|
||||
return new Peer(NodeAddress.fromProto(proto.getNodeAddress()),
|
||||
proto.getDate(),
|
||||
Capabilities.fromIntList(proto.getSupportedCapabilitiesList()));
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// API
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public void onDisconnect() {
|
||||
this.failedConnectionAttempts++;
|
||||
}
|
||||
|
||||
public void onConnection() {
|
||||
this.failedConnectionAttempts--;
|
||||
}
|
||||
|
||||
public boolean tooManyFailedConnectionAttempts() {
|
||||
return failedConnectionAttempts >= MAX_FAILED_CONNECTION_ATTEMPTS;
|
||||
}
|
||||
|
||||
public Date getDate() {
|
||||
return new Date(date);
|
||||
}
|
||||
|
||||
public long getDateAsLong() {
|
||||
return date;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onChanged(Capabilities supportedCapabilities) {
|
||||
if (!supportedCapabilities.isEmpty()) {
|
||||
capabilities.set(supportedCapabilities);
|
||||
}
|
||||
}
|
||||
|
||||
// We use only node address for equals and hashcode
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof Peer)) return false;
|
||||
|
||||
Peer peer = (Peer) o;
|
||||
|
||||
return nodeAddress != null ? nodeAddress.equals(peer.nodeAddress) : peer.nodeAddress == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return nodeAddress != null ? nodeAddress.hashCode() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Peer{" +
|
||||
"\n nodeAddress=" + nodeAddress +
|
||||
",\n date=" + date +
|
||||
",\n failedConnectionAttempts=" + failedConnectionAttempts +
|
||||
",\n capabilities=" + capabilities +
|
||||
"\n}";
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue