diff options
author | Simone Bordet | 2012-09-19 09:30:32 +0000 |
---|---|---|
committer | Simone Bordet | 2012-09-19 11:37:47 +0000 |
commit | f257f4b2bb2a102462a23c16a378f6e7ecb64018 (patch) | |
tree | babc3bbeeeebcc5a55ebdfc97a4c4dbdb0a41839 /jetty-server/src/main/java/org/eclipse/jetty/server/LocalConnector.java | |
parent | 1f99d9dd64fa6e784259d149aca87e30c8a159ba (diff) | |
download | org.eclipse.jetty.project-f257f4b2bb2a102462a23c16a378f6e7ecb64018.tar.gz org.eclipse.jetty.project-f257f4b2bb2a102462a23c16a378f6e7ecb64018.tar.xz org.eclipse.jetty.project-f257f4b2bb2a102462a23c16a378f6e7ecb64018.zip |
jetty-9 - First take at open/close refactoring.
Diffstat (limited to 'jetty-server/src/main/java/org/eclipse/jetty/server/LocalConnector.java')
-rw-r--r-- | jetty-server/src/main/java/org/eclipse/jetty/server/LocalConnector.java | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/LocalConnector.java b/jetty-server/src/main/java/org/eclipse/jetty/server/LocalConnector.java index 12eeaa0de2..dfceedb1c6 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/LocalConnector.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/LocalConnector.java @@ -38,7 +38,7 @@ public class LocalConnector extends AbstractConnector { private final BlockingQueue<LocalEndPoint> _connects = new LinkedBlockingQueue<>(); - + public LocalConnector(Server server, Executor executor, Scheduler scheduler, ByteBufferPool pool, int acceptors, ConnectionFactory... factories) { super(server,executor,scheduler,pool,acceptors,factories); @@ -59,7 +59,7 @@ public class LocalConnector extends AbstractConnector { this(server, null, null, null, 0, connectionFactory); } - + public LocalConnector(Server server, ConnectionFactory connectionFactory, SslContextFactory sslContextFactory) { this(server, null, null, null, 0,AbstractConnectionFactory.getFactories(sslContextFactory,connectionFactory)); @@ -83,8 +83,7 @@ public class LocalConnector extends AbstractConnector */ public String getResponses(String requests) throws Exception { - ByteBuffer result = getResponses(BufferUtil.toBuffer(requests,StringUtil.__UTF8_CHARSET)); - return result==null?null:BufferUtil.toString(result,StringUtil.__UTF8_CHARSET); + return getResponses(requests, 5, TimeUnit.SECONDS); } /** Sends requests and get responses based on thread activity. @@ -117,7 +116,7 @@ public class LocalConnector extends AbstractConnector */ public ByteBuffer getResponses(ByteBuffer requestsBuffer) throws Exception { - return getResponses(requestsBuffer,1000,TimeUnit.MILLISECONDS); + return getResponses(requestsBuffer, 5, TimeUnit.SECONDS); } /** Sends requests and get's responses based on thread activity. @@ -135,11 +134,10 @@ public class LocalConnector extends AbstractConnector public ByteBuffer getResponses(ByteBuffer requestsBuffer,long idleFor,TimeUnit units) throws Exception { LOG.debug("requests {}", BufferUtil.toUTF8String(requestsBuffer)); - LocalEndPoint endp = new LocalEndPoint(); - endp.setInput(requestsBuffer); - _connects.add(endp); + LocalEndPoint endp = executeRequest(requestsBuffer); endp.waitUntilClosedOrIdleFor(idleFor,units); ByteBuffer responses = endp.takeOutput(); + endp.getConnection().close(); LOG.debug("responses {}", BufferUtil.toUTF8String(responses)); return responses; } @@ -152,8 +150,13 @@ public class LocalConnector extends AbstractConnector */ public LocalEndPoint executeRequest(String rawRequest) { + return executeRequest(BufferUtil.toBuffer(rawRequest,StringUtil.__UTF8_CHARSET)); + } + + private LocalEndPoint executeRequest(ByteBuffer rawRequest) + { LocalEndPoint endp = new LocalEndPoint(); - endp.setInput(BufferUtil.toBuffer(rawRequest,StringUtil.__UTF8_CHARSET)); + endp.setInput(rawRequest); _connects.add(endp); return endp; } @@ -167,7 +170,11 @@ public class LocalConnector extends AbstractConnector Connection connection = getDefaultConnectionFactory().newConnection(this, endPoint); endPoint.setConnection(connection); - connectionOpened(connection); + +// connectionOpened(connection); + for (Connection.Listener listener : getBeans(Connection.Listener.class)) + connection.addListener(listener); + connection.onOpen(); } public class LocalEndPoint extends ByteArrayEndPoint @@ -191,11 +198,12 @@ public class LocalConnector extends AbstractConnector @Override public void close() { - boolean was_open=isOpen(); + boolean wasOpen=isOpen(); super.close(); - if (was_open) + if (wasOpen) { - connectionClosed(getConnection()); +// connectionClosed(getConnection()); + getConnection().onClose(); onClose(); } } |