mirror of
https://github.com/Qortal/qortal.git
synced 2025-05-14 21:57:50 +00:00
partial cleanup
This commit is contained in:
parent
6c5fedd456
commit
78060face4
@ -10,7 +10,7 @@ public class RNSCommon {
|
|||||||
/**
|
/**
|
||||||
* Configuration path relative to the Qortal launch directory
|
* Configuration path relative to the Qortal launch directory
|
||||||
*/
|
*/
|
||||||
public static String defaultRNSConfigPath = new String(".reticulum");
|
public static String defaultRNSConfigPath = ".reticulum";
|
||||||
|
|
||||||
///**
|
///**
|
||||||
// * Qortal RNS Destinations
|
// * Qortal RNS Destinations
|
||||||
|
@ -15,15 +15,15 @@ import io.reticulum.packet.Packet;
|
|||||||
import io.reticulum.packet.PacketReceipt;
|
import io.reticulum.packet.PacketReceipt;
|
||||||
import io.reticulum.packet.PacketReceiptStatus;
|
import io.reticulum.packet.PacketReceiptStatus;
|
||||||
import io.reticulum.transport.AnnounceHandler;
|
import io.reticulum.transport.AnnounceHandler;
|
||||||
import static io.reticulum.link.TeardownSession.DESTINATION_CLOSED;
|
//import static io.reticulum.link.TeardownSession.DESTINATION_CLOSED;
|
||||||
import static io.reticulum.link.TeardownSession.INITIATOR_CLOSED;
|
//import static io.reticulum.link.TeardownSession.INITIATOR_CLOSED;
|
||||||
import static io.reticulum.link.TeardownSession.TIMEOUT;
|
import static io.reticulum.link.TeardownSession.TIMEOUT;
|
||||||
import static io.reticulum.link.LinkStatus.ACTIVE;
|
import static io.reticulum.link.LinkStatus.ACTIVE;
|
||||||
import static io.reticulum.link.LinkStatus.STALE;
|
import static io.reticulum.link.LinkStatus.STALE;
|
||||||
import static io.reticulum.link.LinkStatus.PENDING;
|
//import static io.reticulum.link.LinkStatus.PENDING;
|
||||||
import static io.reticulum.link.LinkStatus.HANDSHAKE;
|
import static io.reticulum.link.LinkStatus.HANDSHAKE;
|
||||||
//import static io.reticulum.packet.PacketContextType.LINKCLOSE;
|
//import static io.reticulum.packet.PacketContextType.LINKCLOSE;
|
||||||
import static io.reticulum.identity.IdentityKnownDestination.recall;
|
//import static io.reticulum.identity.IdentityKnownDestination.recall;
|
||||||
import static io.reticulum.utils.IdentityUtils.concatArrays;
|
import static io.reticulum.utils.IdentityUtils.concatArrays;
|
||||||
//import static io.reticulum.constant.ReticulumConstant.TRUNCATED_HASHLENGTH;
|
//import static io.reticulum.constant.ReticulumConstant.TRUNCATED_HASHLENGTH;
|
||||||
import static io.reticulum.constant.ReticulumConstant.CONFIG_FILE_NAME;
|
import static io.reticulum.constant.ReticulumConstant.CONFIG_FILE_NAME;
|
||||||
@ -33,7 +33,7 @@ import lombok.Data;
|
|||||||
import lombok.Synchronized;
|
import lombok.Synchronized;
|
||||||
|
|
||||||
import org.qortal.repository.DataException;
|
import org.qortal.repository.DataException;
|
||||||
import org.qortal.settings.Settings;
|
//import org.qortal.settings.Settings;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
@ -55,7 +55,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
//import java.util.Random;
|
//import java.util.Random;
|
||||||
import java.util.Scanner;
|
//import java.util.Scanner;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.apache.commons.codec.binary.Hex;
|
import org.apache.commons.codec.binary.Hex;
|
||||||
@ -72,7 +72,7 @@ public class RNSNetwork {
|
|||||||
Reticulum reticulum;
|
Reticulum reticulum;
|
||||||
//private static final String APP_NAME = "qortal";
|
//private static final String APP_NAME = "qortal";
|
||||||
static final String APP_NAME = RNSCommon.APP_NAME;
|
static final String APP_NAME = RNSCommon.APP_NAME;
|
||||||
static final String defaultConfigPath = new String(".reticulum"); // if empty will look in Reticulums default paths
|
static final String defaultConfigPath = ".reticulum"; // if empty will look in Reticulums default paths
|
||||||
//static final String defaultConfigPath = RNSCommon.defaultRNSConfigPath;
|
//static final String defaultConfigPath = RNSCommon.defaultRNSConfigPath;
|
||||||
//private final String defaultConfigPath = Settings.getInstance().getDefaultRNSConfigPathForReticulum();
|
//private final String defaultConfigPath = Settings.getInstance().getDefaultRNSConfigPathForReticulum();
|
||||||
private static Integer MAX_PEERS = 12;
|
private static Integer MAX_PEERS = 12;
|
||||||
@ -128,7 +128,7 @@ public class RNSNetwork {
|
|||||||
var serverIdentityPath = reticulum.getStoragePath().resolve("identities/"+APP_NAME);
|
var serverIdentityPath = reticulum.getStoragePath().resolve("identities/"+APP_NAME);
|
||||||
if (Files.isReadable(serverIdentityPath)) {
|
if (Files.isReadable(serverIdentityPath)) {
|
||||||
serverIdentity = Identity.fromFile(serverIdentityPath);
|
serverIdentity = Identity.fromFile(serverIdentityPath);
|
||||||
log.info("server identity loaded from file {}", serverIdentityPath.toString());
|
log.info("server identity loaded from file {}", serverIdentityPath);
|
||||||
} else {
|
} else {
|
||||||
serverIdentity = new Identity();
|
serverIdentity = new Identity();
|
||||||
log.info("APP_NAME: {}, storage path: {}", APP_NAME, serverIdentityPath);
|
log.info("APP_NAME: {}, storage path: {}", APP_NAME, serverIdentityPath);
|
||||||
@ -164,7 +164,7 @@ public class RNSNetwork {
|
|||||||
// "core",
|
// "core",
|
||||||
// "qdn"
|
// "qdn"
|
||||||
//);
|
//);
|
||||||
log.info("Destination "+Hex.encodeHexString(baseDestination.getHash())+" "+baseDestination.getName()+" running.");
|
log.info("Destination {} {} running", Hex.encodeHexString(baseDestination.getHash()), baseDestination.getName());
|
||||||
|
|
||||||
baseDestination.setProofStrategy(ProofStrategy.PROVE_ALL);
|
baseDestination.setProofStrategy(ProofStrategy.PROVE_ALL);
|
||||||
baseDestination.setAcceptLinkRequests(true);
|
baseDestination.setAcceptLinkRequests(true);
|
||||||
@ -183,7 +183,7 @@ public class RNSNetwork {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initConfig(String configDir) throws IOException {
|
private void initConfig(String configDir) throws IOException {
|
||||||
File configDir1 = new File(defaultConfigPath);
|
File configDir1 = new File(configDir);
|
||||||
if (!configDir1.exists()) {
|
if (!configDir1.exists()) {
|
||||||
configDir1.mkdir();
|
configDir1.mkdir();
|
||||||
}
|
}
|
||||||
@ -217,7 +217,7 @@ public class RNSNetwork {
|
|||||||
try {
|
try {
|
||||||
TimeUnit.SECONDS.sleep(1); // allow for peers to disconnect gracefully
|
TimeUnit.SECONDS.sleep(1); // allow for peers to disconnect gracefully
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
log.error("exception: {}", e);
|
log.error("exception: ", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// gracefully close links of peers that point to us
|
// gracefully close links of peers that point to us
|
||||||
@ -241,12 +241,12 @@ public class RNSNetwork {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void closePacketDelivered(PacketReceipt receipt) {
|
public void closePacketDelivered(PacketReceipt receipt) {
|
||||||
var rttString = new String("");
|
var rttString = "";
|
||||||
if (receipt.getStatus() == PacketReceiptStatus.DELIVERED) {
|
if (receipt.getStatus() == PacketReceiptStatus.DELIVERED) {
|
||||||
var rtt = receipt.getRtt(); // rtt (Java) is in miliseconds
|
var rtt = receipt.getRtt(); // rtt (Java) is in miliseconds
|
||||||
//log.info("qqp - packetDelivered - rtt: {}", rtt);
|
//log.info("qqp - packetDelivered - rtt: {}", rtt);
|
||||||
if (rtt >= 1000) {
|
if (rtt >= 1000) {
|
||||||
rtt = Math.round(rtt / 1000);
|
rtt = Math.round((float) rtt / 1000);
|
||||||
rttString = String.format("%d seconds", rtt);
|
rttString = String.format("%d seconds", rtt);
|
||||||
} else {
|
} else {
|
||||||
rttString = String.format("%d miliseconds", rtt);
|
rttString = String.format("%d miliseconds", rtt);
|
||||||
@ -271,7 +271,7 @@ public class RNSNetwork {
|
|||||||
peer.getOrInitPeerLink();
|
peer.getOrInitPeerLink();
|
||||||
} else {
|
} else {
|
||||||
log.info("non-initiator closed link (link lookup: {}), link destination hash (initiator): {}",
|
log.info("non-initiator closed link (link lookup: {}), link destination hash (initiator): {}",
|
||||||
peer, link, Hex.encodeHexString(link.getDestination().getHash()));
|
link, Hex.encodeHexString(link.getDestination().getHash()));
|
||||||
}
|
}
|
||||||
incomingLinks.add(link);
|
incomingLinks.add(link);
|
||||||
log.info("***> Client connected, link: {}", link);
|
log.info("***> Client connected, link: {}", link);
|
||||||
@ -284,7 +284,7 @@ public class RNSNetwork {
|
|||||||
Hex.encodeHexString(peer.getDestinationHash()), link, Hex.encodeHexString(link.getDestination().getHash()));
|
Hex.encodeHexString(peer.getDestinationHash()), link, Hex.encodeHexString(link.getDestination().getHash()));
|
||||||
} else {
|
} else {
|
||||||
log.info("non-initiator closed link (link lookup: {}), link destination hash (initiator): {}",
|
log.info("non-initiator closed link (link lookup: {}), link destination hash (initiator): {}",
|
||||||
peer, link, Hex.encodeHexString(link.getDestination().getHash()));
|
link, Hex.encodeHexString(link.getDestination().getHash()));
|
||||||
}
|
}
|
||||||
// if we have a peer pointing to that destination, we can close and remove it
|
// if we have a peer pointing to that destination, we can close and remove it
|
||||||
peer = findPeerByDestinationHash(link.getDestination().getHash());
|
peer = findPeerByDestinationHash(link.getDestination().getHash());
|
||||||
@ -369,7 +369,7 @@ public class RNSNetwork {
|
|||||||
if (nonNull(p.getPeerLink())) {
|
if (nonNull(p.getPeerLink())) {
|
||||||
log.info("QAnnounceHandler - other peer - link: {}, status: {}", p.getPeerLink(), p.getPeerLink().getStatus());
|
log.info("QAnnounceHandler - other peer - link: {}, status: {}", p.getPeerLink(), p.getPeerLink().getStatus());
|
||||||
} else {
|
} else {
|
||||||
log.info("QAnnounceHandler - null link peer - link: {}", p.getPeerLink());
|
log.info("QAnnounceHandler - peer link is null");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -450,13 +450,13 @@ public class RNSNetwork {
|
|||||||
return SingletonContainer.INSTANCE;
|
return SingletonContainer.INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Identity getServerIdentity() {
|
//public Identity getServerIdentity() {
|
||||||
return this.serverIdentity;
|
// return this.serverIdentity;
|
||||||
}
|
//}
|
||||||
|
|
||||||
public Reticulum getReticulum() {
|
//public Reticulum getReticulum() {
|
||||||
return this.reticulum;
|
// return this.reticulum;
|
||||||
}
|
//}
|
||||||
|
|
||||||
public List<RNSPeer> getLinkedPeers() {
|
public List<RNSPeer> getLinkedPeers() {
|
||||||
synchronized(this.linkedPeers) {
|
synchronized(this.linkedPeers) {
|
||||||
@ -471,9 +471,9 @@ public class RNSNetwork {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Destination getBaseDestination() {
|
//public Destination getBaseDestination() {
|
||||||
return baseDestination;
|
// return baseDestination;
|
||||||
}
|
//}
|
||||||
|
|
||||||
// maintenance
|
// maintenance
|
||||||
//public void removePeer(RNSPeer peer) {
|
//public void removePeer(RNSPeer peer) {
|
||||||
@ -537,7 +537,7 @@ public class RNSNetwork {
|
|||||||
try {
|
try {
|
||||||
TimeUnit.SECONDS.sleep(2); // allow for peers to disconnect gracefully
|
TimeUnit.SECONDS.sleep(2); // allow for peers to disconnect gracefully
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
log.error("exception: {}", e);
|
log.error("exception: ", e);
|
||||||
}
|
}
|
||||||
if ((nonNull(pLink) && (pLink.getStatus() == ACTIVE))) {
|
if ((nonNull(pLink) && (pLink.getStatus() == ACTIVE))) {
|
||||||
activePeerCount = activePeerCount + 1;
|
activePeerCount = activePeerCount + 1;
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
package org.qortal.network;
|
package org.qortal.network;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
//import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
//import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import static java.util.Objects.isNull;
|
import static java.util.Objects.isNull;
|
||||||
import static java.util.Objects.nonNull;
|
import static java.util.Objects.nonNull;
|
||||||
import java.io.IOException;
|
//import java.io.IOException;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
import io.reticulum.Reticulum;
|
//import io.reticulum.Reticulum;
|
||||||
import org.qortal.network.RNSNetwork;
|
//import org.qortal.network.RNSNetwork;
|
||||||
import io.reticulum.link.Link;
|
import io.reticulum.link.Link;
|
||||||
import io.reticulum.link.RequestReceipt;
|
import io.reticulum.link.RequestReceipt;
|
||||||
import io.reticulum.packet.PacketReceiptStatus;
|
import io.reticulum.packet.PacketReceiptStatus;
|
||||||
@ -27,7 +27,7 @@ import static io.reticulum.link.TeardownSession.INITIATOR_CLOSED;
|
|||||||
import static io.reticulum.link.TeardownSession.DESTINATION_CLOSED;
|
import static io.reticulum.link.TeardownSession.DESTINATION_CLOSED;
|
||||||
import static io.reticulum.link.TeardownSession.TIMEOUT;
|
import static io.reticulum.link.TeardownSession.TIMEOUT;
|
||||||
import static io.reticulum.link.LinkStatus.ACTIVE;
|
import static io.reticulum.link.LinkStatus.ACTIVE;
|
||||||
import static io.reticulum.link.LinkStatus.CLOSED;
|
//import static io.reticulum.link.LinkStatus.CLOSED;
|
||||||
import static io.reticulum.identity.IdentityKnownDestination.recall;
|
import static io.reticulum.identity.IdentityKnownDestination.recall;
|
||||||
//import static io.reticulum.identity.IdentityKnownDestination.recallAppData;
|
//import static io.reticulum.identity.IdentityKnownDestination.recallAppData;
|
||||||
|
|
||||||
@ -46,9 +46,9 @@ import lombok.AccessLevel;
|
|||||||
public class RNSPeer {
|
public class RNSPeer {
|
||||||
|
|
||||||
//static final String APP_NAME = "qortal";
|
//static final String APP_NAME = "qortal";
|
||||||
static final String APP_NAME = RNSCommon.APP_NAME;
|
//static final String APP_NAME = RNSCommon.APP_NAME;
|
||||||
//static final String defaultConfigPath = new String(".reticulum");
|
//static final String defaultConfigPath = new String(".reticulum");
|
||||||
static final String defaultConfigPath = RNSCommon.defaultRNSConfigPath;
|
//static final String defaultConfigPath = RNSCommon.defaultRNSConfigPath;
|
||||||
|
|
||||||
private byte[] destinationHash; // remote destination hash
|
private byte[] destinationHash; // remote destination hash
|
||||||
Destination peerDestination; // OUT destination created for this
|
Destination peerDestination; // OUT destination created for this
|
||||||
@ -174,16 +174,16 @@ public class RNSPeer {
|
|||||||
|
|
||||||
/** PacketReceipt callbacks */
|
/** PacketReceipt callbacks */
|
||||||
public void packetDelivered(PacketReceipt receipt) {
|
public void packetDelivered(PacketReceipt receipt) {
|
||||||
var rttString = new String("");
|
var rttString = "";
|
||||||
//log.info("packet delivered callback, receipt: {}", receipt);
|
//log.info("packet delivered callback, receipt: {}", receipt);
|
||||||
if (receipt.getStatus() == PacketReceiptStatus.DELIVERED) {
|
if (receipt.getStatus() == PacketReceiptStatus.DELIVERED) {
|
||||||
var rtt = receipt.getRtt(); // rtt (Java) is in miliseconds
|
var rtt = receipt.getRtt(); // rtt (Java) is in milliseconds
|
||||||
//log.info("qqp - packetDelivered - rtt: {}", rtt);
|
//log.info("qqp - packetDelivered - rtt: {}", rtt);
|
||||||
if (rtt >= 1000) {
|
if (rtt >= 1000) {
|
||||||
rtt = Math.round(rtt / 1000);
|
rtt = Math.round((float) rtt / 1000);
|
||||||
rttString = String.format("%d seconds", rtt);
|
rttString = String.format("%d seconds", rtt);
|
||||||
} else {
|
} else {
|
||||||
rttString = String.format("%d miliseconds", rtt);
|
rttString = String.format("%d milliseconds", rtt);
|
||||||
}
|
}
|
||||||
log.info("Valid reply received from {}, round-trip time is {}",
|
log.info("Valid reply received from {}, round-trip time is {}",
|
||||||
Hex.encodeHexString(receipt.getDestination().getHash()), rttString);
|
Hex.encodeHexString(receipt.getDestination().getHash()), rttString);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user