From db029b4b8a3167c39ca3ee50df86d1c232ff3f52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-R=C3=A9mi=20Desjardins?= Date: Tue, 5 Aug 2014 13:07:40 -0700 Subject: [PATCH 1/2] Acknowledge TCP shutdown on ConnectionClosed --- project/Rediscala.scala | 2 +- src/main/scala/redis/actors/RedisWorkerIO.scala | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/project/Rediscala.scala b/project/Rediscala.scala index 11393177..1b8aa567 100644 --- a/project/Rediscala.scala +++ b/project/Rediscala.scala @@ -39,7 +39,7 @@ object Dependencies { object RediscalaBuild extends Build { val baseSourceUrl = "https://github.com/etaty/rediscala/tree/" - val v = "1.3.1" + val v = "1.3.2-SNAPSHOT" lazy val standardSettings = Defaults.defaultSettings ++ Seq( diff --git a/src/main/scala/redis/actors/RedisWorkerIO.scala b/src/main/scala/redis/actors/RedisWorkerIO.scala index b9334544..701f9cec 100644 --- a/src/main/scala/redis/actors/RedisWorkerIO.scala +++ b/src/main/scala/redis/actors/RedisWorkerIO.scala @@ -84,6 +84,7 @@ abstract class RedisWorkerIO(val address: InetSocketAddress) extends Actor with case a: InetSocketAddress => onAddressChanged(a) case c: ConnectionClosed => { if(sender == tcpWorker) + tcpWorker ! ConfirmedClose // close the sending direction of the connection (TCP FIN) onConnectionClosed(c) else onClosingConnectionClosed() From ec0d29305bac1e7824b5b78434feefb81366f70b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-R=C3=A9mi=20Desjardins?= Date: Tue, 5 Aug 2014 15:48:16 -0700 Subject: [PATCH 2/2] Fix stupid compile error I had originally made the one-liner fix somewhere else but had deemed it more appropriate to put the line where I put it. I had forgotten to make sure it still compiled. --- src/main/scala/redis/actors/RedisWorkerIO.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/scala/redis/actors/RedisWorkerIO.scala b/src/main/scala/redis/actors/RedisWorkerIO.scala index 701f9cec..64079fe0 100644 --- a/src/main/scala/redis/actors/RedisWorkerIO.scala +++ b/src/main/scala/redis/actors/RedisWorkerIO.scala @@ -83,9 +83,10 @@ abstract class RedisWorkerIO(val address: InetSocketAddress) extends Actor with } case a: InetSocketAddress => onAddressChanged(a) case c: ConnectionClosed => { - if(sender == tcpWorker) + if(sender == tcpWorker) { tcpWorker ! ConfirmedClose // close the sending direction of the connection (TCP FIN) onConnectionClosed(c) + } else onClosingConnectionClosed() }