From 2a07ceba62982e28c134bcd6fc6b59d373287adc Mon Sep 17 00:00:00 2001 From: jrandom Date: Sun, 20 Jun 2004 01:49:07 +0000 Subject: [PATCH] a message send failure is no reason to drop the SAM session for style=stream, tell the client the stream failed, and kill the virtual connection.. for raw and repliable datagrams, just carry on our merry way --- apps/sam/java/src/net/i2p/sam/SAMv1Handler.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java b/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java index ea41f5d3a..7d7074f4e 100644 --- a/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java +++ b/apps/sam/java/src/net/i2p/sam/SAMv1Handler.java @@ -392,7 +392,7 @@ public class SAMv1Handler extends SAMHandler implements SAMRawReceiver, SAMDatag if (!datagramSession.sendBytes(dest, data)) { _log.error("DATAGRAM SEND failed"); - return false; + return true; } return true; @@ -463,7 +463,7 @@ public class SAMv1Handler extends SAMHandler implements SAMRawReceiver, SAMDatag if (!rawSession.sendBytes(dest, data)) { _log.error("RAW SEND failed"); - return false; + return true; } return true; @@ -556,7 +556,9 @@ public class SAMv1Handler extends SAMHandler implements SAMRawReceiver, SAMDatag if (!streamSession.sendBytes(id, data)) { _log.error("STREAM SEND failed"); - return false; + boolean rv = writeString("STREAM CLOSED RESULT=CANT_REACH_PEER ID=" + id + " MESSAGE=\"Send of " + size + " bytes failed\"\n"); + streamSession.closeConnection(id); + return rv; } return true;