From 930f5e0b09f9dbb3054c3ea72fd77b981110f4f2 Mon Sep 17 00:00:00 2001 From: Simone Bordet Date: Fri, 8 Sep 2017 09:56:24 +0200 Subject: [PATCH] Rearranged inner classes at the end of the file. --- .../org/eclipse/jetty/io/ManagedSelector.java | 233 +++++++++--------- 1 file changed, 116 insertions(+), 117 deletions(-) diff --git a/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java b/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java index 3e8ed885b3e..7f1db1f16d4 100644 --- a/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java +++ b/jetty-io/src/main/java/org/eclipse/jetty/io/ManagedSelector.java @@ -79,6 +79,11 @@ public class ManagedSelector extends ContainerLifeCycle implements Dumpable setStopTimeout(5000); } + public Selector getSelector() + { + return _selector; + } + @Override protected void doStart() throws Exception { @@ -140,6 +145,116 @@ public class ManagedSelector extends ContainerLifeCycle implements Dumpable selector.wakeup(); } + private Runnable processConnect(SelectionKey key, final Connect connect) + { + SelectableChannel channel = key.channel(); + try + { + key.attach(connect.attachment); + boolean connected = _selectorManager.doFinishConnect(channel); + if (LOG.isDebugEnabled()) + LOG.debug("Connected {} {}", connected, channel); + if (connected) + { + if (connect.timeout.cancel()) + { + key.interestOps(0); + return new CreateEndPoint(channel, key) + { + @Override + protected void failed(Throwable failure) + { + super.failed(failure); + connect.failed(failure); + } + }; + } + else + { + throw new SocketTimeoutException("Concurrent Connect Timeout"); + } + } + else + { + throw new ConnectException(); + } + } + catch (Throwable x) + { + connect.failed(x); + return null; + } + } + + private void closeNoExceptions(Closeable closeable) + { + try + { + if (closeable != null) + closeable.close(); + } + catch (Throwable x) + { + LOG.ignore(x); + } + } + + private EndPoint createEndPoint(SelectableChannel channel, SelectionKey selectionKey) throws IOException + { + EndPoint endPoint = _selectorManager.newEndPoint(channel, this, selectionKey); + endPoint.onOpen(); + _selectorManager.endPointOpened(endPoint); + Connection connection = _selectorManager.newConnection(channel, endPoint, selectionKey.attachment()); + endPoint.setConnection(connection); + selectionKey.attach(endPoint); + _selectorManager.connectionOpened(connection); + if (LOG.isDebugEnabled()) + LOG.debug("Created {}", endPoint); + return endPoint; + } + + public void destroyEndPoint(final EndPoint endPoint) + { + submit(new DestroyEndPoint(endPoint)); + } + + @Override + public String dump() + { + super.dump(); + return ContainerLifeCycle.dump(this); + } + + @Override + public void dump(Appendable out, String indent) throws IOException + { + Selector selector = _selector; + if (selector == null || !selector.isOpen()) + dumpBeans(out, indent); + else + { + final ArrayList dump = new ArrayList<>(selector.keys().size() * 2); + DumpKeys dumpKeys = new DumpKeys(dump); + submit(dumpKeys); + dumpKeys.await(5, TimeUnit.SECONDS); + if (dump.isEmpty()) + dumpBeans(out, indent); + else + dumpBeans(out, indent, dump); + } + } + + @Override + public String toString() + { + Selector selector = _selector; + return String.format("%s id=%s keys=%d selected=%d", + super.toString(), + _id, + selector != null && selector.isOpen() ? selector.keys().size() : -1, + selector != null && selector.isOpen() ? selector.selectedKeys().size() : -1); + } + /** * A {@link Selectable} is an {@link EndPoint} that wish to be * notified of non-blocking events by the {@link ManagedSelector}. @@ -161,7 +276,6 @@ public class ManagedSelector extends ContainerLifeCycle implements Dumpable void updateKey(); } - private class SelectorProducer implements ExecutionStrategy.Producer { private Set _keys = Collections.emptySet(); @@ -331,7 +445,7 @@ public class ManagedSelector extends ContainerLifeCycle implements Dumpable return String.format("%s@%x", getClass().getSimpleName(), hashCode()); } } - + private abstract static class NonBlockingAction implements Runnable, Invocable { @Override @@ -341,116 +455,6 @@ public class ManagedSelector extends ContainerLifeCycle implements Dumpable } } - private Runnable processConnect(SelectionKey key, final Connect connect) - { - SelectableChannel channel = key.channel(); - try - { - key.attach(connect.attachment); - boolean connected = _selectorManager.doFinishConnect(channel); - if (LOG.isDebugEnabled()) - LOG.debug("Connected {} {}", connected, channel); - if (connected) - { - if (connect.timeout.cancel()) - { - key.interestOps(0); - return new CreateEndPoint(channel, key) - { - @Override - protected void failed(Throwable failure) - { - super.failed(failure); - connect.failed(failure); - } - }; - } - else - { - throw new SocketTimeoutException("Concurrent Connect Timeout"); - } - } - else - { - throw new ConnectException(); - } - } - catch (Throwable x) - { - connect.failed(x); - return null; - } - } - - private void closeNoExceptions(Closeable closeable) - { - try - { - if (closeable != null) - closeable.close(); - } - catch (Throwable x) - { - LOG.ignore(x); - } - } - - private EndPoint createEndPoint(SelectableChannel channel, SelectionKey selectionKey) throws IOException - { - EndPoint endPoint = _selectorManager.newEndPoint(channel, this, selectionKey); - endPoint.onOpen(); - _selectorManager.endPointOpened(endPoint); - Connection connection = _selectorManager.newConnection(channel, endPoint, selectionKey.attachment()); - endPoint.setConnection(connection); - selectionKey.attach(endPoint); - _selectorManager.connectionOpened(connection); - if (LOG.isDebugEnabled()) - LOG.debug("Created {}", endPoint); - return endPoint; - } - - public void destroyEndPoint(final EndPoint endPoint) - { - submit(new DestroyEndPoint(endPoint)); - } - - @Override - public String dump() - { - super.dump(); - return ContainerLifeCycle.dump(this); - } - - @Override - public void dump(Appendable out, String indent) throws IOException - { - Selector selector = _selector; - if (selector == null || !selector.isOpen()) - dumpBeans(out, indent); - else - { - final ArrayList dump = new ArrayList<>(selector.keys().size() * 2); - DumpKeys dumpKeys = new DumpKeys(dump); - submit(dumpKeys); - dumpKeys.await(5, TimeUnit.SECONDS); - if (dump.isEmpty()) - dumpBeans(out, indent); - else - dumpBeans(out, indent, dump); - } - } - - @Override - public String toString() - { - Selector selector = _selector; - return String.format("%s id=%s keys=%d selected=%d", - super.toString(), - _id, - selector != null && selector.isOpen() ? selector.keys().size() : -1, - selector != null && selector.isOpen() ? selector.selectedKeys().size() : -1); - } - private class DumpKeys implements Runnable { private final CountDownLatch latch = new CountDownLatch(1); @@ -791,11 +795,6 @@ public class ManagedSelector extends ContainerLifeCycle implements Dumpable } } - public Selector getSelector() - { - return _selector; - } - private class DestroyEndPoint extends NonBlockingAction { private final EndPoint endPoint;