From 832c0ff6830c28e2701946cbeba86b245ffb045f Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sat, 12 Jan 2013 18:13:59 +0000 Subject: [PATCH] * SAM: Force i2cp.messageReliability=None (ticket #819) --- apps/sam/java/src/net/i2p/sam/SAMv1Handler.java | 6 ++++++ apps/sam/java/src/net/i2p/sam/SAMv3Handler.java | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java b/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java index c5b5d2b1b7..7bae180c5f 100644 --- a/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java +++ b/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java @@ -21,6 +21,7 @@ import java.util.Properties; import java.util.StringTokenizer; import net.i2p.I2PException; +import net.i2p.client.I2PClient; import net.i2p.client.I2PSessionException; import net.i2p.data.Base64; import net.i2p.data.DataFormatException; @@ -253,6 +254,11 @@ public class SAMv1Handler extends SAMHandler implements SAMRawReceiver, SAMDatag } props.remove("STYLE"); + // Unconditionally override what the client may have set + // (iMule sets BestEffort) as None is more efficient + // and the client has no way to access delivery notifications + props.setProperty(I2PClient.PROP_RELIABILITY, I2PClient.PROP_RELIABILITY_NONE); + if (style.equals("RAW")) { rawSession = new SAMRawSession(destKeystream, props, this); } else if (style.equals("DATAGRAM")) { diff --git a/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java b/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java index 2612218d8e..ab979cae1e 100644 --- a/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java +++ b/apps/sam/java/src/net/i2p/sam/SAMv3Handler.java @@ -26,6 +26,7 @@ import java.util.HashMap; import java.util.StringTokenizer; import net.i2p.I2PException; +import net.i2p.client.I2PClient; import net.i2p.client.I2PSessionException; import net.i2p.data.Base64; import net.i2p.data.DataFormatException; @@ -514,7 +515,10 @@ public class SAMv3Handler extends SAMv1Handler } props.remove("STYLE"); - + // Unconditionally override what the client may have set + // (iMule sets BestEffort) as None is more efficient + // and the client has no way to access delivery notifications + i2cpProps.setProperty(I2PClient.PROP_RELIABILITY, I2PClient.PROP_RELIABILITY_NONE); // Record the session in the database sSessionsHash Properties allProps = new Properties(); -- GitLab