diff --git a/src/main/java/org/qortal/network/RNSNetwork.java b/src/main/java/org/qortal/network/RNSNetwork.java index b941ab98..f265f8d2 100644 --- a/src/main/java/org/qortal/network/RNSNetwork.java +++ b/src/main/java/org/qortal/network/RNSNetwork.java @@ -445,20 +445,20 @@ public class RNSNetwork { // .orElse(null); //} private Task maybeProducePeerPingTask(Long now) { - var ilp = getImmutableLinkedPeers().stream() - .map(peer -> peer.getPingTask(now)) - .filter(Objects::nonNull) - .findFirst() - .orElse(null); - if (nonNull(ilp)) { - log.info("ilp - {}", ilp); - } - return ilp; - //return getImmutableLinkedPeers().stream() + //var ilp = getImmutableLinkedPeers().stream() // .map(peer -> peer.getPingTask(now)) // .filter(Objects::nonNull) // .findFirst() // .orElse(null); + //if (nonNull(ilp)) { + // log.info("ilp - {}", ilp); + //} + //return ilp; + return getImmutableLinkedPeers().stream() + .map(peer -> peer.getPingTask(now)) + .filter(Objects::nonNull) + .findFirst() + .orElse(null); } //private Task maybeProduceBroadcastTask(Long now) { @@ -594,7 +594,7 @@ public class RNSNetwork { activePeerCount = activePeerCount + 1; } } - log.info("we have {} active peers", activePeerCount); + log.info("we have {} active peers (linkedPeers)", activePeerCount); maybeAnnounce(getBaseDestination()); } diff --git a/src/main/java/org/qortal/network/RNSPeer.java b/src/main/java/org/qortal/network/RNSPeer.java index 2ece7364..3f13c4be 100644 --- a/src/main/java/org/qortal/network/RNSPeer.java +++ b/src/main/java/org/qortal/network/RNSPeer.java @@ -167,7 +167,7 @@ public class RNSPeer { public BufferedRWPair getOrInitPeerBuffer() { var channel = this.peerLink.getChannel(); if (nonNull(this.peerBuffer)) { - log.info("peerBuffer exists: {}, link status: {}", this.peerBuffer, this.peerLink.getStatus()); + log.trace("peerBuffer exists: {}, link status: {}", this.peerBuffer, this.peerLink.getStatus()); return this.peerBuffer; //try { // this.peerBuffer.close(); @@ -298,12 +298,11 @@ public class RNSPeer { // break; case PING: - //log.info("sending PING response"); - //onPingMessage(this, message); - PongMessage pongMessage = new PongMessage(); - pongMessage.setId(message.getId()); - this.peerBuffer.write(pongMessage.toBytes()); - this.peerBuffer.flush(); + onPingMessage(this, message); + //PongMessage pongMessage = new PongMessage(); + //pongMessage.setId(message.getId()); + //this.peerBuffer.write(pongMessage.toBytes()); + //this.peerBuffer.flush(); break; case PONG: @@ -470,15 +469,19 @@ public class RNSPeer { /** qortal networking specific (Tasks) */ - //private void onPingMessage(RNSPeer peer, Message message) { - // PingMessage pingMessage = (PingMessage) message; - // - // // Generate 'pong' using same ID - // PingMessage pongMessage = new PingMessage(); - // pongMessage.setId(pingMessage.getId()); - // - // sendMessageWithTimeout(pongMessage, RESPONSE_TIMEOUT); - //} + private void onPingMessage(RNSPeer peer, Message message) { + PingMessage pingMessage = (PingMessage) message; + + try { + PongMessage pongMessage = new PongMessage(); + pongMessage.setId(message.getId()); // use the ping message id + this.peerBuffer.write(pongMessage.toBytes()); + this.peerBuffer.flush(); + } catch (MessageException e) { + //log.error("{} from peer {}", e.getMessage(), this); + log.error("{} from peer {}", e, this); + } + } /** * Send message to peer and await response, using default RESPONSE_TIMEOUT. @@ -493,6 +496,7 @@ public class RNSPeer { * @throws InterruptedException if interrupted while waiting */ public void getResponse(Message message) throws InterruptedException { + log.info("RNSPingTask action - pinging peer {}", encodeHexString(getDestinationHash())); getResponseWithTimeout(message, RESPONSE_TIMEOUT); } diff --git a/src/main/java/org/qortal/network/task/RNSPingTask.java b/src/main/java/org/qortal/network/task/RNSPingTask.java index b36d2e67..94c29f8d 100644 --- a/src/main/java/org/qortal/network/task/RNSPingTask.java +++ b/src/main/java/org/qortal/network/task/RNSPingTask.java @@ -47,16 +47,7 @@ public class RNSPingTask implements Task { //} peer.getResponse(pingMessage); - //Message message = peer.getResponse(pingMessage); - // - //if (message == null || message.getType() != MessageType.PING) { - // LOGGER.debug("[{}] Didn't receive reply from {} for PING ID {}", - // peer.getPeerConnectionId(), peer, pingMessage.getId()); - // peer.disconnect("no ping received"); - // return; - //} - - //// tast is not over here. + //// task is not over here. //peer.setLastPing(NTP.getTime() - now); } }