diff options
author | Mark Spruiell <mes@zeroc.com> | 2008-05-22 13:26:41 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2008-05-22 13:26:41 -0700 |
commit | 9730c27ff9926df98ae3b41617a2a5bf10a14ca9 (patch) | |
tree | bb779ab906fc6eb637211b37e7f379ad0e809e19 /java/src | |
parent | Fix #2 for bug 3224 - Fixed bogus absolute paths from headers generated by sl... (diff) | |
download | ice-9730c27ff9926df98ae3b41617a2a5bf10a14ca9.tar.bz2 ice-9730c27ff9926df98ae3b41617a2a5bf10a14ca9.tar.xz ice-9730c27ff9926df98ae3b41617a2a5bf10a14ca9.zip |
bug 3179 - improved error handling in IceJ, IceJE
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/IceInternal/Network.java | 43 | ||||
-rw-r--r-- | java/src/IceInternal/TcpTransceiver.java | 9 | ||||
-rw-r--r-- | java/src/IceInternal/UdpTransceiver.java | 9 | ||||
-rw-r--r-- | java/src/IceSSL/TransceiverI.java | 29 |
4 files changed, 10 insertions, 80 deletions
diff --git a/java/src/IceInternal/Network.java b/java/src/IceInternal/Network.java index 36cad790163..e1de5ed1960 100644 --- a/java/src/IceInternal/Network.java +++ b/java/src/IceInternal/Network.java @@ -17,45 +17,6 @@ public final class Network public final static int EnableBoth = 2; public static boolean - connectionLost(java.io.IOException ex) - { - // - // TODO: The JDK raises a generic IOException for certain - // cases of connection loss. Unfortunately, our only choice is - // to search the exception message for distinguishing phrases. - // - String msg = ex.getMessage(); - if(msg != null) - { - msg = msg.toLowerCase(); - - final String[] msgs = - { - "connection reset by peer", // ECONNRESET - "cannot send after socket shutdown", // ESHUTDOWN (Win32) - "cannot send after transport endpoint shutdown", // ESHUTDOWN (Linux) - "software caused connection abort", // ECONNABORTED - "an existing connection was forcibly closed", // unknown - "connection closed by remote host", // unknown - "an established connection was aborted by the software in your host machine", // unknown (Win32) - "broken pipe", // EPIPE - "there is no process to read data written to a pipe", // EPIPE? (AIX JDK 1.4.2) - "socket is closed" // unknown (AIX JDK 1.4.2) - }; - - for(int i = 0; i < msgs.length; i++) - { - if(msg.indexOf(msgs[i]) != -1) - { - return true; - } - } - } - - return false; - } - - public static boolean connectionRefused(java.net.ConnectException ex) { // @@ -1158,9 +1119,7 @@ public final class Network public static boolean interrupted(java.io.IOException ex) { - return ex instanceof java.io.InterruptedIOException || - ex.getMessage().indexOf("Interrupted system call") >= 0 || - ex.getMessage().indexOf("A system call received an interrupt") >= 0; // AIX JDK 1.4.2 + return ex instanceof java.io.InterruptedIOException; } private static java.net.InetSocketAddress diff --git a/java/src/IceInternal/TcpTransceiver.java b/java/src/IceInternal/TcpTransceiver.java index 548f2c3a94b..d258ac02825 100644 --- a/java/src/IceInternal/TcpTransceiver.java +++ b/java/src/IceInternal/TcpTransceiver.java @@ -198,14 +198,7 @@ final class TcpTransceiver implements Transceiver } catch(java.io.IOException ex) { - if(Network.connectionLost(ex)) - { - Ice.ConnectionLostException se = new Ice.ConnectionLostException(); - se.initCause(ex); - throw se; - } - - Ice.SocketException se = new Ice.SocketException(); + Ice.ConnectionLostException se = new Ice.ConnectionLostException(); se.initCause(ex); throw se; } diff --git a/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java index 84aef93ffb8..463dbcafa25 100644 --- a/java/src/IceInternal/UdpTransceiver.java +++ b/java/src/IceInternal/UdpTransceiver.java @@ -187,14 +187,7 @@ final class UdpTransceiver implements Transceiver } catch(java.io.IOException ex) { - if(Network.connectionLost(ex)) - { - Ice.ConnectionLostException se = new Ice.ConnectionLostException(); - se.initCause(ex); - throw se; - } - - Ice.SocketException se = new Ice.SocketException(); + Ice.ConnectionLostException se = new Ice.ConnectionLostException(); se.initCause(ex); throw se; } diff --git a/java/src/IceSSL/TransceiverI.java b/java/src/IceSSL/TransceiverI.java index 3ef8a5c63d7..5ffa88744a2 100644 --- a/java/src/IceSSL/TransceiverI.java +++ b/java/src/IceSSL/TransceiverI.java @@ -85,8 +85,8 @@ final class TransceiverI implements IceInternal.Transceiver try { // - // Note: we can't block to send the close_notify message. In some cases, the - // close_notify message might therefore not be receieved by the peer. This is + // Note: we can't block to send the close_notify message. In some cases, the + // close_notify message might therefore not be receieved by the peer. This is // not a big issue since the Ice protocol isn't subject to truncation attacks. // flushNonBlocking(); @@ -160,8 +160,8 @@ final class TransceiverI implements IceInternal.Transceiver read(IceInternal.Buffer buf, Ice.BooleanHolder moreData) { // - // If the handshake isn't completed yet, we shouldn't be reading (read can be - // called by the thread pool when the connection is registered/unregistered + // If the handshake isn't completed yet, we shouldn't be reading (read can be + // called by the thread pool when the connection is registered/unregistered // with the pool to be closed). // if(_state < StateHandshakeComplete) @@ -471,7 +471,7 @@ final class TransceiverI implements IceInternal.Transceiver // if(!_incoming) { - int verifyPeer = + int verifyPeer = _instance.communicator().getProperties().getPropertyAsIntWithDefault("IceSSL.VerifyPeer", 2); if(verifyPeer > 0) { @@ -652,14 +652,7 @@ final class TransceiverI implements IceInternal.Transceiver } catch(java.io.IOException ex) { - if(IceInternal.Network.connectionLost(ex)) - { - Ice.ConnectionLostException se = new Ice.ConnectionLostException(); - se.initCause(ex); - throw se; - } - - Ice.SocketException se = new Ice.SocketException(); + Ice.ConnectionLostException se = new Ice.ConnectionLostException(); se.initCause(ex); throw se; } @@ -678,7 +671,6 @@ final class TransceiverI implements IceInternal.Transceiver return status; } - private IceInternal.SocketStatus readNonBlocking() { @@ -706,14 +698,7 @@ final class TransceiverI implements IceInternal.Transceiver } catch(java.io.IOException ex) { - if(IceInternal.Network.connectionLost(ex)) - { - Ice.ConnectionLostException se = new Ice.ConnectionLostException(); - se.initCause(ex); - throw se; - } - - Ice.SocketException se = new Ice.SocketException(); + Ice.ConnectionLostException se = new Ice.ConnectionLostException(); se.initCause(ex); throw se; } |