diff --git a/src/main/java/bisq/network/p2p/network/Connection.java b/src/main/java/bisq/network/p2p/network/Connection.java index 694caf6..5f47e10 100644 --- a/src/main/java/bisq/network/p2p/network/Connection.java +++ b/src/main/java/bisq/network/p2p/network/Connection.java @@ -268,7 +268,7 @@ public void sendMessage(NetworkEnvelope networkEnvelope) { handleException(t); } } else { - log.debug("We did not send the message because the peer does not support our required capabilities. message={}, peers supportedCapabilities={}", networkEnvelope, sharedModel.getSupportedCapabilities()); + log.info("We did not send the message because the peer does not support our required capabilities. message={}, peers supportedCapabilities={}", networkEnvelope, sharedModel.getSupportedCapabilities()); } } else { log.debug("called sendMessage but was already stopped"); @@ -283,11 +283,11 @@ public boolean isCapabilitySupported(NetworkEnvelope networkEnvelop) { final PersistableNetworkPayload persistableNetworkPayload = ((AddPersistableNetworkPayloadMessage) networkEnvelop).getPersistableNetworkPayload(); return !(persistableNetworkPayload instanceof CapabilityRequiringPayload) || isCapabilitySupported((CapabilityRequiringPayload) persistableNetworkPayload); } else { - return true; + return !(networkEnvelop instanceof CapabilityRequiringPayload) || isCapabilitySupported((CapabilityRequiringPayload) networkEnvelop); } } - public boolean isCapabilitySupported(CapabilityRequiringPayload payload) { + private boolean isCapabilitySupported(CapabilityRequiringPayload payload) { final List requiredCapabilities = payload.getRequiredCapabilities(); final List supportedCapabilities = sharedModel.getSupportedCapabilities(); return Capabilities.isCapabilitySupported(requiredCapabilities, supportedCapabilities); @@ -295,10 +295,14 @@ public boolean isCapabilitySupported(CapabilityRequiringPayload payload) { @SuppressWarnings("BooleanMethodIsAlwaysInverted") public boolean isCapabilityRequired(NetworkEnvelope networkEnvelop) { - return (networkEnvelop instanceof AddDataMessage && - (((AddDataMessage) networkEnvelop).getProtectedStorageEntry()).getProtectedStoragePayload() instanceof CapabilityRequiringPayload) || - (networkEnvelop instanceof AddPersistableNetworkPayloadMessage && - (((AddPersistableNetworkPayloadMessage) networkEnvelop).getPersistableNetworkPayload() instanceof CapabilityRequiringPayload)); + boolean isCapabilityRequiringAddDataMessage = networkEnvelop instanceof AddDataMessage && + (((AddDataMessage) networkEnvelop).getProtectedStorageEntry()).getProtectedStoragePayload() instanceof CapabilityRequiringPayload; + boolean isCapabilityRequiringAddPersistableNetworkPayloadMessage = networkEnvelop instanceof AddPersistableNetworkPayloadMessage && + (((AddPersistableNetworkPayloadMessage) networkEnvelop).getPersistableNetworkPayload() instanceof CapabilityRequiringPayload); + boolean isCapabilityRequiringNetworkEnvelope = networkEnvelop instanceof CapabilityRequiringPayload; + return isCapabilityRequiringAddDataMessage || + isCapabilityRequiringAddPersistableNetworkPayloadMessage || + isCapabilityRequiringNetworkEnvelope; } public List getSupportedCapabilities() {