diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2005-09-09 12:31:37 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2005-09-09 12:31:37 +0000 |
commit | e5b38e22e9ab7bc537e41ca083caa752b29cc47c (patch) | |
tree | 351dbdb1fc250e1f7f9c76864ed1a4946b291ce2 /java/src/Ice/ConnectionI.java | |
parent | Bug 430: udp close on transient exceptions (diff) | |
download | ice-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.java | 39 |
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); |