Skip to content

Commit

Permalink
UNDERTOW-718 Add ability to get connection statistics from the Undert…
Browse files Browse the repository at this point in the history
…ow builder
  • Loading branch information
stuartwdouglas committed May 30, 2016
1 parent dbd1693 commit f8a0997
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions core/src/main/java/io/undertow/Undertow.java
Expand Up @@ -19,8 +19,10 @@
package io.undertow; package io.undertow;


import io.undertow.protocols.ssl.UndertowXnioSsl; import io.undertow.protocols.ssl.UndertowXnioSsl;
import io.undertow.server.ConnectorStatistics;
import io.undertow.server.DefaultByteBufferPool; import io.undertow.server.DefaultByteBufferPool;
import io.undertow.server.HttpHandler; import io.undertow.server.HttpHandler;
import io.undertow.server.OpenListener;
import io.undertow.server.protocol.ajp.AjpOpenListener; import io.undertow.server.protocol.ajp.AjpOpenListener;
import io.undertow.server.protocol.http.AlpnOpenListener; import io.undertow.server.protocol.http.AlpnOpenListener;
import io.undertow.server.protocol.http.HttpOpenListener; import io.undertow.server.protocol.http.HttpOpenListener;
Expand Down Expand Up @@ -150,7 +152,7 @@ public synchronized void start() {
AcceptingChannel<? extends StreamConnection> server = worker.createStreamConnectionServer(new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), acceptListener, socketOptions); AcceptingChannel<? extends StreamConnection> server = worker.createStreamConnectionServer(new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), acceptListener, socketOptions);
server.resumeAccepts(); server.resumeAccepts();
channels.add(server); channels.add(server);
listenerInfo.add(new ListenerInfo("ajp", server.getLocalAddress(), null)); listenerInfo.add(new ListenerInfo("ajp", server.getLocalAddress(), null, openListener));
} else { } else {
OptionMap undertowOptions = OptionMap.builder().set(UndertowOptions.BUFFER_PIPELINED_DATA, true).addAll(serverOptions).getMap(); OptionMap undertowOptions = OptionMap.builder().set(UndertowOptions.BUFFER_PIPELINED_DATA, true).addAll(serverOptions).getMap();
if (listener.type == ListenerType.HTTP) { if (listener.type == ListenerType.HTTP) {
Expand All @@ -160,9 +162,9 @@ public synchronized void start() {
AcceptingChannel<? extends StreamConnection> server = worker.createStreamConnectionServer(new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), acceptListener, socketOptions); AcceptingChannel<? extends StreamConnection> server = worker.createStreamConnectionServer(new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), acceptListener, socketOptions);
server.resumeAccepts(); server.resumeAccepts();
channels.add(server); channels.add(server);
listenerInfo.add(new ListenerInfo("http", server.getLocalAddress(), null)); listenerInfo.add(new ListenerInfo("http", server.getLocalAddress(), null, openListener));
} else if (listener.type == ListenerType.HTTPS) { } else if (listener.type == ListenerType.HTTPS) {
ChannelListener<StreamConnection> openListener; OpenListener openListener;


HttpOpenListener httpOpenListener = new HttpOpenListener(buffers, undertowOptions); HttpOpenListener httpOpenListener = new HttpOpenListener(buffers, undertowOptions);
httpOpenListener.setRootHandler(rootHandler); httpOpenListener.setRootHandler(rootHandler);
Expand Down Expand Up @@ -196,7 +198,7 @@ public synchronized void start() {
AcceptingChannel<SslConnection> sslServer = xnioSsl.createSslConnectionServer(worker, new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), (ChannelListener) acceptListener, socketOptions); AcceptingChannel<SslConnection> sslServer = xnioSsl.createSslConnectionServer(worker, new InetSocketAddress(Inet4Address.getByName(listener.host), listener.port), (ChannelListener) acceptListener, socketOptions);
sslServer.resumeAccepts(); sslServer.resumeAccepts();
channels.add(sslServer); channels.add(sslServer);
listenerInfo.add(new ListenerInfo("https", sslServer.getLocalAddress(), listener.sslContext)); listenerInfo.add(new ListenerInfo("https", sslServer.getLocalAddress(), listener.sslContext, openListener));
} }
} }


Expand Down Expand Up @@ -428,11 +430,13 @@ public static class ListenerInfo {
private final String protcol; private final String protcol;
private final SocketAddress address; private final SocketAddress address;
private final SSLContext sslContext; private final SSLContext sslContext;
private final OpenListener openListener;


public ListenerInfo(String protcol, SocketAddress address, SSLContext sslContext) { public ListenerInfo(String protcol, SocketAddress address, SSLContext sslContext, OpenListener openListener) {
this.protcol = protcol; this.protcol = protcol;
this.address = address; this.address = address;
this.sslContext = sslContext; this.sslContext = sslContext;
this.openListener = openListener;
} }


public String getProtcol() { public String getProtcol() {
Expand All @@ -447,6 +451,10 @@ public SSLContext getSslContext() {
return sslContext; return sslContext;
} }


public ConnectorStatistics getConnectorStatistics() {
return openListener.getConnectorStatistics();
}

@Override @Override
public String toString() { public String toString() {
return "ListenerInfo{" + return "ListenerInfo{" +
Expand Down

0 comments on commit f8a0997

Please sign in to comment.