diff options
author | Greg Wilkins | 2015-11-06 00:17:46 +0000 |
---|---|---|
committer | Greg Wilkins | 2015-11-06 00:17:46 +0000 |
commit | 7843b7348e6bd238595d0021e1740ac7e28ba18d (patch) | |
tree | 567375d16225048f5de6d3e272cf940d5ee4e85e /jetty-websocket/websocket-client | |
parent | 64ea0db9b329d9968a8d7f065ecf908605af05a9 (diff) | |
download | org.eclipse.jetty.project-7843b7348e6bd238595d0021e1740ac7e28ba18d.tar.gz org.eclipse.jetty.project-7843b7348e6bd238595d0021e1740ac7e28ba18d.tar.xz org.eclipse.jetty.project-7843b7348e6bd238595d0021e1740ac7e28ba18d.zip |
480827 Implemented Unix Domain Socket Connector
Squashed commit of the following:
commit fbb680ba7cdb73495524ea9e5b0f49caee7f68d8
Merge: ed2550b 64ea0db
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Nov 6 10:44:00 2015 +1100
Merge branch 'master' into unix-socket
commit ed2550b50f978e1984e19fbda642baf450dbe6a1
Merge: 88d7b35 de137ab
Author: Greg Wilkins <gregw@webtide.com>
Date: Thu Nov 5 18:41:25 2015 +1100
Merge branch 'master' into unix-socket
commit 88d7b35f885de2da7dec836e6e4ae2b522d517f0
Merge: 7d4155f 3e2658a
Author: Greg Wilkins <gregw@webtide.com>
Date: Thu Nov 5 17:38:27 2015 +1100
Merge branch 'master' into unix-socket
commit 7d4155fe4a407d493683b66709bc638879b0b422
Author: Greg Wilkins <gregw@webtide.com>
Date: Thu Nov 5 17:24:48 2015 +1100
Unix socket configuration
commit 2737b19f73ad153c20e1762874558a5d62849f90
Merge: cd0cc2e 92cc44c
Author: Greg Wilkins <gregw@webtide.com>
Date: Wed Nov 4 15:13:40 2015 +1100
Merge branch 'master' into unix-socket
Conflicts:
jetty-server/src/main/java/org/eclipse/jetty/server/SecureRequestCustomizer.java
commit cd0cc2ef36a558d948bf26aff4f9e3519da2f823
Merge: 639753b 303f98e
Author: Greg Wilkins <gregw@webtide.com>
Date: Mon Nov 2 12:21:19 2015 +1100
Merge branch 'master' into unix-socket
commit 639753b5ed37778d7231acfe9d52039aed66351e
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Oct 30 15:42:58 2015 +1100
local connectors report NOIP address
commit 6d38c4195f145b99f775a06d546960b119094b0c
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Oct 30 12:11:13 2015 +1100
Gentler ssl close test
commit 40b46b66a738c9187f859d522a0165bb09b113c8
Merge: b7eb082 fa53b11
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Oct 30 11:09:42 2015 +1100
Merge branch 'master' into unix-socket
commit b7eb082be44864c058b6f01b10364013596d3650
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Oct 30 08:34:30 2015 +1100
SecureRequestCustomizer for UnixSockets
commit edbb3c080200b4c6aa2836eff6c81bf31a73a8c1
Merge: 90e8cc0 de7ac72
Author: Greg Wilkins <gregw@webtide.com>
Date: Thu Oct 29 19:47:05 2015 +1100
Merge branch 'master' into unix-socket
commit 90e8cc060ff6dc4b249818db38334ffa543f002f
Author: Greg Wilkins <gregw@webtide.com>
Date: Thu Oct 29 19:31:50 2015 +1100
use proxy connection
commit b1772ef5dcac9ddf9bb5ecda1cda6d038ca21755
Merge: e95a932 9fe7332
Author: Greg Wilkins <gregw@webtide.com>
Date: Thu Oct 29 16:46:29 2015 +1100
Merge branch 'master' into unix-socket
commit e95a932bda5a96bf98ada4fb47664790af2aa0a2
Author: Greg Wilkins <gregw@webtide.com>
Date: Wed Oct 28 15:58:25 2015 +1100
fixed config
commit f8963b2ed6b6b4b96f1d9403194c9d50ab1f12fd
Merge: 9c56b53 8b27484
Author: Greg Wilkins <gregw@webtide.com>
Date: Wed Oct 28 15:34:28 2015 +1100
Merge branch 'master' into unix-socket
commit 9c56b53cbec20d98e5cb05cf8d1f668fe84b95e0
Merge: 298a311 39768f8
Author: Greg Wilkins <gregw@webtide.com>
Date: Mon Oct 26 13:04:34 2015 +1100
Merge branch 'master' into unix-socket
commit 298a311af952ad3ef5d1c7635deabf47bddaa1c6
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Oct 23 15:24:19 2015 +1100
Async accepting
commit 8266753d124c04ec8bca8aa02be1ef3d826d6769
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Oct 23 14:45:35 2015 +1100
set acceptors
commit 6a56c5b9e19063fcb95cdc1228adf723c0d41362
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Oct 23 11:44:54 2015 +1100
licence
commit d80e5748e6c4327bae57de2af01983990dd2afe0
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Oct 23 11:24:14 2015 +1100
unixsocket work in progress adding modules
commit cf0c1153d9966cc7182ba29411527b4341c34da6
Merge: 645b671 c39bfa2
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Oct 23 08:52:01 2015 +1100
Merge branch 'master' into unix-socket
commit 645b6712d37282c26011a95c8c98e45c249b2e5f
Author: Greg Wilkins <gregw@webtide.com>
Date: Fri Oct 23 08:49:52 2015 +1100
IP headers
commit 67b210b9ea81af68ce3848a114bbbd1b80a8ca52
Author: Greg Wilkins <gregw@webtide.com>
Date: Thu Oct 22 23:48:57 2015 +1100
working with haproxy
commit e4fce9cf5d896a9a29a7c6280fcaa0336dfcc0f2
Author: Greg Wilkins <gregw@webtide.com>
Date: Thu Oct 22 18:25:09 2015 +1100
unixsocket working
commit 6f013788cad44e6641cd89720c5e7f3652cdc257
Author: Greg Wilkins <gregw@webtide.com>
Date: Thu Oct 22 15:39:55 2015 +1100
work in progress
Diffstat (limited to 'jetty-websocket/websocket-client')
2 files changed, 29 insertions, 14 deletions
diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java index 35180c4aca..a71a4a36c9 100644 --- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java +++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/io/WebSocketClientSelectorManager.java @@ -19,6 +19,7 @@ package org.eclipse.jetty.websocket.client.io; import java.io.IOException; +import java.nio.channels.SelectableChannel; import java.nio.channels.SelectionKey; import java.nio.channels.SocketChannel; import java.util.concurrent.Executor; @@ -31,6 +32,7 @@ import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.io.ManagedSelector; import org.eclipse.jetty.io.SelectChannelEndPoint; import org.eclipse.jetty.io.SelectorManager; +import org.eclipse.jetty.io.SocketChannelEndPoint; import org.eclipse.jetty.io.ssl.SslConnection; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; @@ -53,7 +55,7 @@ public class WebSocketClientSelectorManager extends SelectorManager } @Override - protected void connectionFailed(SocketChannel channel, Throwable ex, Object attachment) + protected void connectionFailed(SelectableChannel channel, Throwable ex, Object attachment) { if (LOG.isDebugEnabled()) LOG.debug("Connection Failed",ex); @@ -67,7 +69,7 @@ public class WebSocketClientSelectorManager extends SelectorManager } @Override - public Connection newConnection(final SocketChannel channel, EndPoint endPoint, final Object attachment) throws IOException + public Connection newConnection(final SelectableChannel channel, EndPoint endPoint, final Object attachment) throws IOException { if (LOG.isDebugEnabled()) LOG.debug("newConnection({},{},{})",channel,endPoint,attachment); @@ -114,24 +116,33 @@ public class WebSocketClientSelectorManager extends SelectorManager } } + @Override - protected EndPoint newEndPoint(SocketChannel channel, ManagedSelector selectSet, SelectionKey selectionKey) throws IOException + protected EndPoint newEndPoint(SelectableChannel channel, ManagedSelector selector, SelectionKey selectionKey) throws IOException { if (LOG.isDebugEnabled()) - LOG.debug("newEndPoint({}, {}, {})",channel,selectSet,selectionKey); - return new SelectChannelEndPoint(channel,selectSet,selectionKey,getScheduler(),policy.getIdleTimeout()); + LOG.debug("newEndPoint({}, {}, {})",channel,selector,selectionKey); + SocketChannelEndPoint endp = new SocketChannelEndPoint(channel, selector, selectionKey, getScheduler()); + endp.setIdleTimeout(policy.getIdleTimeout()); + return endp; } - public SSLEngine newSSLEngine(SslContextFactory sslContextFactory, SocketChannel channel) + public SSLEngine newSSLEngine(SslContextFactory sslContextFactory, SelectableChannel channel) { - String peerHost = channel.socket().getInetAddress().getHostName(); - int peerPort = channel.socket().getPort(); + String peerHost = null; + int peerPort = 0; + if (channel instanceof SocketChannel) + { + SocketChannel sc = (SocketChannel)channel; + peerHost = sc.socket().getInetAddress().getHostName(); + peerPort = sc.socket().getPort(); + } SSLEngine engine = sslContextFactory.newSSLEngine(peerHost,peerPort); engine.setUseClientMode(true); return engine; } - public UpgradeConnection newUpgradeConnection(SocketChannel channel, EndPoint endPoint, ConnectPromise connectPromise) + public UpgradeConnection newUpgradeConnection(SelectableChannel channel, EndPoint endPoint, ConnectPromise connectPromise) { WebSocketClient client = connectPromise.getClient(); Executor executor = client.getExecutor(); diff --git a/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientCloseTest.java b/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientCloseTest.java index 2cbc3ab747..68079c385c 100644 --- a/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientCloseTest.java +++ b/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientCloseTest.java @@ -23,6 +23,7 @@ import static org.hamcrest.Matchers.*; import java.io.IOException; import java.lang.reflect.Field; import java.nio.ByteBuffer; +import java.nio.channels.SelectableChannel; import java.nio.channels.SelectionKey; import java.nio.channels.SocketChannel; import java.util.Arrays; @@ -37,6 +38,7 @@ import org.eclipse.jetty.io.EndPoint; import org.eclipse.jetty.io.EofException; import org.eclipse.jetty.io.ManagedSelector; import org.eclipse.jetty.io.SelectChannelEndPoint; +import org.eclipse.jetty.io.SocketChannelEndPoint; import org.eclipse.jetty.toolchain.test.EventQueue; import org.eclipse.jetty.toolchain.test.TestTracker; import org.eclipse.jetty.util.BufferUtil; @@ -283,19 +285,21 @@ public class ClientCloseTest } @Override - protected EndPoint newEndPoint(SocketChannel channel, ManagedSelector selectSet, SelectionKey selectionKey) throws IOException + protected EndPoint newEndPoint(SelectableChannel channel, ManagedSelector selectSet, SelectionKey selectionKey) throws IOException { - return new TestEndPoint(channel,selectSet,selectionKey,getScheduler(),getPolicy().getIdleTimeout()); + TestEndPoint endp = new TestEndPoint(channel,selectSet,selectionKey,getScheduler()); + endp.setIdleTimeout(getPolicy().getIdleTimeout()); + return endp; } } - public static class TestEndPoint extends SelectChannelEndPoint + public static class TestEndPoint extends SocketChannelEndPoint { public AtomicBoolean congestedFlush = new AtomicBoolean(false); - public TestEndPoint(SocketChannel channel, ManagedSelector selector, SelectionKey key, Scheduler scheduler, long idleTimeout) + public TestEndPoint(SelectableChannel channel, ManagedSelector selector, SelectionKey key, Scheduler scheduler) { - super(channel,selector,key,scheduler,idleTimeout); + super((SocketChannel)channel,selector,key,scheduler); } @Override |