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