diff options
Diffstat (limited to 'java/src/IceInternal/TcpAcceptor.java')
-rw-r--r-- | java/src/IceInternal/TcpAcceptor.java | 210 |
1 files changed, 105 insertions, 105 deletions
diff --git a/java/src/IceInternal/TcpAcceptor.java b/java/src/IceInternal/TcpAcceptor.java index b34f11e7505..2e94912e525 100644 --- a/java/src/IceInternal/TcpAcceptor.java +++ b/java/src/IceInternal/TcpAcceptor.java @@ -28,13 +28,13 @@ class TcpAcceptor implements Acceptor java.nio.channels.ServerSocketChannel fd; java.nio.channels.Selector selector; - synchronized(this) - { - fd = _fd; - selector = _selector; - _fd = null; - _selector = null; - } + synchronized(this) + { + fd = _fd; + selector = _selector; + _fd = null; + _selector = null; + } if(fd != null) { try @@ -46,17 +46,17 @@ class TcpAcceptor implements Acceptor // Ignore. } } - if(selector != null) - { - try - { - selector.close(); - } - catch(java.io.IOException ex) - { - // Ignore. - } - } + if(selector != null) + { + try + { + selector.close(); + } + catch(java.io.IOException ex) + { + // Ignore. + } + } } public void @@ -74,84 +74,84 @@ class TcpAcceptor implements Acceptor public Transceiver accept(int timeout) { - java.nio.channels.SocketChannel fd = null; - while(fd == null) - { - try - { - fd = _fd.accept(); - if(fd == null) - { - if(_selector == null) - { - _selector = java.nio.channels.Selector.open(); - } - - while(true) - { - try - { - java.nio.channels.SelectionKey key = - _fd.register(_selector, java.nio.channels.SelectionKey.OP_ACCEPT); - if(timeout > 0) - { - if(_selector.select(timeout) == 0) - { - throw new Ice.TimeoutException(); - } - } - else if(timeout == 0) - { - if(_selector.selectNow() == 0) - { - throw new Ice.TimeoutException(); - } - } - else - { - _selector.select(); - } - - break; - } - catch(java.io.IOException ex) - { - if(Network.interrupted(ex)) - { - continue; - } - Ice.SocketException se = new Ice.SocketException(); - se.initCause(ex); - throw se; - } - } - } - } - catch(java.io.IOException ex) - { - if(Network.interrupted(ex)) - { - continue; - } - Ice.SocketException se = new Ice.SocketException(); - se.initCause(ex); - throw se; - } - } - - Network.setBlock(fd, false); - try - { - java.net.Socket socket = fd.socket(); - socket.setTcpNoDelay(true); - socket.setKeepAlive(true); - } - catch(java.io.IOException ex) - { - Ice.SocketException se = new Ice.SocketException(); - se.initCause(ex); - throw se; - } + java.nio.channels.SocketChannel fd = null; + while(fd == null) + { + try + { + fd = _fd.accept(); + if(fd == null) + { + if(_selector == null) + { + _selector = java.nio.channels.Selector.open(); + } + + while(true) + { + try + { + java.nio.channels.SelectionKey key = + _fd.register(_selector, java.nio.channels.SelectionKey.OP_ACCEPT); + if(timeout > 0) + { + if(_selector.select(timeout) == 0) + { + throw new Ice.TimeoutException(); + } + } + else if(timeout == 0) + { + if(_selector.selectNow() == 0) + { + throw new Ice.TimeoutException(); + } + } + else + { + _selector.select(); + } + + break; + } + catch(java.io.IOException ex) + { + if(Network.interrupted(ex)) + { + continue; + } + Ice.SocketException se = new Ice.SocketException(); + se.initCause(ex); + throw se; + } + } + } + } + catch(java.io.IOException ex) + { + if(Network.interrupted(ex)) + { + continue; + } + Ice.SocketException se = new Ice.SocketException(); + se.initCause(ex); + throw se; + } + } + + Network.setBlock(fd, false); + try + { + java.net.Socket socket = fd.socket(); + socket.setTcpNoDelay(true); + socket.setKeepAlive(true); + } + catch(java.io.IOException ex) + { + Ice.SocketException se = new Ice.SocketException(); + se.initCause(ex); + throw se; + } if(_traceLevels.network >= 1) { @@ -165,10 +165,10 @@ class TcpAcceptor implements Acceptor public void connectToSelf() { - java.nio.channels.SocketChannel fd = Network.createTcpSocket(); - Network.setBlock(fd, false); - Network.doConnect(fd, _addr, -1); - Network.closeSocket(fd); + java.nio.channels.SocketChannel fd = Network.createTcpSocket(); + Network.setBlock(fd, false); + Network.doConnect(fd, _addr, -1); + Network.closeSocket(fd); } public String @@ -207,11 +207,11 @@ class TcpAcceptor implements Acceptor _fd = Network.createTcpServerSocket(); Network.setBlock(_fd, false); _addr = new java.net.InetSocketAddress(host, port); - if(_traceLevels.network >= 2) - { - String s = "attempting to bind to tcp socket " + toString(); - _logger.trace(_traceLevels.networkCat, s); - } + if(_traceLevels.network >= 2) + { + String s = "attempting to bind to tcp socket " + toString(); + _logger.trace(_traceLevels.networkCat, s); + } _addr = Network.doBind(_fd, _addr); } catch(RuntimeException ex) |