summaryrefslogtreecommitdiff
path: root/java/src/Ice/ConnectionI.java
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2005-09-09 12:31:37 +0000
committerDwayne Boone <dwayne@zeroc.com>2005-09-09 12:31:37 +0000
commite5b38e22e9ab7bc537e41ca083caa752b29cc47c (patch)
tree351dbdb1fc250e1f7f9c76864ed1a4946b291ce2 /java/src/Ice/ConnectionI.java
parentBug 430: udp close on transient exceptions (diff)
downloadice-e5b38e22e9ab7bc537e41ca083caa752b29cc47c.tar.bz2
ice-e5b38e22e9ab7bc537e41ca083caa752b29cc47c.tar.xz
ice-e5b38e22e9ab7bc537e41ca083caa752b29cc47c.zip
bug 430: udp close on transient exceptions
Diffstat (limited to 'java/src/Ice/ConnectionI.java')
-rw-r--r--java/src/Ice/ConnectionI.java39
1 files changed, 35 insertions, 4 deletions
diff --git a/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java
index bb2683af69e..9ac68f68e65 100644
--- a/java/src/Ice/ConnectionI.java
+++ b/java/src/Ice/ConnectionI.java
@@ -1800,9 +1800,12 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
case IceInternal.Protocol.closeConnectionMsg:
{
IceInternal.TraceUtil.traceHeader("received close connection", info.stream, _logger, _traceLevels);
- if(_endpoint.datagram() && _warn)
+ if(_endpoint.datagram())
{
- _logger.warning("ignoring close connection message for datagram connection:\n" + _desc);
+ if(_warn)
+ {
+ _logger.warning("ignoring close connection message for datagram connection:\n" + _desc);
+ }
}
else
{
@@ -1896,10 +1899,24 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
}
}
}
- catch(LocalException ex)
+ catch(SocketException ex)
{
setState(StateClosed, ex);
}
+ catch(LocalException ex)
+ {
+ if(_endpoint.datagram())
+ {
+ if(_warn)
+ {
+ _logger.warning("udp connection exception:\n" + ex + _desc);
+ }
+ }
+ else
+ {
+ setState(StateClosed, ex);
+ }
+ }
}
private void
@@ -2157,10 +2174,24 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne
{
continue;
}
- catch(LocalException ex)
+ catch(SocketException ex)
{
exception(ex);
}
+ catch(LocalException ex)
+ {
+ if(_endpoint.datagram())
+ {
+ if(_warn)
+ {
+ _logger.warning("udp connection exception:\n" + ex + _desc);
+ }
+ }
+ else
+ {
+ exception(ex);
+ }
+ }
MessageInfo info = new MessageInfo(stream);